Skip to content
Snippets Groups Projects
Commit 78a0c903 authored by Jonathan Froehlich's avatar Jonathan Froehlich
Browse files

Forward declared Vector

parent b25a7153
No related branches found
No related tags found
1 merge request!235Resolve "MultiElasticity should hold multiple MainElasticities"
Pipeline #125747 failed
......@@ -19,9 +19,9 @@ public:
int Vtk() const { return vtk; }
};
class Vector;
/// Default Wrapper for all solvers to provide verbose and vtk values
template<typename AssembleType>
template<typename AssembleType, typename VectorType=Vector>
class CardiacSolverT {
protected:
int verbose{-1};
......@@ -44,11 +44,28 @@ public:
int Vtk() const { return vtk; }
virtual void Initialize(AssembleType &assemble, Vector &u) = 0;
virtual bool Method(AssembleType &assemble, Vector &u) = 0;
virtual bool Step(AssembleType &assemble, Vector &u) = 0;
/// Initializes solver and assembly structures and sets initial value for u
virtual void Initialize(AssembleType &assemble, VectorType &u) = 0;
/**
* Runs the implemented method from assemble.FirstTStep() to assemble.LastTStep().
* Should be implemtend as follows:
* 1. Initialize
* 2. while(!assemble.Finished()) {bool c=Step; if(!c) return false;}
* 3. return true
* @param assemble
* @param u Vector to write the solution to
* @return convergence status of the method
*/
virtual bool Method(AssembleType &assemble, VectorType &u) = 0;
/**
* Runs a single step of the implemented method
* @param assemble
* @param u Vector to write the solution to
* @return convergence status of the method
*/
virtual bool Step(AssembleType &assemble, VectorType &u) = 0;
};
#endif //CARDIACSOLVER_HPP
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment