36 #include "GeometryTools.hpp" 37 #include "MichaelisMentenSteadyStateDiffusionReactionPde.hpp" 39 template<
unsigned ELEMENT_DIM,
unsigned SPACE_DIM>
42 mMichaelisMentenThreshold(1.0*
unit::mole_per_metre_cubed)
47 template<
unsigned ELEMENT_DIM,
unsigned SPACE_DIM>
54 template<
unsigned ELEMENT_DIM,
unsigned SPACE_DIM>
60 template<
unsigned ELEMENT_DIM,
unsigned SPACE_DIM>
66 template<
unsigned ELEMENT_DIM,
unsigned SPACE_DIM>
71 EXCEPTION(
"Requested out of bound grid index in discrete sources. Maybe you forgot to update the source strengths.");
76 template<
unsigned ELEMENT_DIM,
unsigned SPACE_DIM>
82 template<
unsigned ELEMENT_DIM,
unsigned SPACE_DIM>
85 return zero_matrix<double>(SPACE_DIM);
88 template<
unsigned ELEMENT_DIM,
unsigned SPACE_DIM>
94 template<
unsigned ELEMENT_DIM,
unsigned SPACE_DIM>
99 EXCEPTION(
"Requested out of bound grid index in discrete sources. Maybe you forgot to update the source strengths.");
104 template<
unsigned ELEMENT_DIM,
unsigned SPACE_DIM>
110 template<
unsigned ELEMENT_DIM,
unsigned SPACE_DIM>
123 template<
unsigned ELEMENT_DIM,
unsigned SPACE_DIM>
132 units::quantity<unit::concentration> u_scaled = u*unit::mole_per_metre_cubed;
137 template<
unsigned ELEMENT_DIM,
unsigned SPACE_DIM>
139 units::quantity<unit::concentration> u)
141 if(u<0.0*unit::mole_per_metre_cubed)
151 template<
unsigned ELEMENT_DIM,
unsigned SPACE_DIM>
153 units::quantity<unit::concentration> u)
155 if(u<0.0*unit::mole_per_metre_cubed)
166 template<
unsigned ELEMENT_DIM,
unsigned SPACE_DIM>
172 template<
unsigned ELEMENT_DIM,
unsigned SPACE_DIM>
units::quantity< unit::concentration > GetMichaelisMentenThreshold()
void SetMichaelisMentenThreshold(units::quantity< unit::concentration > threshold)
MichaelisMentenSteadyStateDiffusionReactionPde()
virtual ~MichaelisMentenSteadyStateDiffusionReactionPde()
double ComputeLinearInUCoeffInSourceTerm(const ChastePoint< SPACE_DIM > &rX, Element< ELEMENT_DIM, SPACE_DIM > *pElement)
units::quantity< unit::rate > mLinearInUTerm
c_matrix< double, SPACE_DIM, SPACE_DIM > ComputeDiffusionTerm(const ChastePoint< SPACE_DIM > &rX, double u)
std::vector< units::quantity< unit::rate > > mDiscreteLinearSourceStrengths
units::quantity< unit::concentration > mMichaelisMentenThreshold
c_matrix< double, SPACE_DIM, SPACE_DIM > ComputeDiffusionTermPrime(const ChastePoint< SPACE_DIM > &rX, double u)
double ComputeConstantInUSourceTerm(const ChastePoint< SPACE_DIM > &rX, Element< ELEMENT_DIM, SPACE_DIM > *pElement)
std::vector< units::quantity< unit::concentration_flow_rate > > mDiscreteConstantSourceStrengths
c_matrix< double, ELEMENT_DIM, ELEMENT_DIM > mDiffusionTensor
static boost::shared_ptr< MichaelisMentenSteadyStateDiffusionReactionPde< ELEMENT_DIM, SPACE_DIM > > Create()
units::quantity< unit::concentration_flow_rate > mConstantInUTerm
double ComputeLinearSourceTerm(const ChastePoint< SPACE_DIM > &rX)
double ComputeNonlinearSourceTermPrime(const ChastePoint< SPACE_DIM > &rX, double u)
double ComputeNonlinearSourceTerm(const ChastePoint< SPACE_DIM > &rX, double u)