Class IStructure

Inheritance Relationships

Derived Types

Class Documentation

class IStructure

Interface class for the model structure.

Derived classes will hold the structured data of the model. Member functions also provide · input and output of restart data and data fields for output, either natively or on a reshaped grid · iteration over the element data, using a given function. This should allow derived classes to implement both Eulerian grids and Lagrangian meshes.

Subclassed by Nextsim::ParametricGrid, Nextsim::RectangularGrid

Public Functions

inline IStructure()
virtual ~IStructure() = default
virtual ModelState getModelState(const std::string &filePath) = 0

Returns the ModelState stored in the file.

inline virtual const std::string &structureType() const

Returns the structure name that this class will process.

inline bool structureTypeCheck(const std::string &str) const

Checks if the passed string matches (ignoring case) the name of the structure that this class constructs.

Parameters:

str – The string to be checked.

virtual void dumpModelState(const ModelState &state, const std::string &filePath, bool isRestart) const = 0

Dumps the data to a file path.

Dumps the given ModelState to the given file path.

Parameters:
  • filePath – The path to attempt writing the data to.

  • state – The ModelState data

  • filePath – The path to attempt to write the data to.

Public Static Functions

static inline const std::string structureNodeName()

The name of the group holding the definitive structure type.