Chaste
Build::
|
#include <AbstractRegularGridDiscreteContinuumSolver.hpp>
Public Member Functions | |
AbstractRegularGridDiscreteContinuumSolver () | |
virtual | ~AbstractRegularGridDiscreteContinuumSolver () |
boost::shared_ptr< RegularGrid< DIM > > | GetGrid () |
virtual std::vector< units::quantity< unit::concentration > > | GetConcentrations (const std::vector< DimensionalChastePoint< DIM > > &rSamplePoints) |
virtual std::vector< units::quantity< unit::concentration > > | GetConcentrations (boost::shared_ptr< RegularGrid< DIM > > pGrid) |
virtual std::vector< units::quantity< unit::concentration > > | GetConcentrations (boost::shared_ptr< DiscreteContinuumMesh< DIM > > pMesh) |
virtual std::vector< double > | GetSolution (const std::vector< DimensionalChastePoint< DIM > > &rSamplePoints) |
virtual std::vector< double > | GetSolution (boost::shared_ptr< RegularGrid< DIM > > pGrid) |
virtual std::vector< double > | GetSolution (boost::shared_ptr< DiscreteContinuumMesh< DIM > > pMesh) |
virtual vtkSmartPointer< vtkImageData > | GetVtkSolution () |
void | SetGrid (boost::shared_ptr< RegularGrid< DIM > > pRegularGrid) |
virtual void | Setup () |
virtual void | UpdateCellData () |
virtual void | UpdateSolution (std::vector< double > &rData) |
virtual void | UpdateSolution (std::vector< units::quantity< unit::concentration > > &rData) |
virtual void | Update () |
virtual void | Solve ()=0 |
virtual void | Write () |
Public Member Functions inherited from AbstractDiscreteContinuumSolver< DIM > | |
AbstractDiscreteContinuumSolver () | |
virtual | ~AbstractDiscreteContinuumSolver () |
void | AddBoundaryCondition (boost::shared_ptr< DiscreteContinuumBoundaryCondition< DIM > > pBoundaryCondition) |
bool | CellPopulationIsSet () |
virtual std::vector< units::quantity< unit::concentration > > | GetConcentrations () |
const std::string & | GetLabel () |
boost::shared_ptr< AbstractDiscreteContinuumNonLinearEllipticPde< DIM, DIM > > | GetNonLinearPde () |
boost::shared_ptr< AbstractDiscreteContinuumLinearEllipticPde< DIM, DIM > > | GetPde () |
units::quantity< unit::concentration > | GetReferenceConcentration () |
virtual std::vector< double > | GetSolution () |
bool | HasRegularGrid () |
bool | HasUnstructuredGrid () |
void | SetCellPopulation (AbstractCellPopulation< DIM > &rCellPopulation, units::quantity< unit::length > cellPopulationReferenceLength, units::quantity< unit::concentration > cellPopulationReferenceConcentration) |
void | SetFileHandler (boost::shared_ptr< OutputFileHandler > pOutputFileHandler) |
void | SetFileName (const std::string &rFilename) |
void | SetLabel (const std::string &rLabel) |
void | SetPde (boost::shared_ptr< AbstractDiscreteContinuumLinearEllipticPde< DIM, DIM > > pPde) |
void | SetNonLinearPde (boost::shared_ptr< AbstractDiscreteContinuumNonLinearEllipticPde< DIM, DIM > > pPde) |
void | SetReferenceConcentration (units::quantity< unit::concentration > referenceConcentration) |
void | SetVesselNetwork (boost::shared_ptr< VesselNetwork< DIM > > pNetwork) |
void | SetWriteSolution (bool write=true) |
virtual void | UpdateSolution (const std::vector< double > &rData) |
virtual void | UpdateSolution (const std::vector< units::quantity< unit::concentration > > &rData) |
Protected Attributes | |
vtkSmartPointer< vtkImageData > | mpVtkSolution |
boost::shared_ptr< RegularGrid< DIM > > | mpRegularGrid |
Protected Attributes inherited from AbstractDiscreteContinuumSolver< DIM > | |
boost::shared_ptr< VesselNetwork< DIM > > | mpNetwork |
AbstractCellPopulation< DIM > * | mpCellPopulation |
units::quantity< unit::length > | mCellPopulationReferenceLength |
units::quantity< unit::concentration > | mCellPopulationReferenceConcentration |
boost::shared_ptr< OutputFileHandler > | mpOutputFileHandler |
std::string | mFilename |
std::string | mLabel |
bool | IsSetupForSolve |
bool | mWriteSolution |
boost::shared_ptr< AbstractDiscreteContinuumLinearEllipticPde< DIM, DIM > > | mpPde |
boost::shared_ptr< AbstractDiscreteContinuumNonLinearEllipticPde< DIM, DIM > > | mpNonLinearPde |
std::vector< boost::shared_ptr< DiscreteContinuumBoundaryCondition< DIM > > > | mBoundaryConditions |
units::quantity< unit::concentration > | mReferenceConcentration |
std::vector< double > | mSolution |
std::vector< units::quantity< unit::concentration > > | mConcentrations |
bool | mHasRegularGrid |
bool | mHasUnstructuredGrid |
An abstract solver class for DiscreteContinuum continuum-discrete problems using structured grids. Concrete classes can solve PDEs or perform other computations based on interpolation of discrete entities (points/cells, lines/vessels) onto structured grids.
Definition at line 56 of file AbstractRegularGridDiscreteContinuumSolver.hpp.
AbstractRegularGridDiscreteContinuumSolver< DIM >::AbstractRegularGridDiscreteContinuumSolver | ( | ) |
Constructor
Definition at line 48 of file AbstractRegularGridDiscreteContinuumSolver.cpp.
References AbstractDiscreteContinuumSolver< DIM >::mHasRegularGrid.
|
virtual |
Destructor
Definition at line 57 of file AbstractRegularGridDiscreteContinuumSolver.cpp.
|
virtual |
Return the value of the field at the requested points
rSamplePoints | a vector of sample points |
Implements AbstractDiscreteContinuumSolver< DIM >.
Definition at line 73 of file AbstractRegularGridDiscreteContinuumSolver.cpp.
References AbstractDiscreteContinuumSolver< DIM >::mLabel, AbstractRegularGridDiscreteContinuumSolver< DIM >::mpRegularGrid, AbstractRegularGridDiscreteContinuumSolver< DIM >::mpVtkSolution, AbstractDiscreteContinuumSolver< DIM >::mReferenceConcentration, and AbstractRegularGridDiscreteContinuumSolver< DIM >::Setup().
|
virtual |
Return the value of the field at the requested points
pGrid | the sampling grid |
Implements AbstractDiscreteContinuumSolver< DIM >.
Definition at line 120 of file AbstractRegularGridDiscreteContinuumSolver.cpp.
References AbstractDiscreteContinuumSolver< DIM >::GetConcentrations(), and AbstractRegularGridDiscreteContinuumSolver< DIM >::mpRegularGrid.
|
virtual |
Return the value of the field on the nodes of the input mesh
pMesh | the mesh from which nodes are sampled |
Implements AbstractDiscreteContinuumSolver< DIM >.
Definition at line 133 of file AbstractRegularGridDiscreteContinuumSolver.cpp.
References AbstractDiscreteContinuumSolver< DIM >::GetConcentrations().
boost::shared_ptr< RegularGrid< DIM > > AbstractRegularGridDiscreteContinuumSolver< DIM >::GetGrid | ( | ) |
Return the grid
Definition at line 63 of file AbstractRegularGridDiscreteContinuumSolver.cpp.
References AbstractRegularGridDiscreteContinuumSolver< DIM >::mpRegularGrid.
Referenced by FiniteDifferenceSolver< DIM >::Solve().
|
virtual |
Return the value of the field at the requested points
rSamplePoints | the points for sampling |
Implements AbstractDiscreteContinuumSolver< DIM >.
Definition at line 139 of file AbstractRegularGridDiscreteContinuumSolver.cpp.
References AbstractDiscreteContinuumSolver< DIM >::mLabel, AbstractRegularGridDiscreteContinuumSolver< DIM >::mpRegularGrid, AbstractRegularGridDiscreteContinuumSolver< DIM >::mpVtkSolution, and AbstractRegularGridDiscreteContinuumSolver< DIM >::Setup().
|
virtual |
Return the value of the field at all points on the supplied grid
pGrid | the grid to be sampled |
Implements AbstractDiscreteContinuumSolver< DIM >.
Definition at line 186 of file AbstractRegularGridDiscreteContinuumSolver.cpp.
References AbstractDiscreteContinuumSolver< DIM >::GetSolution(), and AbstractRegularGridDiscreteContinuumSolver< DIM >::mpRegularGrid.
|
virtual |
Return the value of the field at all points on the supplied mesh nodes
pMesh | the mesh for point sampling |
Implements AbstractDiscreteContinuumSolver< DIM >.
Definition at line 199 of file AbstractRegularGridDiscreteContinuumSolver.cpp.
References AbstractDiscreteContinuumSolver< DIM >::GetSolution().
|
virtual |
Return the solution as vtk image data
Definition at line 205 of file AbstractRegularGridDiscreteContinuumSolver.cpp.
References AbstractRegularGridDiscreteContinuumSolver< DIM >::mpVtkSolution, and AbstractRegularGridDiscreteContinuumSolver< DIM >::Setup().
void AbstractRegularGridDiscreteContinuumSolver< DIM >::SetGrid | ( | boost::shared_ptr< RegularGrid< DIM > > | pRegularGrid | ) |
Set the structured grid
pRegularGrid | the structured grid |
Definition at line 215 of file AbstractRegularGridDiscreteContinuumSolver.cpp.
References AbstractRegularGridDiscreteContinuumSolver< DIM >::mpRegularGrid.
|
virtual |
Overridden Setup method.
Implements AbstractDiscreteContinuumSolver< DIM >.
Reimplemented in FiniteDifferenceSolver< DIM >.
Definition at line 221 of file AbstractRegularGridDiscreteContinuumSolver.cpp.
References AbstractRegularGridDiscreteContinuumSolver< DIM >::mpRegularGrid, AbstractRegularGridDiscreteContinuumSolver< DIM >::mpVtkSolution, and AbstractDiscreteContinuumSolver< DIM >::mSolution.
Referenced by AbstractRegularGridDiscreteContinuumSolver< DIM >::GetConcentrations(), AbstractRegularGridDiscreteContinuumSolver< DIM >::GetSolution(), AbstractRegularGridDiscreteContinuumSolver< DIM >::GetVtkSolution(), FiniteDifferenceSolver< DIM >::Setup(), DensityMap< DIM >::Solve(), DistanceMap< DIM >::Solve(), AbstractRegularGridDiscreteContinuumSolver< DIM >::UpdateCellData(), AbstractRegularGridDiscreteContinuumSolver< DIM >::UpdateSolution(), and AbstractRegularGridDiscreteContinuumSolver< DIM >::Write().
|
pure virtual |
Overridden Update method.
Implements AbstractDiscreteContinuumSolver< DIM >.
Implemented in GreensFunctionSolver< DIM >, FiniteDifferenceSolver< DIM >, DistanceMap< DIM >, DensityMap< DIM >, LacunarityCalculator< DIM >, and FunctionMap< DIM >.
|
virtual |
Overridden Update method.
Implements AbstractDiscreteContinuumSolver< DIM >.
Reimplemented in FiniteDifferenceSolver< DIM >, and LacunarityCalculator< DIM >.
Definition at line 339 of file AbstractRegularGridDiscreteContinuumSolver.cpp.
|
virtual |
Update the cell data as passed in
Implements AbstractDiscreteContinuumSolver< DIM >.
Reimplemented in LacunarityCalculator< DIM >.
Definition at line 315 of file AbstractRegularGridDiscreteContinuumSolver.cpp.
References AbstractDiscreteContinuumSolver< DIM >::CellPopulationIsSet(), AbstractDiscreteContinuumSolver< DIM >::mCellPopulationReferenceConcentration, AbstractDiscreteContinuumSolver< DIM >::mCellPopulationReferenceLength, AbstractDiscreteContinuumSolver< DIM >::mConcentrations, AbstractDiscreteContinuumSolver< DIM >::mLabel, AbstractDiscreteContinuumSolver< DIM >::mpCellPopulation, AbstractRegularGridDiscreteContinuumSolver< DIM >::mpRegularGrid, AbstractRegularGridDiscreteContinuumSolver< DIM >::mpVtkSolution, and AbstractRegularGridDiscreteContinuumSolver< DIM >::Setup().
|
virtual |
Update the solution using dimensionless data
rData | the data |
Definition at line 257 of file AbstractRegularGridDiscreteContinuumSolver.cpp.
References AbstractDiscreteContinuumSolver< DIM >::GetLabel(), AbstractDiscreteContinuumSolver< DIM >::mConcentrations, AbstractRegularGridDiscreteContinuumSolver< DIM >::mpVtkSolution, AbstractDiscreteContinuumSolver< DIM >::mReferenceConcentration, AbstractDiscreteContinuumSolver< DIM >::mSolution, and AbstractRegularGridDiscreteContinuumSolver< DIM >::Setup().
Referenced by FiniteDifferenceSolver< DIM >::DoLinearSolve(), DensityMap< DIM >::Solve(), DistanceMap< DIM >::Solve(), FiniteDifferenceSolver< DIM >::Solve(), and GreensFunctionSolver< DIM >::Solve().
|
virtual |
Update the solution using concentration data
rData | the data |
Definition at line 289 of file AbstractRegularGridDiscreteContinuumSolver.cpp.
References AbstractDiscreteContinuumSolver< DIM >::GetLabel(), AbstractDiscreteContinuumSolver< DIM >::mConcentrations, AbstractRegularGridDiscreteContinuumSolver< DIM >::mpVtkSolution, AbstractDiscreteContinuumSolver< DIM >::mReferenceConcentration, and AbstractRegularGridDiscreteContinuumSolver< DIM >::Setup().
|
virtual |
Overridden Write method. Writes the solution to file using a VTK structured grid.
Implements AbstractDiscreteContinuumSolver< DIM >.
Definition at line 345 of file AbstractRegularGridDiscreteContinuumSolver.cpp.
References AbstractDiscreteContinuumSolver< DIM >::mFilename, AbstractDiscreteContinuumSolver< DIM >::mpOutputFileHandler, AbstractRegularGridDiscreteContinuumSolver< DIM >::mpVtkSolution, RegularGridWriter::SetFilename(), RegularGridWriter::SetImage(), AbstractRegularGridDiscreteContinuumSolver< DIM >::Setup(), and RegularGridWriter::Write().
Referenced by FiniteDifferenceSolver< DIM >::DoLinearSolve(), DensityMap< DIM >::Solve(), DistanceMap< DIM >::Solve(), and FiniteDifferenceSolver< DIM >::Solve().
|
protected |
The structured grid
Definition at line 72 of file AbstractRegularGridDiscreteContinuumSolver.hpp.
Referenced by FiniteDifferenceSolver< DIM >::DoLinearSolve(), GreensFunctionSolver< DIM >::GenerateTissuePoints(), AbstractRegularGridDiscreteContinuumSolver< DIM >::GetConcentrations(), AbstractRegularGridDiscreteContinuumSolver< DIM >::GetGrid(), AbstractRegularGridDiscreteContinuumSolver< DIM >::GetSolution(), GreensFunctionSolver< DIM >::GetTissueTissueInteractionMatrix(), GreensFunctionSolver< DIM >::GetTissueVesselInteractionMatrix(), GreensFunctionSolver< DIM >::GetVesselTissueInteractionMatrix(), AbstractRegularGridDiscreteContinuumSolver< DIM >::SetGrid(), FiniteDifferenceSolver< DIM >::Setup(), AbstractRegularGridDiscreteContinuumSolver< DIM >::Setup(), LacunarityCalculator< DIM >::Solve(), DensityMap< DIM >::Solve(), DistanceMap< DIM >::Solve(), FiniteDifferenceSolver< DIM >::Solve(), GreensFunctionSolver< DIM >::Solve(), AbstractRegularGridDiscreteContinuumSolver< DIM >::UpdateCellData(), and GreensFunctionSolver< DIM >::WriteSolution().
|
protected |
The solution in the form of vtk image data
Definition at line 67 of file AbstractRegularGridDiscreteContinuumSolver.hpp.
Referenced by AbstractRegularGridDiscreteContinuumSolver< DIM >::GetConcentrations(), AbstractRegularGridDiscreteContinuumSolver< DIM >::GetSolution(), AbstractRegularGridDiscreteContinuumSolver< DIM >::GetVtkSolution(), AbstractRegularGridDiscreteContinuumSolver< DIM >::Setup(), DensityMap< DIM >::Solve(), DistanceMap< DIM >::Solve(), AbstractRegularGridDiscreteContinuumSolver< DIM >::UpdateCellData(), AbstractRegularGridDiscreteContinuumSolver< DIM >::UpdateSolution(), AbstractRegularGridDiscreteContinuumSolver< DIM >::Write(), and GreensFunctionSolver< DIM >::WriteSolution().