#include <serializable.hpp>
Public Types | |
enum class | SerializerType { none , collective , serial } |
Public Member Functions | |
virtual SerializerType | Serialize () const |
virtual const std::string & | GetId () const =0 |
virtual PetscErrorCode | Save (PetscViewer viewer, PetscInt sequenceNumber, PetscReal time)=0 |
virtual PetscErrorCode | Restore (PetscViewer viewer, PetscInt sequenceNumber, PetscReal time)=0 |
Static Protected Member Functions | |
static PetscErrorCode | SaveKeyValue (PetscViewer viewer, const char *name, PetscScalar value) |
static PetscErrorCode | RestoreKeyValue (PetscViewer viewer, const char *name, PetscScalar &value) |
template<class T > | |
static PetscErrorCode | SaveKeyValue (PetscViewer viewer, const char *name, T value) |
template<class T > | |
static PetscErrorCode | RestoreKeyValue (PetscViewer viewer, const char *name, T &value) |
template<class T > | |
static SerializerType | DetermineSerializerType (const T &types) |
This class gives the option to serialize/save restore. A bool is used at startup to determine if it should be save/restored
|
strong |
Allow the Serializable object to determine what kind of serialization is needed
|
inlinestaticprotected |
Provide a helper function to determine the type for a vector or map of objects
|
pure virtual |
only required function, returns the id of the object. Should be unique for the simulation
Implemented in ablate::particles::ParticleSolver, ablate::monitors::RadiationFlux, ablate::monitors::FieldMonitor, ablate::monitors::BoundarySolverMonitor, ablate::finiteVolume::processes::PressureGradientScaling, ablate::finiteVolume::FiniteVolumeSolver, ablate::domain::SubDomain, ablate::boundarySolver::physics::subModels::SublimationModel, ablate::boundarySolver::physics::Sublimation, and ablate::boundarySolver::BoundarySolver.
|
pure virtual |
Restore the state from the PetscViewer
viewer | |
sequenceNumber | |
time |
Implemented in ablate::particles::ParticleSolver, ablate::monitors::TurbFlowStats, ablate::monitors::RadiationFlux, ablate::monitors::FieldMonitor, ablate::monitors::BoundarySolverMonitor, ablate::finiteVolume::processes::PressureGradientScaling, ablate::finiteVolume::FiniteVolumeSolver, ablate::domain::SubDomain, ablate::boundarySolver::physics::subModels::TemperatureSublimation, ablate::boundarySolver::physics::subModels::SublimationModel, ablate::boundarySolver::physics::subModels::ArrheniusSublimation, ablate::boundarySolver::physics::Sublimation, and ablate::boundarySolver::BoundarySolver.
|
staticprotected |
helper function to restore PetscScalar to a PetscViewer. The same value is returned on all mpi ranks
viewer | |
name | |
value |
|
inlinestaticprotected |
Helper function to save a restore key/value pair to the PetscViewer. It is assumed to be the same value across all mpi ranks
T |
viewer | |
name | |
value |
|
pure virtual |
Save the state to the PetscViewer
viewer | |
sequenceNumber | |
time |
Implemented in ablate::particles::ParticleSolver, ablate::monitors::TurbFlowStats, ablate::monitors::RadiationFlux, ablate::monitors::RadiationFieldMonitor, ablate::monitors::MixtureFractionMonitor, ablate::monitors::FieldMonitor, ablate::monitors::ChemTabMonitor, ablate::monitors::BoundarySolverMonitor, ablate::finiteVolume::processes::PressureGradientScaling, ablate::finiteVolume::FiniteVolumeSolver, ablate::domain::SubDomain, ablate::boundarySolver::physics::subModels::TemperatureSublimation, ablate::boundarySolver::physics::subModels::SublimationModel, ablate::boundarySolver::physics::subModels::ArrheniusSublimation, ablate::boundarySolver::physics::Sublimation, and ablate::boundarySolver::BoundarySolver.
|
staticprotected |
helper function to save PetscScalar to a PetscViewer. It is assumed to be the same value across all mpi ranks
viewer | |
name | |
value |
|
inlinestaticprotected |
Helper function to save a single key/value pair to the PetscViewer. It is assumed to be the same value across all mpi ranks
T |
viewer | |
name | |
value |
|
inlinevirtual |
boolean used to determined if this object should be serialized at runtime
Reimplemented in ablate::monitors::RadiationFlux, ablate::finiteVolume::FiniteVolumeSolver, ablate::boundarySolver::physics::subModels::TemperatureSublimation, ablate::boundarySolver::physics::subModels::SublimationModel, ablate::boundarySolver::physics::subModels::ArrheniusSublimation, ablate::boundarySolver::physics::Sublimation, and ablate::boundarySolver::BoundarySolver.