35 #ifndef NAVIERSTOKESPROBLEM_HPP 36 #define NAVIERSTOKESPROBLEM_HPP 40 #include <lifev/core/LifeV.hpp> 41 #include <lifev/core/fem/BCHandler.hpp> 42 #include <lifev/core/mesh/MeshPartitioner.hpp> 43 #include <lifev/core/fem/BCBase.hpp> 48 template<
class mesh_Type >
75 virtual function_Type
xexact();
78 virtual function_Type
uexact();
84 virtual function_Type
pexact();
90 virtual void showMe ( std::ostream& output = std::cout )
const = 0;
99 const std::string& ressourcesPath =
"./Ressources/" );
119 virtual void mesh ( std::shared_ptr< mesh_Type >& mesh )
const = 0;
128 virtual std::string
name()
const = 0;
137 virtual function_Type
force();
150 template<
class mesh_Type >
158 template<
class mesh_Type >
165 template<
class mesh_Type >
171 template<
class mesh_Type >
178 template<
class mesh_Type >
185 template<
class mesh_Type >
192 template<
class mesh_Type >
199 template<
class mesh_Type >
206 template<
class mesh_Type >
209 const std::string& resourcesPath )
215 template<
class mesh_Type >
222 template<
class mesh_Type >
229 template<
class mesh_Type >
236 template<
class mesh_Type >
243 template<
class mesh_Type >
std::string M_resourcesPath
virtual function_Type pexact()
Returns the value of the exact solution (pressure component only)
static Real nullFunction(const Real &, const Real &, const Real &, const Real &, const ID &)
virtual function_Type xexact()
Returns the value of the exact solution.
virtual function_Type uderexact()
Returns the value of the derivative of the exact solution with respect to the time (velocity componen...
virtual void mesh(std::shared_ptr< mesh_Type > &mesh) const =0
Getter for the problem mesh.
virtual std::string name() const =0
Returns the name of the problem.
virtual void boundaryConditions(std::shared_ptr< BCHandler > bcHandler) const =0
Getter for the boundary conditions in the provided BCHandler.
void setMesh(const UInt &refinement, const std::string &ressourcesPath="./Ressources/")
Setup the problem mesh.
virtual void setDensity(const Real &density)
Set the density of the fluid.
void updateInverseJacobian(const UInt &iQuadPt)
virtual function_Type force()
Returns the value of the forces.
virtual void showMe(std::ostream &output=std::cout) const =0
Display general information about the problem.
Real density() const
Returns the density.
virtual ~NavierStokesProblem()
double Real
Generic real data.
virtual void setViscosity(const Real &viscosity)
Set the viscosity of the fluid.
virtual function_Type uexact()
Returns the value of the exact solution (velocity components only)
Real viscosity() const
Returns the viscosity.
virtual bool hasExactSolution() const
Returns true if the problem has an exact solution.
uint32_type UInt
generic unsigned integer (used mainly for addressing)