Chaste Commit::30a3e656d4b131f8c595cc6eb2becd297337570f
CellwiseSourceParabolicPde< DIM > Class Template Reference

#include <CellwiseSourceParabolicPde.hpp>

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

Public Member Functions

 CellwiseSourceParabolicPde (AbstractCellPopulation< DIM, DIM > &rCellPopulation, double constantSourceCoefficient=0.0, double linearSourceCoefficient=0.0, double diffusionCoefficient=1.0, double duDtCoefficient=1.0, bool scaleByCellVolume=false)
 
const AbstractCellPopulation< DIM > & rGetCellPopulation () const
 
double GetConstantCoefficient () const
 
double GetLinearCoefficient () const
 
double GetDiffusionCoefficient () const
 
double GetDuDtCoefficient () const
 
bool GetScaleByCellVolume () const
 
double ComputeDuDtCoefficientFunction (const ChastePoint< DIM > &rX) override
 
double ComputeSourceTerm (const ChastePoint< DIM > &rX, double u, Element< DIM, DIM > *pElement) override
 
double ComputeSourceTermAtNode (const Node< DIM > &rNode, double u) override
 
c_matrix< double, DIM, DIM > ComputeDiffusionTerm (const ChastePoint< DIM > &rX, Element< DIM, DIM > *pElement=nullptr) override
 
- Public Member Functions inherited from AbstractLinearParabolicPde< DIM, DIM >
 AbstractLinearParabolicPde ()
 
virtual ~AbstractLinearParabolicPde ()
 
virtual double ComputeDuDtCoefficientFunction (const ChastePoint< SPACE_DIM > &rX)=0
 
virtual double ComputeSourceTerm (const ChastePoint< SPACE_DIM > &rX, double u, Element< ELEMENT_DIM, SPACE_DIM > *pElement=nullptr)=0
 
virtual double ComputeSourceTermAtNode (const Node< SPACE_DIM > &rNode, double u)
 
virtual c_matrix< double, SPACE_DIM, SPACE_DIM > ComputeDiffusionTerm (const ChastePoint< SPACE_DIM > &rX, Element< ELEMENT_DIM, SPACE_DIM > *pElement)=0
 
- Public Member Functions inherited from AbstractLinearPde< ELEMENT_DIM, SPACE_DIM >
 AbstractLinearPde ()
 
virtual ~AbstractLinearPde ()
 

Protected Attributes

AbstractCellPopulation< DIM, DIM > & mrCellPopulation
 
double mConstantSourceCoefficient
 
double mLinearSourceCoefficient
 
double mDiffusionCoefficient
 
double mDuDtCoefficient
 
bool mScaleByCellVolume
 

Private Member Functions

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

Friends

class TestCellBasedParabolicPdes
 
class boost::serialization::access
 

Detailed Description

template<unsigned DIM>
class CellwiseSourceParabolicPde< DIM >

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

The PDE takes the form

c*du/dt = Grad.(D*Grad(u)) + a*u*rho(x) + b*rho(x),

where the scalars c, D, a and b are specified by the members mDuDtCoefficient, mDiffusionCoefficient, mLinearSourceCoefficient and mConstantSourceCoefficient, respectively. Their values must be set in the constructor.

For a node of the finite element mesh with location x, the function rho(x) equals one if there is a non-apoptotic cell associated with x, and zero otherwise. Here, 'associated with' takes a different meaning for each cell population class, and is encoded in the method IsPdeNodeAssociatedWithNonApoptoticCell().

Definition at line 63 of file CellwiseSourceParabolicPde.hpp.

Constructor & Destructor Documentation

◆ CellwiseSourceParabolicPde()

template<unsigned DIM>
CellwiseSourceParabolicPde< DIM >::CellwiseSourceParabolicPde ( AbstractCellPopulation< DIM, DIM > &  rCellPopulation,
double  constantSourceCoefficient = 0.0,
double  linearSourceCoefficient = 0.0,
double  diffusionCoefficient = 1.0,
double  duDtCoefficient = 1.0,
bool  scaleByCellVolume = false 
)

Constructor.

Parameters
rCellPopulationreference to the cell population
constantSourceCoefficientthe constant source term coefficient (defaults to 0.0)
linearSourceCoefficientthe linear source term coefficient (defaults to 0.0)
diffusionCoefficientthe rate of diffusion (defaults to 1.0)
duDtCoefficientrate of reaction (defaults to 1.0)
scaleByCellVolumewhether to scale by cell volume (defaults to false)

Definition at line 39 of file CellwiseSourceParabolicPde.cpp.

Member Function Documentation

◆ ComputeDiffusionTerm()

template<unsigned DIM>
c_matrix< double, DIM, DIM > CellwiseSourceParabolicPde< DIM >::ComputeDiffusionTerm ( const ChastePoint< DIM > &  rX,
Element< DIM, DIM > *  pElement = nullptr 
)
override

Overridden ComputeDiffusionTerm() method.

Parameters
rXthe point in space at which the diffusion term is computed
pElementthe mesh element that x is contained in (optional; defaults to NULL).
Returns
a matrix.

Definition at line 140 of file CellwiseSourceParabolicPde.cpp.

◆ ComputeDuDtCoefficientFunction()

template<unsigned DIM>
double CellwiseSourceParabolicPde< DIM >::ComputeDuDtCoefficientFunction ( const ChastePoint< DIM > &  rX)
override

Overridden ComputeDuDtCoefficientFunction() method.

Returns
the function c(x) in "c(x) du/dt = Grad.(DiffusionTerm(x)*Grad(u))+LinearSourceTerm(x)+NonlinearSourceTerm(x, u)"
Parameters
rXthe point in space at which the function c is computed

Definition at line 91 of file CellwiseSourceParabolicPde.cpp.

◆ ComputeSourceTerm()

template<unsigned DIM>
double CellwiseSourceParabolicPde< DIM >::ComputeSourceTerm ( const ChastePoint< DIM > &  rX,
double  u,
Element< DIM, DIM > *  pElement 
)
override

Overridden ComputeSourceTerm() method. That is never called.

Returns
computed source term.
Parameters
rXthe point in space at which the nonlinear source term is computed
uthe value of the dependent variable at the point
pElementthe mesh element that x is contained in (optional; defaults to NULL).

Definition at line 98 of file CellwiseSourceParabolicPde.cpp.

References NEVER_REACHED.

◆ ComputeSourceTermAtNode()

template<unsigned DIM>
double CellwiseSourceParabolicPde< DIM >::ComputeSourceTermAtNode ( const Node< DIM > &  rNode,
double  u 
)
override

Overridden ComputeSourceTermAtNode() method.

Note that for CellWise Parabolic PDEs used with CellBasedParabolicPdeSolver this method returns the coefficient of the linear component of the source term.

Returns
computed source term at a node.
Parameters
rNodethe node at which the nonlinear source term is computed
uthe value of the dependent variable at the node

Definition at line 105 of file CellwiseSourceParabolicPde.cpp.

References EXCEPTION, and Node< SPACE_DIM >::GetIndex().

◆ GetConstantCoefficient()

template<unsigned DIM>
double CellwiseSourceParabolicPde< DIM >::GetConstantCoefficient ( ) const
Returns
mConstantSourceCoefficient

Definition at line 61 of file CellwiseSourceParabolicPde.cpp.

◆ GetDiffusionCoefficient()

template<unsigned DIM>
double CellwiseSourceParabolicPde< DIM >::GetDiffusionCoefficient ( ) const
Returns
mDiffusionCoefficient

Definition at line 73 of file CellwiseSourceParabolicPde.cpp.

◆ GetDuDtCoefficient()

template<unsigned DIM>
double CellwiseSourceParabolicPde< DIM >::GetDuDtCoefficient ( ) const
Returns
mDuDtCoefficient

Definition at line 79 of file CellwiseSourceParabolicPde.cpp.

◆ GetLinearCoefficient()

template<unsigned DIM>
double CellwiseSourceParabolicPde< DIM >::GetLinearCoefficient ( ) const
Returns
mLinearSourceCoefficient

Definition at line 67 of file CellwiseSourceParabolicPde.cpp.

◆ GetScaleByCellVolume()

template<unsigned DIM>
bool CellwiseSourceParabolicPde< DIM >::GetScaleByCellVolume ( ) const
Returns
mScaleByCellVolume

Definition at line 85 of file CellwiseSourceParabolicPde.cpp.

◆ rGetCellPopulation()

template<unsigned DIM>
const AbstractCellPopulation< DIM, DIM > & CellwiseSourceParabolicPde< DIM >::rGetCellPopulation ( ) const
Returns
const reference to the cell population (used in archiving).

Definition at line 55 of file CellwiseSourceParabolicPde.cpp.

◆ serialize()

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

Friends And Related Symbol Documentation

◆ boost::serialization::access

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

Needed for serialization.

Definition at line 70 of file CellwiseSourceParabolicPde.hpp.

◆ TestCellBasedParabolicPdes

template<unsigned DIM>
friend class TestCellBasedParabolicPdes
friend

Definition at line 65 of file CellwiseSourceParabolicPde.hpp.

Member Data Documentation

◆ mConstantSourceCoefficient

template<unsigned DIM>
double CellwiseSourceParabolicPde< DIM >::mConstantSourceCoefficient
protected

Coefficient of constant source term.

Definition at line 94 of file CellwiseSourceParabolicPde.hpp.

Referenced by CellwiseSourceParabolicPde< DIM >::serialize().

◆ mDiffusionCoefficient

template<unsigned DIM>
double CellwiseSourceParabolicPde< DIM >::mDiffusionCoefficient
protected

Diffusion coefficient.

Definition at line 100 of file CellwiseSourceParabolicPde.hpp.

Referenced by CellwiseSourceParabolicPde< DIM >::serialize().

◆ mDuDtCoefficient

template<unsigned DIM>
double CellwiseSourceParabolicPde< DIM >::mDuDtCoefficient
protected

Coefficient of rate of change term.

Definition at line 103 of file CellwiseSourceParabolicPde.hpp.

Referenced by CellwiseSourceParabolicPde< DIM >::serialize().

◆ mLinearSourceCoefficient

template<unsigned DIM>
double CellwiseSourceParabolicPde< DIM >::mLinearSourceCoefficient
protected

Coefficient of linear source term.

Definition at line 97 of file CellwiseSourceParabolicPde.hpp.

Referenced by CellwiseSourceParabolicPde< DIM >::serialize().

◆ mrCellPopulation

template<unsigned DIM>
AbstractCellPopulation<DIM, DIM>& CellwiseSourceParabolicPde< DIM >::mrCellPopulation
protected

The cell population member.

Definition at line 91 of file CellwiseSourceParabolicPde.hpp.

◆ mScaleByCellVolume

template<unsigned DIM>
bool CellwiseSourceParabolicPde< DIM >::mScaleByCellVolume
protected

Whether to scale terms by cell volume.

Definition at line 106 of file CellwiseSourceParabolicPde.hpp.

Referenced by CellwiseSourceParabolicPde< DIM >::serialize().


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