ADIOS2-based output writers.
More...
Go to the source code of this file.
|
template<class T > |
adios2::Attribute< T > | define_attribute (adios2::IO &io, std::string name, const T &value, std::string var_name="", std::string separator="/") |
|
template<class T > |
adios2::Variable< T > | define_variable (adios2::IO &io, std::string name, const adios2::Dims &shape=adios2::Dims(), const adios2::Dims &start=adios2::Dims(), const adios2::Dims &count=adios2::Dims()) |
|
template<std::floating_point T> |
std::shared_ptr< const mesh::Mesh< T > > | extract_common_mesh (const typename adios2_writer::U< T > &u) |
| Extract common mesh from list of Functions.
|
|
void | initialize_mesh_attributes (adios2::IO &io, mesh::CellType type) |
|
template<std::floating_point T> |
void | initialize_function_attributes (adios2::IO &io, const typename adios2_writer::U< T > &u) |
|
template<typename T , std::floating_point U> |
std::vector< T > | pack_function_data (const fem::Function< T, U > &u) |
|
template<typename T , std::floating_point U> |
void | write_data (adios2::IO &io, adios2::Engine &engine, const fem::Function< T, U > &u) |
|
template<std::floating_point T> |
void | write_mesh (adios2::IO &io, adios2::Engine &engine, const mesh::Mesh< T > &mesh) |
| Write mesh geometry and connectivity (topology) for Fides.
|
|
|
constexpr std::array | field_ext = {"_real", "_imag"} |
|
ADIOS2-based output writers.
◆ define_attribute()
template<class T >
adios2::Attribute< T > define_attribute |
( |
adios2::IO & |
io, |
|
|
std::string |
name, |
|
|
const T & |
value, |
|
|
std::string |
var_name = "" , |
|
|
std::string |
separator = "/" |
|
) |
| |
|
protected |
Safe definition of an attribute. First check if it has already been defined and return it. If not defined create new attribute.
◆ define_variable()
template<class T >
adios2::Variable< T > define_variable |
( |
adios2::IO & |
io, |
|
|
std::string |
name, |
|
|
const adios2::Dims & |
shape = adios2::Dims() , |
|
|
const adios2::Dims & |
start = adios2::Dims() , |
|
|
const adios2::Dims & |
count = adios2::Dims() |
|
) |
| |
|
protected |
Safe definition of a variable. First check if it has already been defined and return it. If not defined create new variable.
◆ initialize_function_attributes()
template<std::floating_point T>
void initialize_function_attributes |
( |
adios2::IO & |
io, |
|
|
const typename adios2_writer::U< T > & |
u |
|
) |
| |
|
protected |
Initialize function related attributes for the ADIOS2 file used in Fides
- Parameters
-
[in] | io | The ADIOS2 IO |
[in] | u | List of functions |
◆ initialize_mesh_attributes()
void initialize_mesh_attributes |
( |
adios2::IO & |
io, |
|
|
mesh::CellType |
type |
|
) |
| |
|
protected |
Initialize mesh related attributes for the ADIOS2 file used in Fides.
- Parameters
-
[in] | io | ADIOS2 IO object |
[in] | type | Cell type |
◆ pack_function_data()
template<typename T , std::floating_point U>
std::vector< T > pack_function_data |
( |
const fem::Function< T, U > & |
u | ) |
|
|
protected |
Pack Function data at vertices. The mesh and the function must both be 'P1'.
◆ write_data()
template<typename T , std::floating_point U>
void write_data |
( |
adios2::IO & |
io, |
|
|
adios2::Engine & |
engine, |
|
|
const fem::Function< T, U > & |
u |
|
) |
| |
|
protected |
Write a first order Lagrange function (real or complex) using ADIOS2 in Fides format. Data is padded to be three dimensional if vector and 9 dimensional if tensor.
- Parameters
-
[in] | io | The ADIOS2 io object |
[in] | engine | The ADIOS2 engine object |
[in] | u | The function to write |
◆ write_mesh()
template<std::floating_point T>
void write_mesh |
( |
adios2::IO & |
io, |
|
|
adios2::Engine & |
engine, |
|
|
const mesh::Mesh< T > & |
mesh |
|
) |
| |
|
protected |
Write mesh geometry and connectivity (topology) for Fides.
- Parameters
-
[in] | io | The ADIOS2 IO |
[in] | engine | The ADIOS2 engine |
[in] | mesh | The mesh |
◆ field_ext
constexpr std::array field_ext = {"_real", "_imag"} |
|
constexprprotected |
String suffix for real and complex components of a vector-valued field