36 #ifndef SIMPLELINEARELLIPTICSOLVER_HPP_
37 #define SIMPLELINEARELLIPTICSOLVER_HPP_
39 #include "AbstractAssemblerSolverHybrid.hpp"
40 #include "AbstractStaticLinearPdeSolver.hpp"
41 #include "AbstractLinearEllipticPde.hpp"
48 template<
unsigned ELEMENT_DIM,
unsigned SPACE_DIM>
71 c_vector<double, ELEMENT_DIM+1>& rPhi,
72 c_matrix<double, SPACE_DIM, ELEMENT_DIM+1>& rGradPhi,
74 c_vector<double,1>& rU,
75 c_matrix<double,1,SPACE_DIM>& rGradU,
90 c_vector<double, ELEMENT_DIM+1>& rPhi,
91 c_matrix<double, SPACE_DIM, ELEMENT_DIM+1>& rGradPhi,
93 c_vector<double,1>& rU,
94 c_matrix<double,1,SPACE_DIM>& rGradU,
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)
void InitialiseForSolve(Vec initialSolution=nullptr)
SimpleLinearEllipticSolver(AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM > *pMesh, AbstractLinearEllipticPde< ELEMENT_DIM, SPACE_DIM > *pPde, BoundaryConditionsContainer< ELEMENT_DIM, SPACE_DIM, 1 > *pBoundaryConditions)
AbstractLinearEllipticPde< ELEMENT_DIM, SPACE_DIM > * mpEllipticPde
void SetupGivenLinearSystem(Vec currentSolution, bool computeMatrix, LinearSystem *pLinearSystem)
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)
LinearSystem * mpLinearSystem