![]() |
Chaste
Build::
|
#include <AbstractUnstructuredGridDiscreteContinuumSolver.hpp>
Inheritance diagram for AbstractUnstructuredGridDiscreteContinuumSolver< DIM >:
Collaboration diagram for AbstractUnstructuredGridDiscreteContinuumSolver< DIM >: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().