Chaste
Release::2017.1
|
#include <CellBasedParabolicPdeSolver.hpp>
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 > *) |
Protected Member Functions inherited from SimpleLinearParabolicSolver< DIM, DIM > | |
virtual c_matrix< double, 1 *(ELEMENT_DIM+1), 1 *(ELEMENT_DIM+1)> | ComputeMatrixTerm (c_vector< double, ELEMENT_DIM+1 > &rPhi, c_matrix< double, SPACE_DIM, ELEMENT_DIM+1 > &rGradPhi, ChastePoint< SPACE_DIM > &rX, c_vector< double, 1 > &rU, c_matrix< double, 1, SPACE_DIM > &rGradU, Element< ELEMENT_DIM, SPACE_DIM > *pElement) |
virtual c_vector< double, 1 *(ELEMENT_DIM+1)> | ComputeVectorTerm (c_vector< double, ELEMENT_DIM+1 > &rPhi, c_matrix< double, SPACE_DIM, ELEMENT_DIM+1 > &rGradPhi, ChastePoint< SPACE_DIM > &rX, c_vector< double, 1 > &rU, c_matrix< double, 1, SPACE_DIM > &rGradU, Element< ELEMENT_DIM, SPACE_DIM > *pElement) |
void | SetupLinearSystem (Vec currentSolution, bool computeMatrix) |
Protected Member Functions inherited from AbstractFeVolumeIntegralAssembler< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM, true, true, INTERPOLATION_LEVEL > | |
void | ComputeTransformedBasisFunctionDerivatives (const ChastePoint< ELEMENT_DIM > &rPoint, const c_matrix< double, ELEMENT_DIM, SPACE_DIM > &rInverseJacobian, c_matrix< double, SPACE_DIM, ELEMENT_DIM+1 > &rReturnValue) |
void | DoAssemble () |
virtual c_matrix< double, PROBLEM_DIM *(ELEMENT_DIM+1), PROBLEM_DIM *(ELEMENT_DIM+1)> | ComputeMatrixTerm (c_vector< double, ELEMENT_DIM+1 > &rPhi, c_matrix< double, SPACE_DIM, ELEMENT_DIM+1 > &rGradPhi, ChastePoint< SPACE_DIM > &rX, c_vector< double, PROBLEM_DIM > &rU, c_matrix< double, PROBLEM_DIM, SPACE_DIM > &rGradU, Element< ELEMENT_DIM, SPACE_DIM > *pElement) |
virtual c_vector< double, PROBLEM_DIM *(ELEMENT_DIM+1)> | ComputeVectorTerm (c_vector< double, ELEMENT_DIM+1 > &rPhi, c_matrix< double, SPACE_DIM, ELEMENT_DIM+1 > &rGradPhi, ChastePoint< SPACE_DIM > &rX, c_vector< double, PROBLEM_DIM > &rU, c_matrix< double, PROBLEM_DIM, SPACE_DIM > &rGradU, Element< ELEMENT_DIM, SPACE_DIM > *pElement) |
virtual void | AssembleOnElement (Element< ELEMENT_DIM, SPACE_DIM > &rElement, c_matrix< double, PROBLEM_DIM *(ELEMENT_DIM+1), PROBLEM_DIM *(ELEMENT_DIM+1) > &rAElem, c_vector< double, PROBLEM_DIM *(ELEMENT_DIM+1)> &rBElem) |
virtual bool | ElementAssemblyCriterion (Element< ELEMENT_DIM, SPACE_DIM > &rElement) |
Protected Member Functions inherited from AbstractFeAssemblerCommon< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM, CAN_ASSEMBLE_VECTOR, CAN_ASSEMBLE_MATRIX, INTERPOLATION_LEVEL > | |
virtual double | GetCurrentSolutionOrGuessValue (unsigned nodeIndex, unsigned indexOfUnknown) |
virtual void | IncrementInterpolatedQuantities (double phiI, const Node< SPACE_DIM > *pNode) |
virtual void | IncrementInterpolatedGradientQuantities (const c_matrix< double, SPACE_DIM, ELEMENT_DIM+1 > &rGradPhi, unsigned phiIndex, const Node< SPACE_DIM > *pNode) |
Protected Member Functions inherited from AbstractDynamicLinearPdeSolver< ELEMENT_DIM, SPACE_DIM, 1 > | |
void | InitialiseHdf5Writer () |
void | WriteOneStep (double time, Vec solution) |
Private Attributes | |
double | mInterpolatedSourceTerm |
A purpose-made parabolic solver 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 48 of file CellBasedParabolicPdeSolver.hpp.
CellBasedParabolicPdeSolver< DIM >::CellBasedParabolicPdeSolver | ( | TetrahedralMesh< DIM, DIM > * | pMesh, |
AbstractLinearParabolicPde< DIM, DIM > * | pPde, | ||
BoundaryConditionsContainer< DIM, DIM, 1 > * | pBoundaryConditions | ||
) |
Constructor.
pMesh | pointer to the mesh |
pPde | pointer to the PDE |
pBoundaryConditions | pointer to the boundary conditions |
Definition at line 39 of file CellBasedParabolicPdeSolver.cpp.
|
virtual |
Destructor.
Definition at line 47 of file CellBasedParabolicPdeSolver.cpp.
|
protectedvirtual |
The SimpleLinearParabolicSolver 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 65 of file CellBasedParabolicPdeSolver.cpp.
References PdeSimulationTime::GetPdeTimeStepInverse(), and SimpleLinearParabolicSolver< DIM, DIM >::mpParabolicPde.
|
protectedvirtual |
The SimpleLinearParabolicSolver 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 52 of file CellBasedParabolicPdeSolver.cpp.
References PdeSimulationTime::GetPdeTimeStepInverse(), CellBasedParabolicPdeSolver< DIM >::mInterpolatedSourceTerm, and SimpleLinearParabolicSolver< DIM, DIM >::mpParabolicPde.
|
protected |
Overridden IncrementInterpolatedQuantities() method.
phiI | |
pNode |
Definition at line 87 of file CellBasedParabolicPdeSolver.cpp.
References AbstractFeAssemblerCommon< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM, CAN_ASSEMBLE_VECTOR, CAN_ASSEMBLE_MATRIX, INTERPOLATION_LEVEL >::GetCurrentSolutionOrGuessValue(), Node< SPACE_DIM >::GetIndex(), CellBasedParabolicPdeSolver< DIM >::mInterpolatedSourceTerm, and SimpleLinearParabolicSolver< DIM, DIM >::mpParabolicPde.
|
protectedvirtual |
Overridden ResetInterpolatedQuantities() method.
Reimplemented from AbstractFeAssemblerCommon< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM, CAN_ASSEMBLE_VECTOR, CAN_ASSEMBLE_MATRIX, INTERPOLATION_LEVEL >.
Definition at line 81 of file CellBasedParabolicPdeSolver.cpp.
References CellBasedParabolicPdeSolver< DIM >::mInterpolatedSourceTerm.
|
private |
The source term, interpolated onto the current point.
Definition at line 53 of file CellBasedParabolicPdeSolver.hpp.
Referenced by CellBasedParabolicPdeSolver< DIM >::ComputeVectorTerm(), CellBasedParabolicPdeSolver< DIM >::IncrementInterpolatedQuantities(), and CellBasedParabolicPdeSolver< DIM >::ResetInterpolatedQuantities().