Commit bb9e6974 authored by grandper's avatar grandper
Browse files

Update of the iteration policies

parent 25d4bff3
...@@ -99,12 +99,12 @@ typedef boost::shared_ptr< fespace_Type > fespacePtr_Type; ...@@ -99,12 +99,12 @@ typedef boost::shared_ptr< fespace_Type > fespacePtr_Type;
typedef Preconditioner basePrec_Type; typedef Preconditioner basePrec_Type;
typedef boost::shared_ptr<basePrec_Type> basePrecPtr_Type; typedef boost::shared_ptr<basePrec_Type> basePrecPtr_Type;
typedef TimeIterationPolicyLinear< AssemblyPolicyStokes< mesh_Type > > Stokes; typedef TimeIterationPolicyLinear< mesh_Type, AssemblyPolicyStokes< mesh_Type > > Stokes;
typedef TimeIterationPolicyLinear< AssemblyPolicyGeneralizedStokes< mesh_Type > > GStokes; typedef TimeIterationPolicyLinear< mesh_Type, AssemblyPolicyGeneralizedStokes< mesh_Type > > GStokes;
typedef TimeIterationPolicyLinear< AssemblyPolicyNavierStokesSemiImplicit< mesh_Type > > SemiImplicit; typedef TimeIterationPolicyLinear< mesh_Type, AssemblyPolicyNavierStokesSemiImplicit< mesh_Type > > SemiImplicit;
typedef TimeIterationPolicyNonlinearIncremental< AssemblyPolicyNavierStokesNewton< mesh_Type > > Newton; typedef TimeIterationPolicyNonlinearIncremental< mesh_Type, AssemblyPolicyNavierStokesNewton< mesh_Type > > Newton;
typedef TimeIterationPolicyNonlinearIncremental< AssemblyPolicyNavierStokesPicard< mesh_Type > > Picard; typedef TimeIterationPolicyNonlinearIncremental< mesh_Type, AssemblyPolicyNavierStokesPicard< mesh_Type > > Picard;
typedef TimeIterationPolicyNonlinear< AssemblyPolicyNavierStokesPicard< mesh_Type > > PicardOseen; typedef TimeIterationPolicyNonlinear< mesh_Type, AssemblyPolicyNavierStokesPicard< mesh_Type > > PicardOseen;
typedef InitPolicySolver< mesh_Type, Stokes > InitStokes; typedef InitPolicySolver< mesh_Type, Stokes > InitStokes;
typedef InitPolicySolver< mesh_Type, GStokes > InitGStokes; typedef InitPolicySolver< mesh_Type, GStokes > InitGStokes;
typedef InitPolicyInterpolation< mesh_Type > InitInter; typedef InitPolicyInterpolation< mesh_Type > InitInter;
......
...@@ -61,7 +61,6 @@ ...@@ -61,7 +61,6 @@
#include <lifev/core/array/MatrixEpetra.hpp> #include <lifev/core/array/MatrixEpetra.hpp>
#include <lifev/core/array/VectorEpetra.hpp> #include <lifev/core/array/VectorEpetra.hpp>
#include <lifev/core/util/Displayer.hpp> #include <lifev/core/util/Displayer.hpp>
#include <lifev/core/fem/FESpace.hpp>
#include <lifev/core/algorithm/LinearSolver.hpp> #include <lifev/core/algorithm/LinearSolver.hpp>
#include <lifev/core/algorithm/Preconditioner.hpp> #include <lifev/core/algorithm/Preconditioner.hpp>
......
...@@ -73,7 +73,7 @@ ...@@ -73,7 +73,7 @@
namespace LifeV namespace LifeV
{ {
template< class AssemblyPolicy, class SolverPolicy = SolverPolicyLinearSolver > template< class mesh_Type, class AssemblyPolicy, class SolverPolicy = SolverPolicyLinearSolver >
struct TimeIterationPolicyLinear : private AssemblyPolicy, public virtual SolverPolicy struct TimeIterationPolicyLinear : private AssemblyPolicy, public virtual SolverPolicy
{ {
protected: protected:
...@@ -81,7 +81,6 @@ protected: ...@@ -81,7 +81,6 @@ protected:
typedef boost::shared_ptr<matrix_Type> matrixPtr_Type; typedef boost::shared_ptr<matrix_Type> matrixPtr_Type;
typedef VectorEpetra vector_Type; typedef VectorEpetra vector_Type;
typedef boost::shared_ptr<VectorEpetra> vectorPtr_Type; typedef boost::shared_ptr<VectorEpetra> vectorPtr_Type;
typedef RegionMesh<LinearTetra> mesh_Type;
typedef MeshPartitioner< mesh_Type > meshPartitioner_Type; typedef MeshPartitioner< mesh_Type > meshPartitioner_Type;
typedef MapEpetra map_Type; typedef MapEpetra map_Type;
typedef boost::shared_ptr<map_Type> mapPtr_Type; typedef boost::shared_ptr<map_Type> mapPtr_Type;
...@@ -112,9 +111,9 @@ protected: ...@@ -112,9 +111,9 @@ protected:
virtual fespacePtr_Type pFESpace() const = 0; virtual fespacePtr_Type pFESpace() const = 0;
}; };
template< class AssemblyPolicy, class SolverPolicy > template< class mesh_Type, class AssemblyPolicy, class SolverPolicy >
void void
TimeIterationPolicyLinear<AssemblyPolicy, SolverPolicy>:: TimeIterationPolicyLinear<mesh_Type, AssemblyPolicy, SolverPolicy>::
initTimeIteration ( Teuchos::ParameterList& list ) initTimeIteration ( Teuchos::ParameterList& list )
{ {
// Parameters // Parameters
...@@ -133,9 +132,9 @@ initTimeIteration ( Teuchos::ParameterList& list ) ...@@ -133,9 +132,9 @@ initTimeIteration ( Teuchos::ParameterList& list )
M_rhs.reset ( new vector_Type ( *M_solutionMap, Unique ) ); M_rhs.reset ( new vector_Type ( *M_solutionMap, Unique ) );
} }
template< class AssemblyPolicy, class SolverPolicy > template< class mesh_Type, class AssemblyPolicy, class SolverPolicy >
void void
TimeIterationPolicyLinear<AssemblyPolicy, SolverPolicy>:: TimeIterationPolicyLinear<mesh_Type, AssemblyPolicy, SolverPolicy>::
iterate ( vectorPtr_Type solution, iterate ( vectorPtr_Type solution,
bcContainerPtr_Type bchandler, bcContainerPtr_Type bchandler,
const Real& currentTime ) const Real& currentTime )
......
...@@ -73,7 +73,7 @@ ...@@ -73,7 +73,7 @@
namespace LifeV namespace LifeV
{ {
template< class AssemblyPolicy, class SolverPolicy = SolverPolicyLinearSolver > template< class mesh_Type, class AssemblyPolicy, class SolverPolicy = SolverPolicyLinearSolver >
struct TimeIterationPolicyNonlinear : private AssemblyPolicy, public virtual SolverPolicy struct TimeIterationPolicyNonlinear : private AssemblyPolicy, public virtual SolverPolicy
{ {
protected: protected:
...@@ -81,7 +81,6 @@ protected: ...@@ -81,7 +81,6 @@ protected:
typedef boost::shared_ptr<matrix_Type> matrixPtr_Type; typedef boost::shared_ptr<matrix_Type> matrixPtr_Type;
typedef VectorEpetra vector_Type; typedef VectorEpetra vector_Type;
typedef boost::shared_ptr<VectorEpetra> vectorPtr_Type; typedef boost::shared_ptr<VectorEpetra> vectorPtr_Type;
typedef RegionMesh<LinearTetra> mesh_Type;
typedef MeshPartitioner< mesh_Type > meshPartitioner_Type; typedef MeshPartitioner< mesh_Type > meshPartitioner_Type;
typedef MapEpetra map_Type; typedef MapEpetra map_Type;
typedef boost::shared_ptr<map_Type> mapPtr_Type; typedef boost::shared_ptr<map_Type> mapPtr_Type;
...@@ -113,9 +112,9 @@ protected: ...@@ -113,9 +112,9 @@ protected:
virtual fespacePtr_Type pFESpace() const = 0; virtual fespacePtr_Type pFESpace() const = 0;
}; };
template< class AssemblyPolicy, class SolverPolicy > template< class mesh_Type, class AssemblyPolicy, class SolverPolicy >
void void
TimeIterationPolicyNonlinear<AssemblyPolicy, SolverPolicy>:: TimeIterationPolicyNonlinear<mesh_Type, AssemblyPolicy, SolverPolicy>::
initTimeIteration ( Teuchos::ParameterList& list ) initTimeIteration ( Teuchos::ParameterList& list )
{ {
// Parameters // Parameters
...@@ -135,9 +134,9 @@ initTimeIteration ( Teuchos::ParameterList& list ) ...@@ -135,9 +134,9 @@ initTimeIteration ( Teuchos::ParameterList& list )
M_rhs.reset ( new vector_Type ( *M_solutionMap, Unique ) ); M_rhs.reset ( new vector_Type ( *M_solutionMap, Unique ) );
} }
template< class AssemblyPolicy, class SolverPolicy > template< class mesh_Type, class AssemblyPolicy, class SolverPolicy >
void void
TimeIterationPolicyNonlinear<AssemblyPolicy, SolverPolicy>:: TimeIterationPolicyNonlinear<mesh_Type, AssemblyPolicy, SolverPolicy>::
iterate ( vectorPtr_Type solution, iterate ( vectorPtr_Type solution,
bcContainerPtr_Type bchandler, bcContainerPtr_Type bchandler,
const Real& currentTime ) const Real& currentTime )
......
...@@ -73,7 +73,7 @@ ...@@ -73,7 +73,7 @@
namespace LifeV namespace LifeV
{ {
template< class AssemblyPolicy, class SolverPolicy = SolverPolicyLinearSolver > template< class mesh_Type, class AssemblyPolicy, class SolverPolicy = SolverPolicyLinearSolver >
struct TimeIterationPolicyNonlinearIncremental : private AssemblyPolicy, public virtual SolverPolicy struct TimeIterationPolicyNonlinearIncremental : private AssemblyPolicy, public virtual SolverPolicy
{ {
protected: protected:
...@@ -81,7 +81,6 @@ protected: ...@@ -81,7 +81,6 @@ protected:
typedef boost::shared_ptr<matrix_Type> matrixPtr_Type; typedef boost::shared_ptr<matrix_Type> matrixPtr_Type;
typedef VectorEpetra vector_Type; typedef VectorEpetra vector_Type;
typedef boost::shared_ptr<VectorEpetra> vectorPtr_Type; typedef boost::shared_ptr<VectorEpetra> vectorPtr_Type;
typedef RegionMesh<LinearTetra> mesh_Type;
typedef MeshPartitioner< mesh_Type > meshPartitioner_Type; typedef MeshPartitioner< mesh_Type > meshPartitioner_Type;
typedef MapEpetra map_Type; typedef MapEpetra map_Type;
typedef boost::shared_ptr<map_Type> mapPtr_Type; typedef boost::shared_ptr<map_Type> mapPtr_Type;
...@@ -114,9 +113,9 @@ protected: ...@@ -114,9 +113,9 @@ protected:
virtual fespacePtr_Type pFESpace() const = 0; virtual fespacePtr_Type pFESpace() const = 0;
}; };
template< class AssemblyPolicy, class SolverPolicy > template< class mesh_Type, class AssemblyPolicy, class SolverPolicy >
void void
TimeIterationPolicyNonlinearIncremental<AssemblyPolicy, SolverPolicy>:: TimeIterationPolicyNonlinearIncremental<mesh_Type, AssemblyPolicy, SolverPolicy>::
initTimeIteration ( Teuchos::ParameterList& list ) initTimeIteration ( Teuchos::ParameterList& list )
{ {
// Parameters // Parameters
...@@ -137,9 +136,9 @@ initTimeIteration ( Teuchos::ParameterList& list ) ...@@ -137,9 +136,9 @@ initTimeIteration ( Teuchos::ParameterList& list )
M_deltaSolution.reset ( new vector_Type ( *M_solutionMap, Unique ) ); M_deltaSolution.reset ( new vector_Type ( *M_solutionMap, Unique ) );
} }
template< class AssemblyPolicy, class SolverPolicy > template< class mesh_Type, class AssemblyPolicy, class SolverPolicy >
void void
TimeIterationPolicyNonlinearIncremental<AssemblyPolicy, SolverPolicy>:: TimeIterationPolicyNonlinearIncremental<mesh_Type, AssemblyPolicy, SolverPolicy>::
iterate ( vectorPtr_Type solution, iterate ( vectorPtr_Type solution,
bcContainerPtr_Type bchandler, bcContainerPtr_Type bchandler,
const Real& currentTime ) const Real& currentTime )
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment