Chaste  Build::
AbstractDiscreteContinuumNonLinearEllipticPde< ELEMENT_DIM, SPACE_DIM > Class Template Referenceabstract

#include <AbstractDiscreteContinuumNonLinearEllipticPde.hpp>

+ Inheritance diagram for AbstractDiscreteContinuumNonLinearEllipticPde< ELEMENT_DIM, SPACE_DIM >:
+ Collaboration diagram for AbstractDiscreteContinuumNonLinearEllipticPde< ELEMENT_DIM, SPACE_DIM >:

Public Member Functions

 AbstractDiscreteContinuumNonLinearEllipticPde ()
 
virtual ~AbstractDiscreteContinuumNonLinearEllipticPde ()
 
void AddDiscreteSource (boost::shared_ptr< DiscreteSource< SPACE_DIM > > pDiscreteSource)
 
virtual units::quantity< unit::concentration_flow_rate > ComputeConstantInUSourceTerm (unsigned gridIndex=0)
 
units::quantity< unit::diffusivity > ComputeIsotropicDiffusionTerm ()
 
virtual units::quantity< unit::rate > ComputeLinearInUCoeffInSourceTerm (unsigned gridIndex=0)
 
virtual units::quantity< unit::concentration_flow_rate > ComputeNonlinearSourceTerm (unsigned gridIndex, units::quantity< unit::concentration > u)=0
 
virtual units::quantity< unit::rate > ComputeNonlinearSourceTermPrime (unsigned gridIndex, units::quantity< unit::concentration > u)=0
 
std::vector< boost::shared_ptr< DiscreteSource< SPACE_DIM > > > GetDiscreteSources ()
 
void SetContinuumConstantInUTerm (units::quantity< unit::concentration_flow_rate > constantInUTerm)
 
void SetIsotropicDiffusionConstant (units::quantity< unit::diffusivity > diffusivity)
 
void SetContinuumLinearInUTerm (units::quantity< unit::rate > linearInUTerm)
 
void SetRegularGrid (boost::shared_ptr< RegularGrid< SPACE_DIM > > pRegularGrid)
 
void SetMesh (boost::shared_ptr< TetrahedralMesh< ELEMENT_DIM, SPACE_DIM > > pMesh)
 
void SetUseRegularGrid (bool useRegularGrid)
 
virtual void UpdateDiscreteSourceStrengths ()
 

Protected Attributes

c_matrix< double, SPACE_DIM, SPACE_DIM > mDiffusionTensor
 
units::quantity< unit::diffusivity > mDiffusivity
 
units::quantity< unit::concentration_flow_rate > mConstantInUTerm
 
units::quantity< unit::rate > mLinearInUTerm
 
std::vector< boost::shared_ptr< DiscreteSource< SPACE_DIM > > > mDiscreteSources
 
boost::shared_ptr< RegularGrid< SPACE_DIM > > mpRegularGrid
 
boost::shared_ptr< TetrahedralMesh< ELEMENT_DIM, SPACE_DIM > > mpMesh
 
bool mUseRegularGrid
 
std::vector< units::quantity< unit::concentration_flow_rate > > mDiscreteConstantSourceStrengths
 
std::vector< units::quantity< unit::rate > > mDiscreteLinearSourceStrengths
 

Detailed Description

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM = ELEMENT_DIM>
class AbstractDiscreteContinuumNonLinearEllipticPde< ELEMENT_DIM, SPACE_DIM >

Non-Linear Elliptic PDE with both continuum and discrete source terms. There is repition with LinearSteadyStateDiffusionReactionPde to avoid multiple inheritance.

Definition at line 55 of file AbstractDiscreteContinuumNonLinearEllipticPde.hpp.

Constructor & Destructor Documentation

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
AbstractDiscreteContinuumNonLinearEllipticPde< ELEMENT_DIM, SPACE_DIM >::~AbstractDiscreteContinuumNonLinearEllipticPde ( )
virtual

Desctructor

Definition at line 57 of file AbstractDiscreteContinuumNonLinearEllipticPde.cpp.

Member Function Documentation

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void AbstractDiscreteContinuumNonLinearEllipticPde< ELEMENT_DIM, SPACE_DIM >::AddDiscreteSource ( boost::shared_ptr< DiscreteSource< SPACE_DIM > >  pDiscreteSource)

Add a discrete source to the pde

Parameters
pDiscreteSourcea pointer the discrete source

Definition at line 63 of file AbstractDiscreteContinuumNonLinearEllipticPde.cpp.

References AbstractDiscreteContinuumNonLinearEllipticPde< ELEMENT_DIM, SPACE_DIM >::mDiscreteSources.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
units::quantity< unit::concentration_flow_rate > AbstractDiscreteContinuumNonLinearEllipticPde< ELEMENT_DIM, SPACE_DIM >::ComputeConstantInUSourceTerm ( unsigned  gridIndex = 0)
virtual
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
units::quantity< unit::diffusivity > AbstractDiscreteContinuumNonLinearEllipticPde< ELEMENT_DIM, SPACE_DIM >::ComputeIsotropicDiffusionTerm ( )

Return the diffusion constant for isotropic diffusion

Returns
the diffusion constant

Definition at line 69 of file AbstractDiscreteContinuumNonLinearEllipticPde.cpp.

References AbstractDiscreteContinuumNonLinearEllipticPde< ELEMENT_DIM, SPACE_DIM >::mDiffusivity.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
units::quantity< unit::rate > AbstractDiscreteContinuumNonLinearEllipticPde< ELEMENT_DIM, SPACE_DIM >::ComputeLinearInUCoeffInSourceTerm ( unsigned  gridIndex = 0)
virtual
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM = ELEMENT_DIM>
virtual units::quantity<unit::concentration_flow_rate> AbstractDiscreteContinuumNonLinearEllipticPde< ELEMENT_DIM, SPACE_DIM >::ComputeNonlinearSourceTerm ( unsigned  gridIndex,
units::quantity< unit::concentration >  u 
)
pure virtual

Abstract method to return the non linear contribution to the regular grid solvers

Parameters
gridIndexgrid index
uthe concentration
Returns
source strength

Implemented in MichaelisMentenSteadyStateDiffusionReactionPde< ELEMENT_DIM, SPACE_DIM >.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM = ELEMENT_DIM>
virtual units::quantity<unit::rate> AbstractDiscreteContinuumNonLinearEllipticPde< ELEMENT_DIM, SPACE_DIM >::ComputeNonlinearSourceTermPrime ( unsigned  gridIndex,
units::quantity< unit::concentration >  u 
)
pure virtual

Abstract method to return the non linear prime contribution to the regular grid solvers

Parameters
gridIndexgrid index
uthe concentration
Returns
source strength

Implemented in MichaelisMentenSteadyStateDiffusionReactionPde< ELEMENT_DIM, SPACE_DIM >.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
std::vector< boost::shared_ptr< DiscreteSource< SPACE_DIM > > > AbstractDiscreteContinuumNonLinearEllipticPde< ELEMENT_DIM, SPACE_DIM >::GetDiscreteSources ( )

Return the collection of discrete sources

Returns
vector of pointers to the discrete sources

Definition at line 109 of file AbstractDiscreteContinuumNonLinearEllipticPde.cpp.

References AbstractDiscreteContinuumNonLinearEllipticPde< ELEMENT_DIM, SPACE_DIM >::mDiscreteSources.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void AbstractDiscreteContinuumNonLinearEllipticPde< ELEMENT_DIM, SPACE_DIM >::SetContinuumConstantInUTerm ( units::quantity< unit::concentration_flow_rate >  constantInUTerm)

Set the continuum constant in U term

Parameters
constantInUTermthe continuum constant in U term

Definition at line 115 of file AbstractDiscreteContinuumNonLinearEllipticPde.cpp.

References AbstractDiscreteContinuumNonLinearEllipticPde< ELEMENT_DIM, SPACE_DIM >::mConstantInUTerm.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void AbstractDiscreteContinuumNonLinearEllipticPde< ELEMENT_DIM, SPACE_DIM >::SetContinuumLinearInUTerm ( units::quantity< unit::rate >  linearInUTerm)

Set the linear constant in U term

Parameters
linearInUTermthe linear constant in U term

Definition at line 128 of file AbstractDiscreteContinuumNonLinearEllipticPde.cpp.

References AbstractDiscreteContinuumNonLinearEllipticPde< ELEMENT_DIM, SPACE_DIM >::mLinearInUTerm.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void AbstractDiscreteContinuumNonLinearEllipticPde< ELEMENT_DIM, SPACE_DIM >::SetIsotropicDiffusionConstant ( units::quantity< unit::diffusivity >  diffusivity)
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void AbstractDiscreteContinuumNonLinearEllipticPde< ELEMENT_DIM, SPACE_DIM >::SetMesh ( boost::shared_ptr< TetrahedralMesh< ELEMENT_DIM, SPACE_DIM > >  pMesh)

Set the finite element mesh

Parameters
pMeshthe finite element mesh

Definition at line 140 of file AbstractDiscreteContinuumNonLinearEllipticPde.cpp.

References AbstractDiscreteContinuumNonLinearEllipticPde< ELEMENT_DIM, SPACE_DIM >::mpMesh.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void AbstractDiscreteContinuumNonLinearEllipticPde< ELEMENT_DIM, SPACE_DIM >::SetRegularGrid ( boost::shared_ptr< RegularGrid< SPACE_DIM > >  pRegularGrid)

Set the regular grid

Parameters
pRegularGridthe regular grid

Definition at line 134 of file AbstractDiscreteContinuumNonLinearEllipticPde.cpp.

References AbstractDiscreteContinuumNonLinearEllipticPde< ELEMENT_DIM, SPACE_DIM >::mpRegularGrid.

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM>
void AbstractDiscreteContinuumNonLinearEllipticPde< ELEMENT_DIM, SPACE_DIM >::SetUseRegularGrid ( bool  useRegularGrid)

Set whether to use a regular grid

Parameters
useRegularGridwhether to use a regular grid

Definition at line 146 of file AbstractDiscreteContinuumNonLinearEllipticPde.cpp.

References AbstractDiscreteContinuumNonLinearEllipticPde< ELEMENT_DIM, SPACE_DIM >::mUseRegularGrid.

Member Data Documentation

template<unsigned ELEMENT_DIM, unsigned SPACE_DIM = ELEMENT_DIM>
units::quantity<unit::concentration_flow_rate> AbstractDiscreteContinuumNonLinearEllipticPde< ELEMENT_DIM, SPACE_DIM >::mConstantInUTerm
protected
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM = ELEMENT_DIM>
c_matrix<double, SPACE_DIM, SPACE_DIM> AbstractDiscreteContinuumNonLinearEllipticPde< ELEMENT_DIM, SPACE_DIM >::mDiffusionTensor
protected
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM = ELEMENT_DIM>
std::vector<units::quantity<unit::concentration_flow_rate> > AbstractDiscreteContinuumNonLinearEllipticPde< ELEMENT_DIM, SPACE_DIM >::mDiscreteConstantSourceStrengths
protected
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM = ELEMENT_DIM>
std::vector<units::quantity<unit::rate> > AbstractDiscreteContinuumNonLinearEllipticPde< ELEMENT_DIM, SPACE_DIM >::mDiscreteLinearSourceStrengths
protected
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM = ELEMENT_DIM>
std::vector<boost::shared_ptr<DiscreteSource<SPACE_DIM> > > AbstractDiscreteContinuumNonLinearEllipticPde< ELEMENT_DIM, SPACE_DIM >::mDiscreteSources
protected
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM = ELEMENT_DIM>
units::quantity<unit::rate> AbstractDiscreteContinuumNonLinearEllipticPde< ELEMENT_DIM, SPACE_DIM >::mLinearInUTerm
protected
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM = ELEMENT_DIM>
boost::shared_ptr<TetrahedralMesh<ELEMENT_DIM, SPACE_DIM> > AbstractDiscreteContinuumNonLinearEllipticPde< ELEMENT_DIM, SPACE_DIM >::mpMesh
protected
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM = ELEMENT_DIM>
boost::shared_ptr<RegularGrid<SPACE_DIM> > AbstractDiscreteContinuumNonLinearEllipticPde< ELEMENT_DIM, SPACE_DIM >::mpRegularGrid
protected
template<unsigned ELEMENT_DIM, unsigned SPACE_DIM = ELEMENT_DIM>
bool AbstractDiscreteContinuumNonLinearEllipticPde< ELEMENT_DIM, SPACE_DIM >::mUseRegularGrid
protected

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