SERiF v0.0.1a
Stellar Evolution and Rotation in Four Dimensions
Loading...
Searching...
No Matches
serif::backend::mfem::serialize::ResourceWriter Class Reference

Collect shared meshes, collections and spaces once while recording their associations. More...

#include <resources.hpp>

Collaboration diagram for serif::backend::mfem::serialize::ResourceWriter:
[legend]

Public Member Functions

 ResourceWriter (SaveOptions options={})
 Select whether each distinct mesh is embedded.
 
std::uint64_t mesh (const ::mfem::Mesh &value)
 Record one mesh and return its archive index.
 
std::uint64_t space (const ::mfem::FiniteElementSpace &value)
 Record one fixed-order space and return its archive index.
 
void mapping (const ::mfem::GridFunction &compactification, const serif::mapping::DomainMapper &mapper)
 Record field geometry, compactification and mapping inputs.
 
utils::serialize::Node reference (const geometry::deformation::backend::mfem::ReferenceDiscretization &value)
 Record the paired spaces and mesh used to interpret shape coefficients.
 
utils::serialize::Node finish () &&
 Move the complete resource record into its containing discretization.
 

Private Member Functions

std::uint64_t collection (const ::mfem::FiniteElementCollection &value)
 Share collection identity because deformation companions require the same collection object.
 

Private Attributes

SaveOptions m_options
 
utils::serialize::Node m_record
 
std::vector< const ::mfem::Mesh * > m_meshes
 
std::vector< const ::mfem::FiniteElementCollection * > m_collections
 
std::vector< const ::mfem::FiniteElementSpace * > m_spaces
 

Detailed Description

Collect shared meshes, collections and spaces once while recording their associations.

Note
Pointer identity is used only during writing; the archive contains numbered references.

Constructor & Destructor Documentation

◆ ResourceWriter()

serif::backend::mfem::serialize::ResourceWriter::ResourceWriter ( SaveOptions options = {})
explicit

Select whether each distinct mesh is embedded.

Member Function Documentation

◆ collection()

std::uint64_t serif::backend::mfem::serialize::ResourceWriter::collection ( const ::mfem::FiniteElementCollection & value)
nodiscardprivate

Share collection identity because deformation companions require the same collection object.

◆ finish()

utils::serialize::Node serif::backend::mfem::serialize::ResourceWriter::finish ( ) &&
nodiscard

Move the complete resource record into its containing discretization.

◆ mapping()

void serif::backend::mfem::serialize::ResourceWriter::mapping ( const ::mfem::GridFunction & compactification,
const serif::mapping::DomainMapper & mapper )

Record field geometry, compactification and mapping inputs.

◆ mesh()

std::uint64_t serif::backend::mfem::serialize::ResourceWriter::mesh ( const ::mfem::Mesh & value)
nodiscard

Record one mesh and return its archive index.

◆ reference()

utils::serialize::Node serif::backend::mfem::serialize::ResourceWriter::reference ( const geometry::deformation::backend::mfem::ReferenceDiscretization & value)
nodiscard

Record the paired spaces and mesh used to interpret shape coefficients.

◆ space()

std::uint64_t serif::backend::mfem::serialize::ResourceWriter::space ( const ::mfem::FiniteElementSpace & value)
nodiscard

Record one fixed-order space and return its archive index.

Member Data Documentation

◆ m_collections

std::vector<const ::mfem::FiniteElementCollection*> serif::backend::mfem::serialize::ResourceWriter::m_collections
private

◆ m_meshes

std::vector<const ::mfem::Mesh*> serif::backend::mfem::serialize::ResourceWriter::m_meshes
private

◆ m_options

SaveOptions serif::backend::mfem::serialize::ResourceWriter::m_options
private

◆ m_record

utils::serialize::Node serif::backend::mfem::serialize::ResourceWriter::m_record
private

◆ m_spaces

std::vector<const ::mfem::FiniteElementSpace*> serif::backend::mfem::serialize::ResourceWriter::m_spaces
private

The documentation for this class was generated from the following files: