Chaste Commit::ca8ccdedf819b6e02855bc0e8e6f50bdecbc5208
VolumeDependentAveragedSourceEllipticPde< DIM > Class Template Reference

#include <VolumeDependentAveragedSourceEllipticPde.hpp>

+ Inheritance diagram for VolumeDependentAveragedSourceEllipticPde< DIM >:
+ Collaboration diagram for VolumeDependentAveragedSourceEllipticPde< DIM >:

Public Member Functions

 VolumeDependentAveragedSourceEllipticPde (AbstractCellPopulation< DIM > &rCellPopulation, double coefficient=0.0)
 
void SetupSourceTerms (TetrahedralMesh< DIM, DIM > &rCoarseMesh, std::map< CellPtr, unsigned > *pCellPdeElementMap=nullptr)
 
- Public Member Functions inherited from AveragedSourceEllipticPde< DIM >
 AveragedSourceEllipticPde (AbstractCellPopulation< DIM > &rCellPopulation, double sourceCoefficient=0.0, double diffusionCoefficient=1.0)
 
const AbstractCellPopulation< DIM > & rGetCellPopulation () const
 
double GetCoefficient () const
 
double ComputeConstantInUSourceTerm (const ChastePoint< DIM > &rX, Element< DIM, DIM > *pElement)
 
double ComputeLinearInUCoeffInSourceTerm (const ChastePoint< DIM > &rX, Element< DIM, DIM > *pElement)
 
c_matrix< double, DIM, DIM > ComputeDiffusionTerm (const ChastePoint< DIM > &rX)
 
double GetUptakeRateForElement (unsigned elementIndex)
 
- Public Member Functions inherited from AbstractLinearEllipticPde< DIM, DIM >
 AbstractLinearEllipticPde ()
 
virtual ~AbstractLinearEllipticPde ()
 
virtual double ComputeConstantInUSourceTerm (const ChastePoint< SPACE_DIM > &rX, Element< ELEMENT_DIM, SPACE_DIM > *pElement)=0
 
virtual double ComputeLinearInUCoeffInSourceTerm (const ChastePoint< SPACE_DIM > &rX, Element< ELEMENT_DIM, SPACE_DIM > *pElement)=0
 
virtual c_matrix< double, SPACE_DIM, SPACE_DIM > ComputeDiffusionTerm (const ChastePoint< SPACE_DIM > &rX)=0
 
virtual double ComputeConstantInUSourceTermAtNode (const Node< SPACE_DIM > &rNode)
 
virtual double ComputeLinearInUCoeffInSourceTermAtNode (const Node< SPACE_DIM > &rNode)
 
- Public Member Functions inherited from AbstractLinearPde< ELEMENT_DIM, SPACE_DIM >
 AbstractLinearPde ()
 
virtual ~AbstractLinearPde ()
 

Private Member Functions

template<class Archive >
void serialize (Archive &archive, const unsigned int version)
 

Private Attributes

NodeBasedCellPopulation< DIM > * mpStaticCastCellPopulation
 

Friends

class TestCellBasedEllipticPdes
 
class boost::serialization::access
 

Additional Inherited Members

- Protected Attributes inherited from AveragedSourceEllipticPde< DIM >
AbstractCellPopulation< DIM > & mrCellPopulation
 
double mSourceCoefficient
 
double mDiffusionCoefficient
 
std::vector< doublemCellDensityOnCoarseElements
 

Detailed Description

template<unsigned DIM>
class VolumeDependentAveragedSourceEllipticPde< DIM >

An elliptic PDE to be solved numerically using the finite element method, for coupling to a cell-based simulation.

This class inherits from AveragedSourceEllipticPde and may only be used with a NodeBasedCellPopulation, since it assumes that each cell is associated with a Node object.

The PDE takes the form

Grad.(D*Grad(u)) + k*u*rho(x) = 0,

where the scalars D and k are specified by the members mDiffusionCoefficient and mSourceCoefficient, respectively. Their values must be set in the constructor.

The function rho(x) denotes the local density of non-apoptotic cells. This quantity is computed for each element of a 'coarse' finite element mesh that is passed to the method SetupSourceTerms() and stored in the member mCellDensityOnCoarseElements.

For a point x, rho(x) is a weighted sum of the non-apoptotic cells whose centres lie in each finite element containing that point, scaled by the area of that element. The weighting assigned to each cell is given by the square of the radius of the associated node, which is accessed using the GetRadius() method.

Todo:
Consider creating a VolumeDependentAveragedSourceParabolicPde class

Definition at line 74 of file VolumeDependentAveragedSourceEllipticPde.hpp.

Constructor & Destructor Documentation

◆ VolumeDependentAveragedSourceEllipticPde()

template<unsigned DIM>
VolumeDependentAveragedSourceEllipticPde< DIM >::VolumeDependentAveragedSourceEllipticPde ( AbstractCellPopulation< DIM > &  rCellPopulation,
double  coefficient = 0.0 
)

Constructor.

Parameters
rCellPopulationreference to the cell population
coefficientthe coefficient of consumption of nutrient by cells (defaults to 0.0)

Definition at line 40 of file VolumeDependentAveragedSourceEllipticPde.cpp.

References VolumeDependentAveragedSourceEllipticPde< DIM >::mpStaticCastCellPopulation, and AveragedSourceEllipticPde< DIM >::mrCellPopulation.

Member Function Documentation

◆ serialize()

template<unsigned DIM>
template<class Archive >
void VolumeDependentAveragedSourceEllipticPde< DIM >::serialize ( Archive &  archive,
const unsigned int  version 
)
inlineprivate

Serialize the PDE and its member variables.

Parameters
archivethe archive
versionthe current version of this class

Definition at line 89 of file VolumeDependentAveragedSourceEllipticPde.hpp.

◆ SetupSourceTerms()

template<unsigned DIM>
void VolumeDependentAveragedSourceEllipticPde< DIM >::SetupSourceTerms ( TetrahedralMesh< DIM, DIM > &  rCoarseMesh,
std::map< CellPtr, unsigned > *  pCellPdeElementMap = nullptr 
)
virtual

Set up the source terms.

Parameters
rCoarseMeshreference to the coarse mesh
pCellPdeElementMapoptional pointer to the map from cells to coarse elements

Reimplemented from AveragedSourceEllipticPde< DIM >.

Definition at line 48 of file VolumeDependentAveragedSourceEllipticPde.cpp.

References AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetContainingElementIndex(), AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetElement(), AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM >::GetNumElements(), and Node< SPACE_DIM >::GetRadius().

Friends And Related Symbol Documentation

◆ boost::serialization::access

template<unsigned DIM>
friend class boost::serialization::access
friend

Needed for serialization.

Definition at line 81 of file VolumeDependentAveragedSourceEllipticPde.hpp.

◆ TestCellBasedEllipticPdes

template<unsigned DIM>
friend class TestCellBasedEllipticPdes
friend

Definition at line 76 of file VolumeDependentAveragedSourceEllipticPde.hpp.

Member Data Documentation

◆ mpStaticCastCellPopulation


The documentation for this class was generated from the following files: