#include <AbstractDynamicLinearPdeSolver.hpp>
Public Member Functions | |
AbstractDynamicLinearPdeSolver (AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM > *pMesh) | |
void | SetTimes (double tStart, double tEnd) |
void | SetTimeStep (double dt) |
void | SetInitialCondition (Vec initialCondition) |
Vec | Solve () |
void | SetMatrixIsNotAssembled () |
void | SetTimeAdaptivityController (AbstractTimeAdaptivityController *pTimeAdaptivityController) |
Protected Attributes | |
double | mTstart |
double | mTend |
bool | mTimesSet |
Vec | mInitialCondition |
bool | mMatrixIsAssembled |
bool | mMatrixIsConstant |
double | mIdealTimeStep |
double | mLastWorkingTimeStep |
AbstractTimeAdaptivityController * | mpTimeAdaptivityController |
Friends | |
class | TestSimpleLinearParabolicSolver |
Definition at line 46 of file AbstractDynamicLinearPdeSolver.hpp.
AbstractDynamicLinearPdeSolver< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::AbstractDynamicLinearPdeSolver | ( | AbstractTetrahedralMesh< ELEMENT_DIM, SPACE_DIM > * | pMesh | ) | [inline] |
Constructor
pMesh | the mesh |
Definition at line 128 of file AbstractDynamicLinearPdeSolver.hpp.
void AbstractDynamicLinearPdeSolver< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::SetTimes | ( | double | tStart, | |
double | tEnd | |||
) | [inline] |
Set the times to solve between.
tStart | the start time | |
tEnd | the end time |
Definition at line 141 of file AbstractDynamicLinearPdeSolver.hpp.
References EXCEPTION, AbstractDynamicLinearPdeSolver< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::mTend, AbstractDynamicLinearPdeSolver< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::mTimesSet, and AbstractDynamicLinearPdeSolver< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::mTstart.
Referenced by CardiacElectroMechanicsProblem< DIM >::Solve(), and AdaptiveBidomainProblem::Solve().
void AbstractDynamicLinearPdeSolver< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::SetTimeStep | ( | double | dt | ) | [inline] |
Set (or reset) the timestep to use
dt | timestep |
Definition at line 155 of file AbstractDynamicLinearPdeSolver.hpp.
References EXCEPTION, and AbstractDynamicLinearPdeSolver< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::mIdealTimeStep.
Referenced by BidomainProblem< DIM >::OnEndOfTimestep(), CardiacElectroMechanicsProblem< DIM >::Solve(), and AdaptiveBidomainProblem::Solve().
void AbstractDynamicLinearPdeSolver< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::SetInitialCondition | ( | Vec | initialCondition | ) | [inline] |
Set the initial condition.
initialCondition | the initial condition |
Definition at line 166 of file AbstractDynamicLinearPdeSolver.hpp.
References AbstractDynamicLinearPdeSolver< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::mInitialCondition.
Referenced by CardiacElectroMechanicsProblem< DIM >::Solve(), and AdaptiveBidomainProblem::Solve().
Vec AbstractDynamicLinearPdeSolver< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::Solve | ( | ) | [inline] |
Dynamic solve method
Definition at line 173 of file AbstractDynamicLinearPdeSolver.hpp.
References TimeStepper::AdvanceOneTimeStep(), GenericEventHandler< 13, HeartEventHandler >::BeginEvent(), GenericEventHandler< 13, HeartEventHandler >::EndEvent(), AbstractLinearPdeSolver< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::FinaliseLinearSystem(), AbstractLinearPdeSolver< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::FollowingSolveLinearSystem(), TimeStepper::GetNextTimeStep(), AbstractTimeAdaptivityController::GetNextTimeStep(), TimeStepper::GetTime(), AbstractLinearPdeSolver< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::InitialiseForSolve(), TimeStepper::IsTimeAtEnd(), AbstractDynamicLinearPdeSolver< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::mIdealTimeStep, AbstractDynamicLinearPdeSolver< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::mInitialCondition, AbstractDynamicLinearPdeSolver< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::mLastWorkingTimeStep, AbstractDynamicLinearPdeSolver< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::mMatrixIsAssembled, AbstractDynamicLinearPdeSolver< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::mMatrixIsConstant, AbstractLinearPdeSolver< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::mpLinearSystem, AbstractDynamicLinearPdeSolver< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::mpTimeAdaptivityController, AbstractDynamicLinearPdeSolver< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::mTend, AbstractDynamicLinearPdeSolver< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::mTimesSet, AbstractDynamicLinearPdeSolver< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::mTstart, AbstractLinearPdeSolver< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::PrepareForSetupLinearSystem(), LinearSystem::ResetKspSolver(), TimeStepper::ResetTimeStep(), PdeSimulationTime::SetPdeTimeStep(), PdeSimulationTime::SetTime(), AbstractLinearPdeSolver< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::SetupLinearSystem(), and LinearSystem::Solve().
Referenced by CardiacElectroMechanicsProblem< DIM >::Solve(), and AdaptiveBidomainProblem::Solve().
void AbstractDynamicLinearPdeSolver< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::SetMatrixIsNotAssembled | ( | ) | [inline] |
Tell the solver to assemble the matrix again next timestep
Definition at line 110 of file AbstractDynamicLinearPdeSolver.hpp.
Referenced by CardiacElectroMechanicsProblem< DIM >::Solve().
void AbstractDynamicLinearPdeSolver< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::SetTimeAdaptivityController | ( | AbstractTimeAdaptivityController * | pTimeAdaptivityController | ) | [inline] |
Set a controller class which alters the dt used
pTimeAdaptivityController | the controller |
Definition at line 118 of file AbstractDynamicLinearPdeSolver.hpp.
double AbstractDynamicLinearPdeSolver< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::mTstart [protected] |
Simulation start time.
Definition at line 52 of file AbstractDynamicLinearPdeSolver.hpp.
Referenced by AbstractDynamicLinearPdeSolver< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::SetTimes(), and AbstractDynamicLinearPdeSolver< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::Solve().
double AbstractDynamicLinearPdeSolver< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::mTend [protected] |
Simulation end time.
Definition at line 55 of file AbstractDynamicLinearPdeSolver.hpp.
Referenced by AbstractDynamicLinearPdeSolver< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::SetTimes(), and AbstractDynamicLinearPdeSolver< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::Solve().
bool AbstractDynamicLinearPdeSolver< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::mTimesSet [protected] |
Whether SetTimes has been called with suitable parameters.
Definition at line 58 of file AbstractDynamicLinearPdeSolver.hpp.
Referenced by AbstractDynamicLinearPdeSolver< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::SetTimes(), and AbstractDynamicLinearPdeSolver< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::Solve().
Vec AbstractDynamicLinearPdeSolver< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::mInitialCondition [protected] |
The initial condition vector.
Definition at line 61 of file AbstractDynamicLinearPdeSolver.hpp.
Referenced by AbstractDynamicLinearPdeSolver< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::SetInitialCondition(), and AbstractDynamicLinearPdeSolver< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::Solve().
bool AbstractDynamicLinearPdeSolver< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::mMatrixIsAssembled [protected] |
Whether the matrix has been assembled for the current time step.
Definition at line 64 of file AbstractDynamicLinearPdeSolver.hpp.
Referenced by AbstractDynamicLinearPdeSolver< ELEMENT_DIM, SPACE_DIM, 2 >::SetMatrixIsNotAssembled(), and AbstractDynamicLinearPdeSolver< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::Solve().
bool AbstractDynamicLinearPdeSolver< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::mMatrixIsConstant [protected] |
Whether the matrix is constant in time (if so the system need not be assembled at each time step). Defaults to false
Definition at line 68 of file AbstractDynamicLinearPdeSolver.hpp.
Referenced by AbstractDynamicLinearPdeSolver< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::Solve().
double AbstractDynamicLinearPdeSolver< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::mIdealTimeStep [protected] |
The timestep to use. This is either the last timestep passed in in SetTimeStep, or the last timestep suggested by the time adaptivity controller
Definition at line 73 of file AbstractDynamicLinearPdeSolver.hpp.
Referenced by AbstractDynamicLinearPdeSolver< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::SetTimeStep(), and AbstractDynamicLinearPdeSolver< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::Solve().
double AbstractDynamicLinearPdeSolver< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::mLastWorkingTimeStep [protected] |
The last actual timestep used
Definition at line 76 of file AbstractDynamicLinearPdeSolver.hpp.
Referenced by AbstractDynamicLinearPdeSolver< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::Solve().
AbstractTimeAdaptivityController* AbstractDynamicLinearPdeSolver< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::mpTimeAdaptivityController [protected] |
A controller which determines what timestep to use (defaults to NULL)
Definition at line 79 of file AbstractDynamicLinearPdeSolver.hpp.
Referenced by AbstractDynamicLinearPdeSolver< ELEMENT_DIM, SPACE_DIM, 2 >::SetTimeAdaptivityController(), and AbstractDynamicLinearPdeSolver< ELEMENT_DIM, SPACE_DIM, PROBLEM_DIM >::Solve().