Chaste
Release::2018.1
|
#include <AbstractGrowingDomainPdeModifier.hpp>
Public Member Functions | |
AbstractGrowingDomainPdeModifier (boost::shared_ptr< AbstractLinearPde< DIM, DIM > > pPde=boost::shared_ptr< AbstractLinearPde< DIM, DIM > >(), boost::shared_ptr< AbstractBoundaryCondition< DIM > > pBoundaryCondition=boost::shared_ptr< AbstractBoundaryCondition< DIM > >(), bool isNeumannBoundaryCondition=true, Vec solution=nullptr) | |
virtual | ~AbstractGrowingDomainPdeModifier () |
void | GenerateFeMesh (AbstractCellPopulation< DIM, DIM > &rCellPopulation) |
void | UpdateCellData (AbstractCellPopulation< DIM, DIM > &rCellPopulation) |
void | OutputSimulationModifierParameters (out_stream &rParamsFile) |
Public Member Functions inherited from AbstractPdeModifier< DIM > | |
AbstractPdeModifier (boost::shared_ptr< AbstractLinearPde< DIM, DIM > > pPde=NULL, boost::shared_ptr< AbstractBoundaryCondition< DIM > > pBoundaryCondition=boost::shared_ptr< AbstractBoundaryCondition< DIM > >(), bool isNeumannBoundaryCondition=true, Vec solution=nullptr) | |
virtual | ~AbstractPdeModifier () |
boost::shared_ptr < AbstractLinearPde< DIM, DIM > > | GetPde () |
boost::shared_ptr < AbstractBoundaryCondition < DIM > > | GetBoundaryCondition () |
bool | IsNeumannBoundaryCondition () |
void | SetDependentVariableName (const std::string &rName) |
std::string & | rGetDependentVariableName () |
bool | HasAveragedSourcePde () |
void | SetUpSourceTermsForAveragedSourcePde (TetrahedralMesh< DIM, DIM > *pMesh, std::map< CellPtr, unsigned > *pCellPdeElementMap=nullptr) |
Vec | GetSolution () |
Vec | GetSolution () const |
TetrahedralMesh< DIM, DIM > * | GetFeMesh () const |
virtual void | SetupSolve (AbstractCellPopulation< DIM, DIM > &rCellPopulation, std::string outputDirectory) |
virtual void | UpdateAtEndOfTimeStep (AbstractCellPopulation< DIM, DIM > &rCellPopulation)=0 |
virtual void | UpdateAtEndOfOutputTimeStep (AbstractCellPopulation< DIM, DIM > &rCellPopulation) |
virtual void | UpdateAtEndOfSolve (AbstractCellPopulation< DIM, DIM > &rCellPopulation) |
bool | GetOutputGradient () |
void | SetOutputGradient (bool outputGradient) |
void | SetOutputSolutionAtPdeNodes (bool outputSolutionAtPdeNodes) |
void | OutputSimulationModifierParameters (out_stream &rParamsFile) |
Public Member Functions inherited from AbstractCellBasedSimulationModifier< DIM, DIM > | |
AbstractCellBasedSimulationModifier () | |
virtual | ~AbstractCellBasedSimulationModifier () |
virtual void | UpdateAtEndOfTimeStep (AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM > &rCellPopulation)=0 |
virtual void | UpdateAtEndOfOutputTimeStep (AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM > &rCellPopulation) |
virtual void | SetupSolve (AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM > &rCellPopulation, std::string outputDirectory)=0 |
virtual void | UpdateAtEndOfSolve (AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM > &rCellPopulation) |
void | OutputSimulationModifierInfo (out_stream &rParamsFile) |
Public Member Functions inherited from Identifiable | |
virtual | ~Identifiable () |
std::string | GetIdentifier () const |
Private Member Functions | |
template<class Archive > | |
void | serialize (Archive &archive, const unsigned int version) |
Friends | |
class | TestEllipticGrowingDomainPdeModifier |
class | TestParabolicGrowingDomainPdeModifier |
class | boost::serialization::access |
Additional Inherited Members | |
Protected Attributes inherited from AbstractPdeModifier< DIM > | |
boost::shared_ptr < AbstractLinearPde< DIM, DIM > > | mpPde |
boost::shared_ptr < AbstractBoundaryCondition < DIM > > | mpBoundaryCondition |
bool | mIsNeumannBoundaryCondition |
std::string | mDependentVariableName |
Vec | mSolution |
TetrahedralMesh< DIM, DIM > * | mpFeMesh |
std::string | mOutputDirectory |
bool | mOutputGradient |
bool | mOutputSolutionAtPdeNodes |
out_stream | mpVizPdeSolutionResultsFile |
bool | mDeleteFeMesh |
An abstract modifier class containing functionality common to EllipticGrowingDomainPdeModifier and ParabolicGrowingDomainPdeModifier, which both solve a linear elliptic or parabolic PDE coupled to a cell-based simulation on an evolving domain defined by the cell population.
Definition at line 50 of file AbstractGrowingDomainPdeModifier.hpp.
AbstractGrowingDomainPdeModifier< DIM >::AbstractGrowingDomainPdeModifier | ( | boost::shared_ptr< AbstractLinearPde< DIM, DIM > > | pPde = boost::shared_ptr<AbstractLinearPde<DIM,DIM> >() , |
boost::shared_ptr< AbstractBoundaryCondition< DIM > > | pBoundaryCondition = boost::shared_ptr<AbstractBoundaryCondition<DIM> >() , |
||
bool | isNeumannBoundaryCondition = true , |
||
Vec | solution = nullptr |
||
) |
Constructor.
pPde | A shared pointer to a linear PDE object (defaults to NULL) |
pBoundaryCondition | A shared pointer to an abstract boundary condition (defaults to NULL, corresponding to a constant boundary condition with value zero) |
isNeumannBoundaryCondition | Whether the boundary condition is Neumann (defaults to true) |
solution | solution vector (defaults to NULL) |
Definition at line 45 of file AbstractGrowingDomainPdeModifier.cpp.
|
virtual |
Destructor.
Definition at line 57 of file AbstractGrowingDomainPdeModifier.cpp.
void AbstractGrowingDomainPdeModifier< DIM >::GenerateFeMesh | ( | AbstractCellPopulation< DIM, DIM > & | rCellPopulation | ) |
Helper method to generate the mesh from the Cell population.
rCellPopulation | reference to the cell population |
Definition at line 62 of file AbstractGrowingDomainPdeModifier.cpp.
References AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetTetrahedralMeshForPdeModifier().
|
virtual |
Overridden OutputSimulationModifierParameters() method. Output any simulation modifier parameters to file.
rParamsFile | the file stream to which the parameters are output |
Implements AbstractCellBasedSimulationModifier< DIM, DIM >.
Reimplemented in ParabolicGrowingDomainPdeModifier< DIM >, and EllipticGrowingDomainPdeModifier< DIM >.
Definition at line 178 of file AbstractGrowingDomainPdeModifier.cpp.
References AbstractPdeModifier< DIM >::OutputSimulationModifierParameters().
Referenced by EllipticGrowingDomainPdeModifier< DIM >::OutputSimulationModifierParameters(), and ParabolicGrowingDomainPdeModifier< DIM >::OutputSimulationModifierParameters().
|
inlineprivate |
Boost Serialization method for archiving/checkpointing. Archives the object and its member variables.
archive | The boost archive. |
version | The current version of this class. |
Definition at line 67 of file AbstractGrowingDomainPdeModifier.hpp.
void AbstractGrowingDomainPdeModifier< DIM >::UpdateCellData | ( | AbstractCellPopulation< DIM, DIM > & | rCellPopulation | ) |
Helper method to copy the PDE solution to CellData
Here there is a 1-1 correspondence between cells and nodes in the FE mesh
rCellPopulation | reference to the cell population |
Definition at line 84 of file AbstractGrowingDomainPdeModifier.cpp.
References AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::Begin(), LinearBasisFunction< ELEMENT_DIM >::ComputeTransformedBasisFunctionDerivatives(), AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::End(), AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetLocationIndexUsingCell(), AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetNumNodes(), and NEVER_REACHED.
|
friend |
Needed for serialization.
Definition at line 58 of file AbstractGrowingDomainPdeModifier.hpp.