Mesh data is constant over time.
- Attributes
name
: name of the meshdim
: geometrical dimension of the meshcell_type
: cell type of the coordinate elementdegree
:lagrange_variant
: integration points
- Variables
-
Scalars
num_vertices
: number of vertices in the meshnum_cells
: number of cellsnum_dofs_per_cell
:
-
Arrays
x
: coordinate array, size (num_vertices, 3)topology
: cell to vertex connectivitytopology_array
: flattened arraytopolgy_offset
: offsets demarcating the cells
input_global_indices
: original input mesh's global indicesorginal_cell_indices
: original input mesh's cell indices
-
Note:
-
One can have meshtags for different entity types: points, edges, facets, cells.
-
One can have multiplicities of meshtags for the same entity type.
-
Suffixes, prefixes can be used.
-
Attributes
name
-
Variables
-
Scalars
num_tag_entities_global_{entity}
num_dofs_per_entity_{entity}
num_saved_tag_entities_{entity}
-
Arrays
topology_{entity}
values_{entity}
-
Note:
-
Multiplicities of FunctionSpaces
-
Multiplicities of Functions from the same FunctionSpace
-
Attributes
functionspace_names
:function_names
: Array of strings of function names
-
Variables
-
Scalars
num_cells_global
num_dofs_per_cell
: different than the one for meshdofmap_bs
:num_dofs_global_dmap
:
-
Arrays
cell_permutations
:topology
:topology_array
: dofmap of the function spacetopology_offsets
: xdofmap
values
:
-
One needs to define ADIOS2 variables for each of the above. Should we create the ADIOS2 variable with some prefix/suffix to the above variable names?
Example:
adios2::Variable<T> values_var = io.DefineVariable<T>(funcname + "_values",
{num_dofs_global},
{dof_offset},
{num_dofs_local},
adios2::ConstantDims);
writer.Put(values_var, values.data());
num_vertices
is not necessarily correct for higher order meshes.num_nodes
would be a better name