36 #ifndef ABSTRACTDISCRETECONTINUUMLINEARELLIPTICPDE_HPP_ 37 #define ABSTRACTDISCRETECONTINUUMLINEARELLIPTICPDE_HPP_ 40 #include "ChastePoint.hpp" 41 #include "UblasIncludes.hpp" 42 #include "SmartPointers.hpp" 43 #include "UblasVectorInclude.hpp" 44 #include "AbstractLinearEllipticPde.hpp" 45 #include "DiscreteSource.hpp" 46 #include "GeometryTools.hpp" 47 #include "RegularGrid.hpp" 48 #include "DiscreteContinuumMesh.hpp" 49 #include "UnitCollection.hpp" 56 template<
unsigned ELEMENT_DIM,
unsigned SPACE_DIM = ELEMENT_DIM>
91 boost::shared_ptr<DiscreteContinuumMesh<ELEMENT_DIM, SPACE_DIM> >
mpMesh;
boost::shared_ptr< RegularGrid< SPACE_DIM > > mpRegularGrid
units::quantity< unit::concentration_flow_rate > mConstantInUTerm
void SetMesh(boost::shared_ptr< DiscreteContinuumMesh< ELEMENT_DIM, SPACE_DIM > > pMesh)
boost::shared_ptr< DiscreteContinuumMesh< ELEMENT_DIM, SPACE_DIM > > mpMesh
void SetReferenceConcentration(units::quantity< unit::concentration > referenceConcentration)
c_matrix< double, SPACE_DIM, SPACE_DIM > mDiffusionTensor
virtual ~AbstractDiscreteContinuumLinearEllipticPde()
double ComputeConstantInUSourceTerm(const ChastePoint< SPACE_DIM > &rX, Element< ELEMENT_DIM, SPACE_DIM > *pElement)
void AddDiscreteSource(boost::shared_ptr< DiscreteSource< SPACE_DIM > > pDiscreteSource)
void SetContinuumConstantInUTerm(units::quantity< unit::concentration_flow_rate > constantInUTerm)
void SetUseRegularGrid(bool useRegularGrid)
virtual void UpdateDiscreteSourceStrengths()
std::vector< units::quantity< unit::concentration_flow_rate > > mDiscreteConstantSourceStrengths
void SetRegularGrid(boost::shared_ptr< RegularGrid< SPACE_DIM > > pRegularGrid)
virtual units::quantity< unit::rate > ComputeLinearInUCoeffInSourceTerm(unsigned gridIndex=0)=0
std::vector< boost::shared_ptr< DiscreteSource< SPACE_DIM > > > GetDiscreteSources()
void SetIsotropicDiffusionConstant(units::quantity< unit::diffusivity > diffusivity)
std::vector< boost::shared_ptr< DiscreteSource< SPACE_DIM > > > mDiscreteSources
units::quantity< unit::diffusivity > mDiffusivity
units::quantity< unit::concentration > mReferenceConcentration
c_matrix< double, SPACE_DIM, SPACE_DIM > ComputeDiffusionTerm(const ChastePoint< SPACE_DIM > &)
units::quantity< unit::diffusivity > ComputeIsotropicDiffusionTerm()
AbstractDiscreteContinuumLinearEllipticPde()