Chaste
Build::
|
#include <AbstractUnstructuredGridDiscreteContinuumSolver.hpp>
Public Member Functions | |
AbstractUnstructuredGridDiscreteContinuumSolver () | |
virtual | ~AbstractUnstructuredGridDiscreteContinuumSolver () |
boost::shared_ptr< DiscreteContinuumMesh< DIM > > | GetMesh () |
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< units::quantity< unit::concentration > > | GetConcentrationsAtCentroids () |
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< vtkUnstructuredGrid > | GetVtkSolution () |
void | SetMesh (boost::shared_ptr< DiscreteContinuumMesh< DIM, DIM > > pMesh) |
virtual void | Setup () |
virtual void | UpdateSolution (const std::vector< double > &rData) |
virtual void | UpdateElementSolution (const std::vector< double > &rData) |
virtual void | UpdateSolution (const std::vector< units::quantity< unit::concentration > > &rData) |
virtual void | UpdateCellData () |
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) |
Protected Attributes | |
vtkSmartPointer< vtkUnstructuredGrid > | mpVtkSolution |
boost::shared_ptr< DiscreteContinuumMesh< DIM, DIM > > | mpMesh |
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 57 of file AbstractUnstructuredGridDiscreteContinuumSolver.hpp.
AbstractUnstructuredGridDiscreteContinuumSolver< DIM >::AbstractUnstructuredGridDiscreteContinuumSolver | ( | ) |
Constructor
Definition at line 46 of file AbstractUnstructuredGridDiscreteContinuumSolver.cpp.
References AbstractDiscreteContinuumSolver< DIM >::mHasUnstructuredGrid.
|
virtual |
Destructor
Definition at line 55 of file AbstractUnstructuredGridDiscreteContinuumSolver.cpp.
|
virtual |
Return the value of the field at the requested points
rSamplePoints | a vector of sample points |
Implements AbstractDiscreteContinuumSolver< DIM >.
Definition at line 118 of file AbstractUnstructuredGridDiscreteContinuumSolver.cpp.
References AbstractDiscreteContinuumSolver< DIM >::mLabel, AbstractUnstructuredGridDiscreteContinuumSolver< DIM >::mpMesh, AbstractUnstructuredGridDiscreteContinuumSolver< DIM >::mpVtkSolution, AbstractDiscreteContinuumSolver< DIM >::mReferenceConcentration, and AbstractUnstructuredGridDiscreteContinuumSolver< DIM >::Setup().
|
virtual |
Return the value of the field at the requested points
pGrid | the sampling grid |
Implements AbstractDiscreteContinuumSolver< DIM >.
Definition at line 166 of file AbstractUnstructuredGridDiscreteContinuumSolver.cpp.
References AbstractDiscreteContinuumSolver< DIM >::GetConcentrations().
|
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 172 of file AbstractUnstructuredGridDiscreteContinuumSolver.cpp.
References AbstractDiscreteContinuumSolver< DIM >::GetConcentrations(), and AbstractUnstructuredGridDiscreteContinuumSolver< DIM >::mpMesh.
|
virtual |
Return the value of the field at the mesh centroids
Definition at line 71 of file AbstractUnstructuredGridDiscreteContinuumSolver.cpp.
References AbstractDiscreteContinuumSolver< DIM >::mLabel, AbstractUnstructuredGridDiscreteContinuumSolver< DIM >::mpMesh, AbstractUnstructuredGridDiscreteContinuumSolver< DIM >::mpVtkSolution, AbstractDiscreteContinuumSolver< DIM >::mReferenceConcentration, and AbstractUnstructuredGridDiscreteContinuumSolver< DIM >::Setup().
boost::shared_ptr< DiscreteContinuumMesh< DIM > > AbstractUnstructuredGridDiscreteContinuumSolver< DIM >::GetMesh | ( | ) |
Return the mesh
Definition at line 61 of file AbstractUnstructuredGridDiscreteContinuumSolver.cpp.
References AbstractUnstructuredGridDiscreteContinuumSolver< DIM >::mpMesh.
|
virtual |
Return the value of the field at the requested points
rSamplePoints | the points for sampling |
Implements AbstractDiscreteContinuumSolver< DIM >.
Definition at line 185 of file AbstractUnstructuredGridDiscreteContinuumSolver.cpp.
References AbstractDiscreteContinuumSolver< DIM >::mLabel, AbstractUnstructuredGridDiscreteContinuumSolver< DIM >::mpMesh, AbstractUnstructuredGridDiscreteContinuumSolver< DIM >::mpVtkSolution, and AbstractUnstructuredGridDiscreteContinuumSolver< 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 232 of file AbstractUnstructuredGridDiscreteContinuumSolver.cpp.
References AbstractDiscreteContinuumSolver< DIM >::GetSolution().
|
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 238 of file AbstractUnstructuredGridDiscreteContinuumSolver.cpp.
References AbstractDiscreteContinuumSolver< DIM >::GetSolution(), and AbstractUnstructuredGridDiscreteContinuumSolver< DIM >::mpMesh.
|
virtual |
Return the solution as vtk image data
Definition at line 251 of file AbstractUnstructuredGridDiscreteContinuumSolver.cpp.
References AbstractUnstructuredGridDiscreteContinuumSolver< DIM >::mpVtkSolution, and AbstractUnstructuredGridDiscreteContinuumSolver< DIM >::Setup().
void AbstractUnstructuredGridDiscreteContinuumSolver< DIM >::SetMesh | ( | boost::shared_ptr< DiscreteContinuumMesh< DIM, DIM > > | pMesh | ) |
Set the mesh
pMesh | the finite element mesh |
Definition at line 261 of file AbstractUnstructuredGridDiscreteContinuumSolver.cpp.
References AbstractUnstructuredGridDiscreteContinuumSolver< DIM >::mpMesh.
|
virtual |
Overridden Setup method.
Implements AbstractDiscreteContinuumSolver< DIM >.
Definition at line 267 of file AbstractUnstructuredGridDiscreteContinuumSolver.cpp.
References AbstractUnstructuredGridDiscreteContinuumSolver< DIM >::mpMesh, AbstractDiscreteContinuumSolver< DIM >::mpNetwork, AbstractUnstructuredGridDiscreteContinuumSolver< DIM >::mpVtkSolution, and AbstractDiscreteContinuumSolver< DIM >::mSolution.
Referenced by AbstractUnstructuredGridDiscreteContinuumSolver< DIM >::GetConcentrations(), AbstractUnstructuredGridDiscreteContinuumSolver< DIM >::GetConcentrationsAtCentroids(), AbstractUnstructuredGridDiscreteContinuumSolver< DIM >::GetSolution(), AbstractUnstructuredGridDiscreteContinuumSolver< DIM >::GetVtkSolution(), FiniteElementSolver< DIM >::Solve(), AbstractUnstructuredGridDiscreteContinuumSolver< DIM >::UpdateCellData(), AbstractUnstructuredGridDiscreteContinuumSolver< DIM >::UpdateElementSolution(), AbstractUnstructuredGridDiscreteContinuumSolver< DIM >::UpdateSolution(), and AbstractUnstructuredGridDiscreteContinuumSolver< DIM >::Write().
|
pure virtual |
Overridden Update method.
Implements AbstractDiscreteContinuumSolver< DIM >.
Implemented in FiniteElementSolver< DIM >.
|
virtual |
Overridden Update method.
Implements AbstractDiscreteContinuumSolver< DIM >.
Reimplemented in FiniteElementSolver< DIM >.
Definition at line 383 of file AbstractUnstructuredGridDiscreteContinuumSolver.cpp.
|
virtual |
Update the cell data as passed in
Implements AbstractDiscreteContinuumSolver< DIM >.
Definition at line 358 of file AbstractUnstructuredGridDiscreteContinuumSolver.cpp.
References AbstractDiscreteContinuumSolver< DIM >::CellPopulationIsSet(), AbstractUnstructuredGridDiscreteContinuumSolver< DIM >::mpVtkSolution, and AbstractUnstructuredGridDiscreteContinuumSolver< DIM >::Setup().
|
virtual |
Update the element solution using dimensionless data
rData | the data |
Definition at line 313 of file AbstractUnstructuredGridDiscreteContinuumSolver.cpp.
References AbstractDiscreteContinuumSolver< DIM >::GetLabel(), AbstractUnstructuredGridDiscreteContinuumSolver< DIM >::mpVtkSolution, and AbstractUnstructuredGridDiscreteContinuumSolver< DIM >::Setup().
|
virtual |
Update the solution using dimensionless data
rData | the data |
Reimplemented from AbstractDiscreteContinuumSolver< DIM >.
Definition at line 287 of file AbstractUnstructuredGridDiscreteContinuumSolver.cpp.
References AbstractDiscreteContinuumSolver< DIM >::GetLabel(), AbstractUnstructuredGridDiscreteContinuumSolver< DIM >::mpVtkSolution, AbstractDiscreteContinuumSolver< DIM >::mSolution, and AbstractUnstructuredGridDiscreteContinuumSolver< DIM >::Setup().
Referenced by FiniteElementSolver< DIM >::Solve().
|
virtual |
Update the solution using concentration data
rData | the data |
Reimplemented from AbstractDiscreteContinuumSolver< DIM >.
Definition at line 332 of file AbstractUnstructuredGridDiscreteContinuumSolver.cpp.
References AbstractDiscreteContinuumSolver< DIM >::GetLabel(), AbstractDiscreteContinuumSolver< DIM >::mConcentrations, AbstractUnstructuredGridDiscreteContinuumSolver< DIM >::mpVtkSolution, AbstractDiscreteContinuumSolver< DIM >::mReferenceConcentration, and AbstractUnstructuredGridDiscreteContinuumSolver< DIM >::Setup().
|
virtual |
Overridden Write method. Writes the solution to file
Implements AbstractDiscreteContinuumSolver< DIM >.
Definition at line 389 of file AbstractUnstructuredGridDiscreteContinuumSolver.cpp.
References AbstractDiscreteContinuumSolver< DIM >::mFilename, AbstractDiscreteContinuumSolver< DIM >::mpOutputFileHandler, AbstractUnstructuredGridDiscreteContinuumSolver< DIM >::mpVtkSolution, and AbstractUnstructuredGridDiscreteContinuumSolver< DIM >::Setup().
Referenced by FiniteElementSolver< DIM >::Solve().
|
protected |
The finite element mesh
Definition at line 73 of file AbstractUnstructuredGridDiscreteContinuumSolver.hpp.
Referenced by AbstractUnstructuredGridDiscreteContinuumSolver< DIM >::GetConcentrations(), AbstractUnstructuredGridDiscreteContinuumSolver< DIM >::GetConcentrationsAtCentroids(), AbstractUnstructuredGridDiscreteContinuumSolver< DIM >::GetMesh(), AbstractUnstructuredGridDiscreteContinuumSolver< DIM >::GetSolution(), AbstractUnstructuredGridDiscreteContinuumSolver< DIM >::SetMesh(), AbstractUnstructuredGridDiscreteContinuumSolver< DIM >::Setup(), and FiniteElementSolver< DIM >::Solve().
|
protected |
The solution in VTK form
Definition at line 68 of file AbstractUnstructuredGridDiscreteContinuumSolver.hpp.
Referenced by AbstractUnstructuredGridDiscreteContinuumSolver< DIM >::GetConcentrations(), AbstractUnstructuredGridDiscreteContinuumSolver< DIM >::GetConcentrationsAtCentroids(), AbstractUnstructuredGridDiscreteContinuumSolver< DIM >::GetSolution(), AbstractUnstructuredGridDiscreteContinuumSolver< DIM >::GetVtkSolution(), AbstractUnstructuredGridDiscreteContinuumSolver< DIM >::Setup(), AbstractUnstructuredGridDiscreteContinuumSolver< DIM >::UpdateCellData(), AbstractUnstructuredGridDiscreteContinuumSolver< DIM >::UpdateElementSolution(), AbstractUnstructuredGridDiscreteContinuumSolver< DIM >::UpdateSolution(), and AbstractUnstructuredGridDiscreteContinuumSolver< DIM >::Write().