Chaste  Build::
MicrovesselSolver< DIM > Class Template Reference

#include <MicrovesselSolver.hpp>

+ Collaboration diagram for MicrovesselSolver< DIM >:

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< MicrovesselSolverCreate ()
 

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
 

Detailed Description

template<unsigned DIM>
class MicrovesselSolver< DIM >

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.

Constructor & Destructor Documentation

template<unsigned DIM>
MicrovesselSolver< DIM >::MicrovesselSolver ( )

Constructor.

Definition at line 45 of file MicrovesselSolver.cpp.

template<unsigned DIM>
MicrovesselSolver< DIM >::~MicrovesselSolver ( )
virtual

Destructor.

Definition at line 60 of file MicrovesselSolver.cpp.

Member Function Documentation

template<unsigned DIM>
void MicrovesselSolver< DIM >::AddDiscreteContinuumSolver ( boost::shared_ptr< AbstractDiscreteContinuumSolver< DIM > >  pDiscreteContinuumSolver)

Add a DiscreteContinuum solver to the collection

Parameters
pDiscreteContinuumSolvera discrete-continuum solver

Definition at line 85 of file MicrovesselSolver.cpp.

References MicrovesselSolver< DIM >::mDiscreteContinuumSolvers.

template<unsigned DIM>
boost::shared_ptr< MicrovesselSolver< DIM > > MicrovesselSolver< DIM >::Create ( )
static

Factory constructor method

Returns
a shared pointer to a new solver

Definition at line 66 of file MicrovesselSolver.cpp.

template<unsigned DIM>
std::vector< boost::shared_ptr< AbstractDiscreteContinuumSolver< DIM > > > MicrovesselSolver< DIM >::GetDiscreteContinuumSolvers ( )

Return the current DiscreteContinuum solvers

Returns
the DiscreteContinuum solvers

Definition at line 91 of file MicrovesselSolver.cpp.

References MicrovesselSolver< DIM >::mDiscreteContinuumSolvers.

template<unsigned DIM>
void MicrovesselSolver< DIM >::SetAngiogenesisSolver ( boost::shared_ptr< AngiogenesisSolver< DIM > >  pAngiogenesisSolver)

Set the angiogenesis solver for the network

Parameters
pAngiogenesisSolverthe solver for structural adaptation

Definition at line 205 of file MicrovesselSolver.cpp.

References MicrovesselSolver< DIM >::mpAngiogenesisSolver.

template<unsigned DIM>
void MicrovesselSolver< DIM >::SetDiscreteContinuumSolversHaveCompatibleGridIndexing ( bool  compatibleIndexing)

Set to true if we know that our discrete continuum solvers all have the same grid

Parameters
compatibleIndexingdoe the grids have compatible indexing

Definition at line 247 of file MicrovesselSolver.cpp.

References MicrovesselSolver< DIM >::mDiscreteContinuumSolversHaveCompatibleGridIndexing.

template<unsigned DIM>
void MicrovesselSolver< DIM >::SetOutputFileHandler ( boost::shared_ptr< OutputFileHandler >  pFileHandler)

Set the output directory for results

Parameters
pFileHandleroutput file handler containing output directory information

Definition at line 211 of file MicrovesselSolver.cpp.

References MicrovesselSolver< DIM >::mpOutputFileHandler.

template<unsigned DIM>
void MicrovesselSolver< DIM >::SetOutputFrequency ( unsigned  frequency)

Set the results output frequency

Parameters
frequencythe frequency of simulaiton output

Definition at line 217 of file MicrovesselSolver.cpp.

References MicrovesselSolver< DIM >::mOutputFrequency.

template<unsigned DIM>
void MicrovesselSolver< DIM >::SetRegressionSolver ( boost::shared_ptr< RegressionSolver< DIM > >  pRegressionSolver)

Set the regression solver

Parameters
pRegressionSolverthe regression solver for the network

Definition at line 309 of file MicrovesselSolver.cpp.

References MicrovesselSolver< DIM >::mpRegressionSolver.

template<unsigned DIM>
void MicrovesselSolver< DIM >::SetStructuralAdaptationSolver ( boost::shared_ptr< StructuralAdaptationSolver< DIM > >  pStructuralAdaptationSolver)

Set the structural adaptation solver for the network

Parameters
pStructuralAdaptationSolverthe solver for structural adaptation

Definition at line 279 of file MicrovesselSolver.cpp.

References MicrovesselSolver< DIM >::mpStructuralAdaptationSolver.

template<unsigned DIM>
void MicrovesselSolver< DIM >::SetUpdatePdeEachSolve ( bool  doUpdate)

Set whether to update the pde at each solve

Parameters
doUpdateupdate the pde at each solve

Definition at line 79 of file MicrovesselSolver.cpp.

References MicrovesselSolver< DIM >::mUpdatePdeEachSolve.

template<unsigned DIM>
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

Parameters
rCellPopulationthe cell population
cellReferenceLengththe cell length scale
cellReferenceConcentrationthe cell concentration scale
rDirectorythe 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().

template<unsigned DIM>
void MicrovesselSolver< DIM >::SetVesselNetwork ( boost::shared_ptr< VesselNetwork< DIM > >  pNetwork)

Set the vessel network

Parameters
pNetworkthe vessel network

Definition at line 73 of file MicrovesselSolver.cpp.

References MicrovesselSolver< DIM >::mpNetwork.

template<unsigned DIM>
void MicrovesselSolver< DIM >::UpdateCellData ( std::vector< std::string >  labels)

Update the cell data with any PDE solutions corresponding to the supplied labels

Parameters
labelslabels corresponding to cell data that is to be updated

Definition at line 285 of file MicrovesselSolver.cpp.

References MicrovesselSolver< DIM >::mDiscreteContinuumSolvers.

Member Data Documentation

template<unsigned DIM>
bool MicrovesselSolver< DIM >::mDiscreteContinuumSolversHaveCompatibleGridIndexing
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().

template<unsigned DIM>
unsigned MicrovesselSolver< DIM >::mOutputFrequency
private

The frequency of file based output

Definition at line 66 of file MicrovesselSolver.hpp.

Referenced by MicrovesselSolver< DIM >::Increment(), and MicrovesselSolver< DIM >::SetOutputFrequency().

template<unsigned DIM>
boost::shared_ptr<AngiogenesisSolver<DIM> > MicrovesselSolver< DIM >::mpAngiogenesisSolver
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().

template<unsigned DIM>
boost::shared_ptr<OutputFileHandler> MicrovesselSolver< DIM >::mpOutputFileHandler
private
template<unsigned DIM>
boost::shared_ptr<RegressionSolver<DIM> > MicrovesselSolver< DIM >::mpRegressionSolver
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().

template<unsigned DIM>
boost::shared_ptr<StructuralAdaptationSolver<DIM> > MicrovesselSolver< DIM >::mpStructuralAdaptationSolver
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().

template<unsigned DIM>
bool MicrovesselSolver< DIM >::mUpdatePdeEachSolve
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().


The documentation for this class was generated from the following files: