Chaste
Build::
|
#include <MicrovesselSolver.hpp>
Public Member Functions | |
MicrovesselSolver () | |
virtual | ~MicrovesselSolver () |
void | AddDiscreteContinuumSolver (boost::shared_ptr< AbstractDiscreteContinuumSolver< DIM > > pDiscreteContinuumSolver) |
std::vector< boost::shared_ptr< AbstractDiscreteContinuumSolver< DIM > > > | GetDiscreteContinuumSolvers () |
void | Increment () |
void | Run () |
void | SetAngiogenesisSolver (boost::shared_ptr< AngiogenesisSolver< DIM > > pAngiogenesisSolver) |
void | SetOutputFileHandler (boost::shared_ptr< OutputFileHandler > pFileHandler) |
void | SetOutputFrequency (unsigned frequency) |
void | SetUpdatePdeEachSolve (bool doUpdate) |
void | SetStructuralAdaptationSolver (boost::shared_ptr< StructuralAdaptationSolver< DIM > > pStructuralAdaptationSolver) |
void | SetupFromModifier (AbstractCellPopulation< DIM, DIM > &rCellPopulation, units::quantity< unit::length > cellReferenceLength, units::quantity< unit::concentration > cellReferenceConcentration, const std::string &rDirectory) |
void | Setup () |
void | SetDiscreteContinuumSolversHaveCompatibleGridIndexing (bool compatibleIndexing) |
void | SetVesselNetwork (boost::shared_ptr< VesselNetwork< DIM > > pNetwork) |
void | SetRegressionSolver (boost::shared_ptr< RegressionSolver< DIM > > pRegressionSolver) |
void | UpdateCellData (std::vector< std::string > labels) |
Static Public Member Functions | |
static boost::shared_ptr< MicrovesselSolver > | Create () |
Private Attributes | |
boost::shared_ptr< VesselNetwork< DIM > > | mpNetwork |
unsigned | mOutputFrequency |
boost::shared_ptr< OutputFileHandler > | mpOutputFileHandler |
std::vector< boost::shared_ptr< AbstractDiscreteContinuumSolver< DIM > > > | mDiscreteContinuumSolvers |
boost::shared_ptr< StructuralAdaptationSolver< DIM > > | mpStructuralAdaptationSolver |
boost::shared_ptr< AngiogenesisSolver< DIM > > | mpAngiogenesisSolver |
boost::shared_ptr< RegressionSolver< DIM > > | mpRegressionSolver |
bool | mDiscreteContinuumSolversHaveCompatibleGridIndexing |
bool | mUpdatePdeEachSolve |
This class manages the solution of vascular tumour growth problems. It steps through time, solves a collection of DiscreteContinuum discrete-continuum PDEs and, if required, updates the vessel network. For linking with discrete cell models it can be added to a VascularTumourGrowth simulation modifier.
Definition at line 56 of file MicrovesselSolver.hpp.
MicrovesselSolver< DIM >::MicrovesselSolver | ( | ) |
Constructor.
Definition at line 45 of file MicrovesselSolver.cpp.
|
virtual |
Destructor.
Definition at line 60 of file MicrovesselSolver.cpp.
void MicrovesselSolver< DIM >::AddDiscreteContinuumSolver | ( | boost::shared_ptr< AbstractDiscreteContinuumSolver< DIM > > | pDiscreteContinuumSolver | ) |
Add a DiscreteContinuum solver to the collection
pDiscreteContinuumSolver | a discrete-continuum solver |
Definition at line 85 of file MicrovesselSolver.cpp.
References MicrovesselSolver< DIM >::mDiscreteContinuumSolvers.
|
static |
Factory constructor method
Definition at line 66 of file MicrovesselSolver.cpp.
std::vector< boost::shared_ptr< AbstractDiscreteContinuumSolver< DIM > > > MicrovesselSolver< DIM >::GetDiscreteContinuumSolvers | ( | ) |
Return the current DiscreteContinuum solvers
Definition at line 91 of file MicrovesselSolver.cpp.
References MicrovesselSolver< DIM >::mDiscreteContinuumSolvers.
void MicrovesselSolver< DIM >::Increment | ( | ) |
Increment one step in time
Definition at line 96 of file MicrovesselSolver.cpp.
References VesselNetworkWriter< DIM >::Create(), MicrovesselSolver< DIM >::mDiscreteContinuumSolvers, MicrovesselSolver< DIM >::mDiscreteContinuumSolversHaveCompatibleGridIndexing, MicrovesselSolver< DIM >::mOutputFrequency, MicrovesselSolver< DIM >::mpAngiogenesisSolver, MicrovesselSolver< DIM >::mpNetwork, MicrovesselSolver< DIM >::mpOutputFileHandler, MicrovesselSolver< DIM >::mpRegressionSolver, MicrovesselSolver< DIM >::mpStructuralAdaptationSolver, MicrovesselSolver< DIM >::mUpdatePdeEachSolve, and SolutionDependentDiscreteSource< DIM >::SetSolution().
Referenced by MicrovesselSolver< DIM >::Run().
void MicrovesselSolver< DIM >::Run | ( | ) |
Run until the specified end time
Definition at line 184 of file MicrovesselSolver.cpp.
References VesselNetworkWriter< DIM >::Create(), MicrovesselSolver< DIM >::Increment(), MicrovesselSolver< DIM >::mpNetwork, MicrovesselSolver< DIM >::mpOutputFileHandler, and MicrovesselSolver< DIM >::Setup().
void MicrovesselSolver< DIM >::SetAngiogenesisSolver | ( | boost::shared_ptr< AngiogenesisSolver< DIM > > | pAngiogenesisSolver | ) |
Set the angiogenesis solver for the network
pAngiogenesisSolver | the solver for structural adaptation |
Definition at line 205 of file MicrovesselSolver.cpp.
References MicrovesselSolver< DIM >::mpAngiogenesisSolver.
void MicrovesselSolver< DIM >::SetDiscreteContinuumSolversHaveCompatibleGridIndexing | ( | bool | compatibleIndexing | ) |
Set to true if we know that our discrete continuum solvers all have the same grid
compatibleIndexing | doe the grids have compatible indexing |
Definition at line 247 of file MicrovesselSolver.cpp.
References MicrovesselSolver< DIM >::mDiscreteContinuumSolversHaveCompatibleGridIndexing.
void MicrovesselSolver< DIM >::SetOutputFileHandler | ( | boost::shared_ptr< OutputFileHandler > | pFileHandler | ) |
Set the output directory for results
pFileHandler | output file handler containing output directory information |
Definition at line 211 of file MicrovesselSolver.cpp.
References MicrovesselSolver< DIM >::mpOutputFileHandler.
void MicrovesselSolver< DIM >::SetOutputFrequency | ( | unsigned | frequency | ) |
Set the results output frequency
frequency | the frequency of simulaiton output |
Definition at line 217 of file MicrovesselSolver.cpp.
References MicrovesselSolver< DIM >::mOutputFrequency.
void MicrovesselSolver< DIM >::SetRegressionSolver | ( | boost::shared_ptr< RegressionSolver< DIM > > | pRegressionSolver | ) |
Set the regression solver
pRegressionSolver | the regression solver for the network |
Definition at line 309 of file MicrovesselSolver.cpp.
References MicrovesselSolver< DIM >::mpRegressionSolver.
void MicrovesselSolver< DIM >::SetStructuralAdaptationSolver | ( | boost::shared_ptr< StructuralAdaptationSolver< DIM > > | pStructuralAdaptationSolver | ) |
Set the structural adaptation solver for the network
pStructuralAdaptationSolver | the solver for structural adaptation |
Definition at line 279 of file MicrovesselSolver.cpp.
References MicrovesselSolver< DIM >::mpStructuralAdaptationSolver.
void MicrovesselSolver< DIM >::Setup | ( | ) |
This should be called before running in standalone mode
Definition at line 253 of file MicrovesselSolver.cpp.
References MicrovesselSolver< DIM >::mDiscreteContinuumSolvers, MicrovesselSolver< DIM >::mpNetwork, MicrovesselSolver< DIM >::mpOutputFileHandler, MicrovesselSolver< DIM >::mpRegressionSolver, and MicrovesselSolver< DIM >::mpStructuralAdaptationSolver.
Referenced by MicrovesselSolver< DIM >::Run(), and MicrovesselSolver< DIM >::SetupFromModifier().
void MicrovesselSolver< DIM >::SetUpdatePdeEachSolve | ( | bool | doUpdate | ) |
Set whether to update the pde at each solve
doUpdate | update the pde at each solve |
Definition at line 79 of file MicrovesselSolver.cpp.
References MicrovesselSolver< DIM >::mUpdatePdeEachSolve.
void MicrovesselSolver< DIM >::SetupFromModifier | ( | AbstractCellPopulation< DIM, DIM > & | rCellPopulation, |
units::quantity< unit::length > | cellReferenceLength, | ||
units::quantity< unit::concentration > | cellReferenceConcentration, | ||
const std::string & | rDirectory | ||
) |
This is called by the MicrovesselSimulationModifier to set up the simulation
rCellPopulation | the cell population |
cellReferenceLength | the cell length scale |
cellReferenceConcentration | the cell concentration scale |
rDirectory | the output directory for writing to |
Definition at line 223 of file MicrovesselSolver.cpp.
References MicrovesselSolver< DIM >::mDiscreteContinuumSolvers, MicrovesselSolver< DIM >::mpNetwork, MicrovesselSolver< DIM >::mpOutputFileHandler, and MicrovesselSolver< DIM >::Setup().
void MicrovesselSolver< DIM >::SetVesselNetwork | ( | boost::shared_ptr< VesselNetwork< DIM > > | pNetwork | ) |
Set the vessel network
pNetwork | the vessel network |
Definition at line 73 of file MicrovesselSolver.cpp.
References MicrovesselSolver< DIM >::mpNetwork.
void MicrovesselSolver< DIM >::UpdateCellData | ( | std::vector< std::string > | labels | ) |
Update the cell data with any PDE solutions corresponding to the supplied labels
labels | labels corresponding to cell data that is to be updated |
Definition at line 285 of file MicrovesselSolver.cpp.
References MicrovesselSolver< DIM >::mDiscreteContinuumSolvers.
|
private |
The collection of DiscreteContinuum solvers
Definition at line 76 of file MicrovesselSolver.hpp.
Referenced by MicrovesselSolver< DIM >::AddDiscreteContinuumSolver(), MicrovesselSolver< DIM >::GetDiscreteContinuumSolvers(), MicrovesselSolver< DIM >::Increment(), MicrovesselSolver< DIM >::Setup(), MicrovesselSolver< DIM >::SetupFromModifier(), and MicrovesselSolver< DIM >::UpdateCellData().
|
private |
Can the solution from one DiscreteContinuumSolver be sent directly to another, or is grid sampling needed.
Definition at line 97 of file MicrovesselSolver.hpp.
Referenced by MicrovesselSolver< DIM >::Increment(), and MicrovesselSolver< DIM >::SetDiscreteContinuumSolversHaveCompatibleGridIndexing().
|
private |
The frequency of file based output
Definition at line 66 of file MicrovesselSolver.hpp.
Referenced by MicrovesselSolver< DIM >::Increment(), and MicrovesselSolver< DIM >::SetOutputFrequency().
|
private |
The angiogenesis solver for the vessel network
Definition at line 86 of file MicrovesselSolver.hpp.
Referenced by MicrovesselSolver< DIM >::Increment(), and MicrovesselSolver< DIM >::SetAngiogenesisSolver().
|
private |
The vessel network
Definition at line 61 of file MicrovesselSolver.hpp.
Referenced by MicrovesselSolver< DIM >::Increment(), MicrovesselSolver< DIM >::Run(), MicrovesselSolver< DIM >::Setup(), MicrovesselSolver< DIM >::SetupFromModifier(), and MicrovesselSolver< DIM >::SetVesselNetwork().
|
private |
Filehandler containing output directory information
Definition at line 71 of file MicrovesselSolver.hpp.
Referenced by MicrovesselSolver< DIM >::Increment(), MicrovesselSolver< DIM >::Run(), MicrovesselSolver< DIM >::SetOutputFileHandler(), MicrovesselSolver< DIM >::Setup(), and MicrovesselSolver< DIM >::SetupFromModifier().
|
private |
The regression solver for the vessel network
Definition at line 91 of file MicrovesselSolver.hpp.
Referenced by MicrovesselSolver< DIM >::Increment(), MicrovesselSolver< DIM >::SetRegressionSolver(), and MicrovesselSolver< DIM >::Setup().
|
private |
The structural adaptation solver for the vessel network
Definition at line 81 of file MicrovesselSolver.hpp.
Referenced by MicrovesselSolver< DIM >::Increment(), MicrovesselSolver< DIM >::SetStructuralAdaptationSolver(), and MicrovesselSolver< DIM >::Setup().
|
private |
Whether to update the PDE for each solve
Definition at line 102 of file MicrovesselSolver.hpp.
Referenced by MicrovesselSolver< DIM >::Increment(), and MicrovesselSolver< DIM >::SetUpdatePdeEachSolve().