![]() |
Chaste
Release::3.4
|
#include <SimpleLinearParabolicSolver.hpp>
Inheritance diagram for SimpleLinearParabolicSolver< ELEMENT_DIM, SPACE_DIM >:
Collaboration diagram for SimpleLinearParabolicSolver< ELEMENT_DIM, SPACE_DIM >:Protected Member Functions | |
| 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 | ResetInterpolatedQuantities () |
| 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) |
Additional Inherited Members | |
Protected Types inherited from AbstractFeVolumeIntegralAssembler< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM, true, true, INTERPOLATION_LEVEL > | |
| typedef LinearBasisFunction < ELEMENT_DIM > | BasisFunction |
Solver for solving AbstractLinearParabolicPdes
Definition at line 50 of file SimpleLinearParabolicSolver.hpp.
| SimpleLinearParabolicSolver< ELEMENT_DIM, SPACE_DIM >::SimpleLinearParabolicSolver | ( | AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM > * | pMesh, |
| AbstractLinearParabolicPde< ELEMENT_DIM, SPACE_DIM > * | pPde, | ||
| BoundaryConditionsContainer< ELEMENT_DIM, SPACE_DIM, 1 > * | pBoundaryConditions | ||
| ) |
Constructor.
| pMesh | pointer to the mesh |
| pPde | pointer to the PDE |
| pBoundaryConditions | pointer to the boundary conditions |
Definition at line 68 of file SimpleLinearParabolicSolver.cpp.
References AbstractDynamicLinearPdeSolver< ELEMENT_DIM, SPACE_DIM, 1 >::mMatrixIsConstant, and SimpleLinearParabolicSolver< ELEMENT_DIM, SPACE_DIM >::mpParabolicPde.
|
protectedvirtual |
grad_phi[row] . ( pde_diffusion_term * grad_phi[col]) + (1.0/mDt) * pPde->ComputeDuDtCoefficientFunction(rX) * rPhi[row] * rPhi[col]
| 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 39 of file SimpleLinearParabolicSolver.cpp.
References PdeSimulationTime::GetPdeTimeStepInverse().
|
protectedvirtual |
| 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 54 of file SimpleLinearParabolicSolver.cpp.
References PdeSimulationTime::GetPdeTimeStepInverse().
|
inlineprotectedvirtual |
Delegate to AbstractAssemblerSolverHybrid::SetupGivenLinearSystem.
| currentSolution | The current solution which can be used in setting up the linear system if needed (NULL if there isn't a current solution) |
| computeMatrix | Whether to compute the LHS matrix of the linear system (mainly for dynamic solves). |
Implements AbstractLinearPdeSolver< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >.
Definition at line 112 of file SimpleLinearParabolicSolver.hpp.
References AbstractLinearPdeSolver< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::mpLinearSystem, and AbstractAssemblerSolverHybrid< ELEMENT_DIM, SPACE_DIM, 1, NORMAL >::SetupGivenLinearSystem().
|
protected |
The PDE to be solved.
Definition at line 57 of file SimpleLinearParabolicSolver.hpp.
Referenced by SimpleLinearParabolicSolver< ELEMENT_DIM, SPACE_DIM >::SimpleLinearParabolicSolver().