![]() |
Chaste
Release::2017.1
|
#include <AbstractGrowingDomainPdeModifier.hpp>
Inheritance diagram for AbstractGrowingDomainPdeModifier< DIM >:
Collaboration diagram for AbstractGrowingDomainPdeModifier< DIM >: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.
Referenced by AbstractGrowingDomainPdeModifier< DIM >::serialize().
|
virtual |
Destructor.
Definition at line 57 of file AbstractGrowingDomainPdeModifier.cpp.
Referenced by AbstractGrowingDomainPdeModifier< DIM >::serialize().
| 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(), AbstractPdeModifier< DIM >::mDeleteFeMesh, and AbstractPdeModifier< DIM >::mpFeMesh.
Referenced by AbstractGrowingDomainPdeModifier< DIM >::serialize(), ParabolicGrowingDomainPdeModifier< DIM >::SetupSolve(), ParabolicGrowingDomainPdeModifier< DIM >::UpdateAtEndOfTimeStep(), and EllipticGrowingDomainPdeModifier< DIM >::UpdateAtEndOfTimeStep().
|
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(), ParabolicGrowingDomainPdeModifier< DIM >::OutputSimulationModifierParameters(), and AbstractGrowingDomainPdeModifier< DIM >::serialize().
|
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.
References AbstractGrowingDomainPdeModifier< DIM >::AbstractGrowingDomainPdeModifier(), AbstractGrowingDomainPdeModifier< DIM >::GenerateFeMesh(), AbstractGrowingDomainPdeModifier< DIM >::OutputSimulationModifierParameters(), TEMPLATED_CLASS_IS_ABSTRACT_1_UNSIGNED, AbstractGrowingDomainPdeModifier< DIM >::UpdateCellData(), and AbstractGrowingDomainPdeModifier< DIM >::~AbstractGrowingDomainPdeModifier().
| 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(), AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetElement(), TetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetInverseJacobianForElement(), AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetLocationIndexUsingCell(), AbstractMesh< ELEMENT_DIM, SPACE_DIM >::GetNode(), AbstractCellPopulation< ELEMENT_DIM, SPACE_DIM >::GetNumNodes(), AbstractPdeModifier< DIM >::mDependentVariableName, AbstractPdeModifier< DIM >::mOutputGradient, AbstractPdeModifier< DIM >::mpFeMesh, AbstractPdeModifier< DIM >::mSolution, and NEVER_REACHED.
Referenced by AbstractGrowingDomainPdeModifier< DIM >::serialize(), ParabolicGrowingDomainPdeModifier< DIM >::UpdateAtEndOfTimeStep(), and EllipticGrowingDomainPdeModifier< DIM >::UpdateAtEndOfTimeStep().
|
friend |
Needed for serialization.
Definition at line 58 of file AbstractGrowingDomainPdeModifier.hpp.