36 #ifndef ABSTRACTPDEMODIFIER_HPP_ 37 #define ABSTRACTPDEMODIFIER_HPP_ 41 #include <boost/shared_ptr.hpp> 43 #include "AbstractCellBasedSimulationModifier.hpp" 44 #include "TetrahedralMesh.hpp" 45 #include "AbstractLinearPde.hpp" 46 #include "AbstractBoundaryCondition.hpp" 53 template<
unsigned DIM>
67 template<
class Archive>
68 void serialize(Archive & archive,
const unsigned int version)
70 archive & boost::serialization::base_object<AbstractCellBasedSimulationModifier<DIM,DIM> >(*this);
87 boost::shared_ptr<AbstractLinearPde<DIM,DIM> >
mpPde;
146 bool isNeumannBoundaryCondition=
true,
147 Vec solution=
nullptr);
157 boost::shared_ptr<AbstractLinearPde<DIM,DIM> >
GetPde();
virtual void UpdateAtEndOfOutputTimeStep(AbstractCellPopulation< DIM, DIM > &rCellPopulation)
void SetOutputGradient(bool outputGradient)
virtual void UpdateAtEndOfTimeStep(AbstractCellPopulation< DIM, DIM > &rCellPopulation)=0
#define TEMPLATED_CLASS_IS_ABSTRACT_1_UNSIGNED(T)
friend class boost::serialization::access
virtual void SetupSolve(AbstractCellPopulation< DIM, DIM > &rCellPopulation, std::string outputDirectory)
bool HasAveragedSourcePde()
bool IsNeumannBoundaryCondition()
void serialize(Archive &archive, const unsigned int version)
std::string mDependentVariableName
out_stream mpVizPdeSolutionResultsFile
void SetDependentVariableName(const std::string &rName)
virtual void UpdateAtEndOfSolve(AbstractCellPopulation< DIM, DIM > &rCellPopulation)
boost::shared_ptr< AbstractBoundaryCondition< DIM > > mpBoundaryCondition
std::string mOutputDirectory
void SetOutputSolutionAtPdeNodes(bool outputSolutionAtPdeNodes)
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)
void OutputSimulationModifierParameters(out_stream &rParamsFile)
std::string & rGetDependentVariableName()
boost::shared_ptr< AbstractBoundaryCondition< DIM > > GetBoundaryCondition()
void SetUpSourceTermsForAveragedSourcePde(TetrahedralMesh< DIM, DIM > *pMesh, std::map< CellPtr, unsigned > *pCellPdeElementMap=nullptr)
virtual ~AbstractPdeModifier()
TetrahedralMesh< DIM, DIM > * GetFeMesh() const
bool mIsNeumannBoundaryCondition
bool mOutputSolutionAtPdeNodes
gcov doesn't like this file...
boost::shared_ptr< AbstractLinearPde< DIM, DIM > > GetPde()
boost::shared_ptr< AbstractLinearPde< DIM, DIM > > mpPde
TetrahedralMesh< DIM, DIM > * mpFeMesh