35 #ifndef INITPOLICYSOLVER_HPP 36 #define INITPOLICYSOLVER_HPP 39 #include <boost/shared_ptr.hpp> 43 #include <Epetra_MpiComm.h> 45 #include <Epetra_SerialComm.h> 48 #include <Teuchos_ParameterList.hpp> 49 #include <Teuchos_XMLParameterListHelpers.hpp> 50 #include <Teuchos_RCP.hpp> 53 #include <lifev/core/LifeV.hpp> 54 #include <lifev/core/array/VectorEpetra.hpp> 55 #include <lifev/core/util/Displayer.hpp> 56 #include <lifev/core/mesh/RegionMesh.hpp> 57 #include <lifev/core/fem/TimeAdvanceBDF.hpp> 58 #include <lifev/core/fem/BCHandler.hpp> 59 #include <lifev/navier_stokes/solver/NavierStokesSolver/NavierStokesProblem.hpp> 65 template<
class mesh_Type,
class TimeIterationPolicy >
82 void setupInit ( Teuchos::ParameterList& list );
93 template<
class mesh_Type,
class TimeIterationPolicy >
98 TimeIterationPolicy::initTimeIteration ( list );
101 template<
class mesh_Type,
class TimeIterationPolicy >
107 displayer().leaderPrint (
"\n[Initializing the problem]\n" );
115 bdf()->setInitialCondition ( *solution );
122 displayer().leaderPrint (
"\n[t = ", currentTime,
" s.]\n" );
126 TimeIterationPolicy::iterate ( solution,
131 bdf()->shiftRight ( *solution );
139 MPI_Barrier ( MPI_COMM_WORLD );
144 displayer().leaderPrintMax (
"Time of the temporal loop: ", nsTimeLoopChrono
.diff(),
" s.\n");
VectorEpetra - The Epetra Vector format Wrapper.
void start()
Start the timer.
std::shared_ptr< map_Type > mapPtr_Type
virtual bdfPtr_Type bdf() const =0
BCHandler - class for handling boundary conditions.
void initSimulation(bcContainerPtr_Type bchandler, vectorPtr_Type solution)
void setupInit(Teuchos::ParameterList &list)
std::shared_ptr< bdf_Type > bdfPtr_Type
void updateInverseJacobian(const UInt &iQuadPt)
TimeAdvanceBDF< vector_Type > bdf_Type
Epetra_Import const & importer()
Getter for the Epetra_Import.
virtual Real timestep() const =0
std::shared_ptr< bcContainer_Type > bcContainerPtr_Type
Real diff()
Compute the difference in time between start and stop.
MeshPartitioner< mesh_Type > meshPartitioner_Type
virtual Real initialTime() const =0
double Real
Generic real data.
virtual Displayer displayer()=0
std::shared_ptr< VectorEpetra > vectorPtr_Type
virtual ~InitPolicySolver()
void stop()
Stop the timer.
BCHandler bcContainer_Type
Displayer - This class is used to display messages in parallel simulations.
std::shared_ptr< NavierStokesProblem< mesh_Type > > NSProblemPtr_Type