#include <CellBasedSimulationWithPdesAssembler.hpp>


Public Member Functions | |
| CellBasedSimulationWithPdesAssembler (TetrahedralMesh< DIM, DIM > *pMesh, AbstractLinearEllipticPde< DIM, DIM > *pPde, BoundaryConditionsContainer< DIM, DIM, 1 > *pBoundaryConditions, unsigned numQuadPoints=2) | |
| ~CellBasedSimulationWithPdesAssembler () | |
Protected Member Functions | |
| virtual c_vector< double, 1 *(DIM+1)> | ComputeVectorTerm (c_vector< double, DIM+1 > &rPhi, c_matrix< double, DIM, DIM+1 > &rGradPhi, ChastePoint< DIM > &rX, c_vector< double, 1 > &rU, c_matrix< double, 1, DIM > &rGradU, Element< DIM, DIM > *pElement) |
| virtual c_matrix< double, 1 *(DIM+1), 1 *(DIM+1)> | ComputeMatrixTerm (c_vector< double, DIM+1 > &rPhi, c_matrix< double, DIM, DIM+1 > &rGradPhi, ChastePoint< DIM > &rX, c_vector< double, 1 > &rU, c_matrix< double, 1, DIM > &rGradU, Element< DIM, DIM > *pElement) |
| void | ResetInterpolatedQuantities () |
| void | IncrementInterpolatedQuantities (double phiI, const Node< DIM > *pNode) |
| void | InitialiseForSolve (Vec initialSolution) |
Private Attributes | |
| double | mConstantInUSourceTerm |
| double | mLinearInUCoeffInSourceTerm |
This is a purpose made elliptic assembler that interpolates the source terms from node onto Gauss points, as for a cell-based simulation with PDEs the source will only be known at the cells (nodes), not the Gauss points.
Definition at line 47 of file CellBasedSimulationWithPdesAssembler.hpp.
| CellBasedSimulationWithPdesAssembler< DIM >::CellBasedSimulationWithPdesAssembler | ( | TetrahedralMesh< DIM, DIM > * | pMesh, | |
| AbstractLinearEllipticPde< DIM, DIM > * | pPde, | |||
| BoundaryConditionsContainer< DIM, DIM, 1 > * | pBoundaryConditions, | |||
| unsigned | numQuadPoints = 2 | |||
| ) | [inline] |
Constructor
| pMesh | pointer to the mesh | |
| pPde | pointer to the PDE | |
| pBoundaryConditions | pointer to the boundary conditions | |
| numQuadPoints | number of quadrature points (defaults to 2) |
Definition at line 36 of file CellBasedSimulationWithPdesAssembler.cpp.
| CellBasedSimulationWithPdesAssembler< DIM >::~CellBasedSimulationWithPdesAssembler | ( | ) | [inline] |
Destructor.
Definition at line 45 of file CellBasedSimulationWithPdesAssembler.cpp.
| c_vector< double, 1 *(DIM+1)> CellBasedSimulationWithPdesAssembler< DIM >::ComputeVectorTerm | ( | c_vector< double, DIM+1 > & | rPhi, | |
| c_matrix< double, DIM, DIM+1 > & | rGradPhi, | |||
| ChastePoint< DIM > & | rX, | |||
| c_vector< double, 1 > & | rU, | |||
| c_matrix< double, 1, DIM > & | rGradU, | |||
| Element< DIM, DIM > * | pElement | |||
| ) | [inline, protected, virtual] |
The SimpleLinearEllipticSolver version of this method is overloaded using the interpolated source term.
| rPhi | ||
| rGradPhi | ||
| rX | ||
| rU | ||
| rGradU | ||
| pElement |
Definition at line 50 of file CellBasedSimulationWithPdesAssembler.cpp.
References CellBasedSimulationWithPdesAssembler< DIM >::mConstantInUSourceTerm.
| c_matrix< double, 1 *(DIM+1), 1 *(DIM+1)> CellBasedSimulationWithPdesAssembler< DIM >::ComputeMatrixTerm | ( | c_vector< double, DIM+1 > & | rPhi, | |
| c_matrix< double, DIM, DIM+1 > & | rGradPhi, | |||
| ChastePoint< DIM > & | rX, | |||
| c_vector< double, 1 > & | rU, | |||
| c_matrix< double, 1, DIM > & | rGradU, | |||
| Element< DIM, DIM > * | pElement | |||
| ) | [inline, protected, virtual] |
The SimpleLinearEllipticSolver version of this method is overloaded using the interpolated source term.
| rPhi | The basis functions, rPhi(i) = phi_i, i=1..numBases | |
| rGradPhi | Basis gradients, rGradPhi(i,j) = d(phi_j)/d(X_i) | |
| rX | The point in space | |
| rU | The unknown as a vector, u(i) = u_i | |
| rGradU | The gradient of the unknown as a matrix, rGradU(i,j) = d(u_i)/d(X_j) | |
| pElement | Pointer to the element |
Definition at line 62 of file CellBasedSimulationWithPdesAssembler.cpp.
References CellBasedSimulationWithPdesAssembler< DIM >::mLinearInUCoeffInSourceTerm, and SimpleLinearEllipticSolver< DIM, DIM >::mpEllipticPde.
| void CellBasedSimulationWithPdesAssembler< DIM >::ResetInterpolatedQuantities | ( | void | ) | [inline, protected, virtual] |
Overridden ResetInterpolatedQuantities() method.
Reimplemented from AbstractFeObjectAssembler< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM, true, true, INTERPOLATION_LEVEL >.
Definition at line 85 of file CellBasedSimulationWithPdesAssembler.cpp.
References CellBasedSimulationWithPdesAssembler< DIM >::mConstantInUSourceTerm, and CellBasedSimulationWithPdesAssembler< DIM >::mLinearInUCoeffInSourceTerm.
| void CellBasedSimulationWithPdesAssembler< DIM >::IncrementInterpolatedQuantities | ( | double | phiI, | |
| const Node< DIM > * | pNode | |||
| ) | [inline, protected] |
Overridden IncrementInterpolatedQuantities() method.
| phiI | ||
| pNode |
Definition at line 92 of file CellBasedSimulationWithPdesAssembler.cpp.
References CellBasedSimulationWithPdesAssembler< DIM >::mConstantInUSourceTerm, CellBasedSimulationWithPdesAssembler< DIM >::mLinearInUCoeffInSourceTerm, and SimpleLinearEllipticSolver< DIM, DIM >::mpEllipticPde.
| void CellBasedSimulationWithPdesAssembler< DIM >::InitialiseForSolve | ( | Vec | initialSolution | ) | [inline, protected, virtual] |
Create the linear system object if it hasn't been already. Can use an initial solution as PETSc template, or base it on the mesh size.
| initialSolution | an initial guess |
Reimplemented from SimpleLinearEllipticSolver< DIM, DIM >.
Definition at line 99 of file CellBasedSimulationWithPdesAssembler.cpp.
References SimpleLinearEllipticSolver< ELEMENT_DIM, SPACE_DIM >::InitialiseForSolve(), AbstractLinearPdeSolver< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::mpLinearSystem, and LinearSystem::SetMatrixIsSymmetric().
double CellBasedSimulationWithPdesAssembler< DIM >::mConstantInUSourceTerm [private] |
The constant in u part of the source term, interpolated onto the current point
Definition at line 56 of file CellBasedSimulationWithPdesAssembler.hpp.
Referenced by CellBasedSimulationWithPdesAssembler< DIM >::ComputeVectorTerm(), CellBasedSimulationWithPdesAssembler< DIM >::IncrementInterpolatedQuantities(), and CellBasedSimulationWithPdesAssembler< DIM >::ResetInterpolatedQuantities().
double CellBasedSimulationWithPdesAssembler< DIM >::mLinearInUCoeffInSourceTerm [private] |
The linear in u part of the source term, interpolated onto the current point
Definition at line 62 of file CellBasedSimulationWithPdesAssembler.hpp.
Referenced by CellBasedSimulationWithPdesAssembler< DIM >::ComputeMatrixTerm(), CellBasedSimulationWithPdesAssembler< DIM >::IncrementInterpolatedQuantities(), and CellBasedSimulationWithPdesAssembler< DIM >::ResetInterpolatedQuantities().
1.5.5