KratosMultiphysics
KRATOS Multiphysics (Kratos) is a framework for building parallel, multi-disciplinary simulation software, aiming at modularity, extensibility, and high performance. Kratos is written in C++, and counts with an extensive Python interface.
hdf5_element_gauss_point_output.h
Go to the documentation of this file.
1 // | / |
2 // ' / __| _` | __| _ \ __|
3 // . \ | ( | | ( |\__ `
4 // _|\_\_| \__,_|\__|\___/ ____/
5 // Multi-Physics
6 //
7 // License: BSD License
8 // license: HDF5Application/license.txt
9 //
10 // Main author: Suneth Warnakulasuriya, https://github.com/sunethwarna
11 //
12 
13 #if !defined(KRATOS_HDF5_ELEMENT_GAUSS_POINT_OUTPUT_H_INCLUDED)
14 #define KRATOS_HDF5_ELEMENT_GAUSS_POINT_OUTPUT_H_INCLUDED
15 
16 // System includes
17 #include <string>
18 #include <vector>
19 
20 // External includes
21 
22 // Project includes
23 #include "includes/define.h"
24 #include "includes/process_info.h"
25 
26 // Application includes
28 #include "custom_io/hdf5_file.h"
30 
31 namespace Kratos
32 {
33 class Parameters;
34 
35 namespace HDF5
36 {
39 
42 
44 class ElementGaussPointOutput : public ContainerGaussPointOutput<ElementsContainerType,
45  Variable<array_1d<double, 3>>,
46  Variable<double>,
47  Variable<int>,
48  Variable<Vector<double>>,
49  Variable<Matrix<double>>>
50 {
51 public:
54 
61 
64 
68 
70  ElementGaussPointOutput(Parameters Settings, File::Pointer pFile)
71  : BaseType(Settings, pFile, "/ElementGaussPointValues")
72  {
73  }
74 
78 
80  ElementsContainerType& rElements,
81  const DataCommunicator& rDataCommunicator,
82  const ProcessInfo& rProcessInfo)
83  {
84  this->WriteContainerGaussPointsValues(rElements, rDataCommunicator, rProcessInfo);
85  }
86 
88 
89 }; // class ElementGaussPointOutput.
90 
93 } // namespace HDF5.
94 } // namespace Kratos.
95 
96 #endif // KRATOS_HDF5_ELEMENT_GAUSS_POINT_OUTPUT_H_INCLUDED defined
Serial (do-nothing) version of a wrapper class for MPI communication.
Definition: data_communicator.h:318
A class for IO of element data in HDF5.
Definition: hdf5_container_gauss_point_output.h:46
void WriteContainerGaussPointsValues(ElementsContainerType &rContainerItems, const DataCommunicator &rDataCommunicator, const ProcessInfo &rProcessInfo)
Definition: hdf5_container_gauss_point_output.cpp:157
A class for IO of element data in HDF5.
Definition: hdf5_element_gauss_point_output.h:50
void WriteElementGaussPointValues(ElementsContainerType &rElements, const DataCommunicator &rDataCommunicator, const ProcessInfo &rProcessInfo)
Definition: hdf5_element_gauss_point_output.h:79
ElementGaussPointOutput(Parameters Settings, File::Pointer pFile)
Constructor.
Definition: hdf5_element_gauss_point_output.h:70
KRATOS_CLASS_POINTER_DEFINITION(ElementGaussPointOutput)
Pointer definition.
This class provides to Kratos a data structure for I/O based on the standard of JSON.
Definition: kratos_parameters.h:59
A sorted associative container similar to an STL set, but uses a vector to store pointers to its data...
Definition: pointer_vector_set.h:72
ProcessInfo holds the current value of different solution parameters.
Definition: process_info.h:59
Variable class contains all information needed to store and retrive data from a data container.
Definition: variable.h:63
IO::MeshType::ElementsContainerType ElementsContainerType
Definition: hdf5_application_define.h:51
REF: G. R. Cowper, GAUSSIAN QUADRATURE FORMULAS FOR TRIANGLES.
Definition: mesh_condition.cpp:21