36 #include "AbstractDiscreteContinuumSolver.hpp" 37 #include "BaseUnits.hpp" 39 template<
unsigned DIM>
42 mpCellPopulation(NULL),
43 mCellPopulationReferenceLength(
BaseUnits::Instance()->GetReferenceLengthScale()),
44 mCellPopulationReferenceConcentration(
BaseUnits::Instance()->GetReferenceConcentrationScale()),
45 mpOutputFileHandler(),
48 IsSetupForSolve(false),
49 mWriteSolution(false),
52 mBoundaryConditions(),
53 mReferenceConcentration(
BaseUnits::Instance()->GetReferenceConcentrationScale()),
56 mHasRegularGrid(false),
57 mHasUnstructuredGrid(false)
62 template<
unsigned DIM>
68 template<
unsigned DIM>
74 template<
unsigned DIM>
80 template<
unsigned DIM>
86 template<
unsigned DIM>
92 template<
unsigned DIM>
97 EXCEPTION(
"A pde has not been set.");
102 template<
unsigned DIM>
107 EXCEPTION(
"A nonlinear pde has not been set.");
112 template<
unsigned DIM>
118 template<
unsigned DIM>
124 template<
unsigned DIM>
130 template<
unsigned DIM>
136 template<
unsigned DIM>
138 units::quantity<unit::length> cellPopulationReferenceLength,
139 units::quantity<unit::concentration> cellPopulationReferenceConcentration)
146 template<
unsigned DIM>
152 template<
unsigned DIM>
158 template<
unsigned DIM>
164 template<
unsigned DIM>
170 template<
unsigned DIM>
176 template<
unsigned DIM>
182 template<
unsigned DIM>
188 template<
unsigned DIM>
194 template<
unsigned DIM>
200 template<
unsigned DIM>
virtual std::vector< units::quantity< unit::concentration > > GetConcentrations()
void SetCellPopulation(AbstractCellPopulation< DIM > &rCellPopulation, units::quantity< unit::length > cellPopulationReferenceLength, units::quantity< unit::concentration > cellPopulationReferenceConcentration)
virtual void UpdateSolution(const std::vector< double > &rData)
void SetNonLinearPde(boost::shared_ptr< AbstractDiscreteContinuumNonLinearEllipticPde< DIM, DIM > > pPde)
void SetPde(boost::shared_ptr< AbstractDiscreteContinuumLinearEllipticPde< DIM, DIM > > pPde)
boost::shared_ptr< AbstractDiscreteContinuumLinearEllipticPde< DIM, DIM > > mpPde
bool mHasUnstructuredGrid
void SetReferenceConcentration(units::quantity< unit::concentration > referenceConcentration)
void SetWriteSolution(bool write=true)
void SetLabel(const std::string &rLabel)
boost::shared_ptr< OutputFileHandler > mpOutputFileHandler
void SetFileHandler(boost::shared_ptr< OutputFileHandler > pOutputFileHandler)
AbstractCellPopulation< DIM > * mpCellPopulation
std::vector< units::quantity< unit::concentration > > mConcentrations
virtual std::vector< double > GetSolution()
boost::shared_ptr< AbstractDiscreteContinuumLinearEllipticPde< DIM, DIM > > GetPde()
AbstractDiscreteContinuumSolver()
void AddBoundaryCondition(boost::shared_ptr< DiscreteContinuumBoundaryCondition< DIM > > pBoundaryCondition)
void SetVesselNetwork(boost::shared_ptr< VesselNetwork< DIM > > pNetwork)
bool HasUnstructuredGrid()
const std::string & GetLabel()
std::vector< boost::shared_ptr< DiscreteContinuumBoundaryCondition< DIM > > > mBoundaryConditions
boost::shared_ptr< AbstractDiscreteContinuumNonLinearEllipticPde< DIM, DIM > > GetNonLinearPde()
boost::shared_ptr< AbstractDiscreteContinuumNonLinearEllipticPde< DIM, DIM > > mpNonLinearPde
boost::shared_ptr< VesselNetwork< DIM > > mpNetwork
bool CellPopulationIsSet()
units::quantity< unit::concentration > mReferenceConcentration
std::vector< double > mSolution
units::quantity< unit::concentration > mCellPopulationReferenceConcentration
units::quantity< unit::concentration > GetReferenceConcentration()
units::quantity< unit::length > mCellPopulationReferenceLength
virtual ~AbstractDiscreteContinuumSolver()
void SetFileName(const std::string &rFilename)