36 #ifndef _HYPERBOLICDATA_H_ 37 #define _HYPERBOLICDATA_H_ 1
39 #include <lifev/core/mesh/MeshData.hpp> 41 #include <lifev/core/fem/TimeData.hpp> 63 template <
typename Mesh>
93 HyperbolicData (
const GetPot& dataFile,
const std::string& section =
"hyperbolic" );
125 void setup (
const Data_Type& dataFile,
const std::string& section =
"hyperbolic" );
226 template <
typename Mesh >
242 template <
typename Mesh >
245 M_data ( hyperbolicData.M_data ),
246 M_time ( hyperbolicData.M_time ),
247 M_mesh ( hyperbolicData.M_mesh ),
258 template <
typename Mesh >
269 template <
typename Mesh >
274 if (
this != &hyperbolicData )
277 M_data = hyperbolicData.M_data;
278 M_time = hyperbolicData.M_time;
279 M_mesh = hyperbolicData.M_mesh;
295 template <
typename Mesh >
298 const std::string& section )
306 M_data.reset (
new Data_Type ( dataFile ) );
312 M_time.reset (
new Time_Type ( dataFile, M_section +
"/time_discretization" ) );
318 M_mesh.reset (
new Mesh_Type ( dataFile, M_section +
"/space_discretization" ) );
322 M_verbose = dataFile ( ( M_section +
"/miscellaneous/verbose" ).data(), 1 );
325 M_relaxCFL = dataFile ( (M_section +
"/numerical_flux/CFL/relax").data(), 0.9 );
330 template <
typename Mesh >
334 output <<
"Class HyperbolicData:" << std::endl;
335 M_time->showMe ( output );
336 M_mesh->showMe ( output );
337 output <<
"Verbosity level " << M_verbose << std::endl
338 <<
"Section of GetPot " << M_section << std::endl
339 <<
"Relax CFL parameter " << M_relaxCFL << std::endl
void setMeshData(const MeshPtr_Type MeshData)
Set mesh container.
Real M_relaxCFL
Relax parameter for the CFL condition.
virtual ~HyperbolicData()
Virtual destructor.
DataPtr_Type dataFile() const
Get the data file of the problem.
Real getCFLRelaxParameter() const
Get the relaxation parameter for the CFL condition.
HyperbolicData(const HyperbolicData &hyperbolicData)
Copy constructor.
DataPtr_Type M_data
Data containers for time and mesh.
HyperbolicData(const GetPot &dataFile, const std::string §ion="hyperbolic")
Constructor using a data file.
std::shared_ptr< Mesh_Type > MeshPtr_Type
std::shared_ptr< Time_Type > TimePtr_Type
void showMe(std::ostream &output=std::cout) const
Print attributes of the class.
HyperbolicData()
Empty Constructor.
TimePtr_Type dataTime() const
Get data time container.
void setup(const Data_Type &dataFile, const std::string §ion="hyperbolic")
External setup.
void setTimeData(const TimePtr_Type TimeData)
Set data time container.
MeshData - class for handling spatial discretization.
std::shared_ptr< Data_Type > DataPtr_Type
const std::string section() const
Get the main section of the data file.
double Real
Generic real data.
UInt M_verbose
Miscellaneous.
UInt verbose() const
Get the level of verbosity of the problem.
HyperbolicData & operator=(const HyperbolicData &hyperbolicData)
Assign operator overloading.
MeshPtr_Type meshData() const
Get mesh container.
uint32_type UInt
generic unsigned integer (used mainly for addressing)