Reference manual overview
This page is organized like a lightweight reference manual. Start with Getting started for the recommended write order, continue with the end-to-end tutorials, then use the structure sections and the declaration appendix as an API lookup.
- Data model source:
src/VMAP.h - I/O API source:
src/VMAPFile.h - Storage behavior cross-check:
src/VMAPFile.cxx - Examples cross-checked against
test/andswig/Interfacetest/C++/example.cxx
| Start here | Getting started |
|---|---|
| Workflow tutorial | Create a simulation result step by step |
| API landscape | VMAPFile API map |
| Structure lookup | Struct reference sections and declaration appendix |
Contents
Getting started
Recommended write order
- Open a file with
VMAPFileinCREATEORREPLACEmode. - Create the simulation branches with
createSimulationGroups(). - Create a part path with
createGeometryGroup(partId, partName). - Write
sPointsBlockandsElementBlockfor that part. - Store referenced system data such as
sIntegrationTypeandsElementType. - Create a result branch with
createVariablesGroup(stateId, partId). - Describe the state using
setVariableStateInformation(). - Write one or more
sStateVariableobjects withwriteVariable()orwriteVariablesBlock(). - Close the file explicitly when finished.
Primary headers and helper classes
src/VMAP.h– structs, enums, and field metadatasrc/VMAPFile.h– VMAP/HDF5 file operationssrc/VMAPElementTypeFactory.h– reusable element metadata creationsrc/VMAPIntegrationTypeFactory.h– predefined integration rules
Common simulation paths
/VMAP/SIMULATION/GEOMETRY/<partId>/VMAP/SIMULATION/VARIABLES/STATE-<stateId>/<partId>/VMAP/SIMULATION/SYSTEM/ELEMENTTYPES/VMAP/SIMULATION/SYSTEM/INTEGRATIONTYPES
Minimal file skeleton
#include "VMAP.h"
#include "VMAPFile.h"
int main() {
using namespace VMAP;
VMAPFile file("tutorial_result.vmap", VMAPFile::CREATEORREPLACE);
file.createSimulationGroups();
// add system data, geometry, and variables here
file.closeFile();
return 0;
}
Tutorials
Tutorial 1 – Create a simulation result with geometry, one part, and one nodal variable
This tutorial follows the same API sequence used by the existing geometry examples in test/write_read_pointsblock.cxx, test/write_read_elementsblock.cxx, and the state-variable setup visible in swig/Interfacetest/C++/example.cxx.
- Open the VMAP file and create the simulation branch hierarchy.
- Create a geometry group for the part and write its point block.
- Create the integration type and element type referenced by the mesh.
- Write the element block using the previously defined element type identifier.
- Create a result group for
STATE-1and attach state metadata. - Create a scalar nodal
sStateVariableand write it into the state/part result path.
#include "VMAP.h"
#include "VMAPFile.h"
#include "VMAPElementTypeFactory.h"
#include "VMAPIntegrationTypeFactory.h"
#include <vector>
int main() {
using namespace VMAP;
VMAPFile file("plate_result.vmap", VMAPFile::CREATEORREPLACE);
file.createSimulationGroups();
const int partId = 1;
const int stateId = 1;
std::string partPath = file.createGeometryGroup(partId, "Plate");
sPointsBlock points(4);
points.setPoint(0, 1, 0.0, 0.0, 0.0);
points.setPoint(1, 2, 1.0, 0.0, 0.0);
points.setPoint(2, 3, 1.0, 1.0, 0.0);
points.setPoint(3, 4, 0.0, 1.0, 0.0);
file.writePointsBlock(partPath, points);
sIntegrationType quadRule =
VMAPIntegrationTypeFactory::createVMAPIntegrationType(
VMAPIntegrationTypeFactory::GAUSS_QUAD_4);
quadRule.setIdentifier(1);
file.writeIntegrationTypes(std::vector<sIntegrationType>{quadRule});
sElementType quadType =
VMAPElementTypeFactory::createVMAPElementType(
sElementType::ELEM_3D,
sElementType::QUAD_4,
sElementType::CONSTANT,
quadRule.getIdentifier());
quadType.setIdentifier(1);
quadType.setTypeDescription("Four-node quad shell");
quadType.setNumberOfNormalComponents(3);
quadType.setNumberOfShearComponents(1);
file.writeElementTypes(std::vector<sElementType>{quadType});
sElement element;
element.setIdentifier(1);
element.setElementType(quadType.getIdentifier());
element.setCoordinateSystem(-1);
element.setMaterialType(-1);
element.setSectionType(-1);
element.setConnectivity(std::vector<int>{1, 2, 3, 4});
sElementBlock elements(1);
elements.setElement(0, element);
file.writeElementsBlock(partPath, elements);
std::string resultPath = file.createVariablesGroup(stateId, partId);
file.setVariableStateInformation(stateId, "LOADSTEP-1", 1.0, 1.0, 1);
sStateVariable temperature;
temperature.setIdentifier(1);
temperature.setVariableName("TEMPERATURE");
temperature.setVariableDescription("Nodal temperature in degree Celsius");
temperature.setIncrementValue(1);
temperature.setTimeValue(1.0);
temperature.setModalFrequency(-1.0);
temperature.setUnit(-1);
temperature.setCoordinateSystem(-1);
temperature.setDimension(sStateVariable::DIMENSION_SCALAR);
temperature.setLocation(sStateVariable::LOCATION_NODE);
temperature.setMultiplicity(1);
temperature.setEntity(sStateVariable::ENTITY_REAL);
temperature.setValues(std::vector<double>{20.0, 35.0, 42.0, 28.0});
file.writeVariable(resultPath, temperature);
file.closeFile();
return 0;
}
Tutorial 2 – Read the written simulation result back for validation
After writing, reopen the file in read-only mode and confirm the part geometry, state metadata, and variable block.
#include "VMAP.h"
#include "VMAPFile.h"
#include <string>
#include <vector>
int main() {
using namespace VMAP;
VMAPFile file("plate_result.vmap", VMAPFile::OPENREADONLY);
sPointsBlock points;
file.readPointsBlock("/VMAP/SIMULATION/GEOMETRY/1", points);
sElementBlock elements;
file.readElementsBlock("/VMAP/SIMULATION/GEOMETRY/1", elements);
std::string stateName;
double totalTime = 0.0;
double stepTime = 0.0;
double modalFrequency = -1.0;
int increment = 0;
file.getVariableStateInformation(1, stateName, totalTime, stepTime, increment, modalFrequency);
std::vector<sStateVariable> variables;
file.readVariablesBlock("/VMAP/SIMULATION/VARIABLES/STATE-1/1", variables);
file.closeFile();
return 0;
}
Class and structure index
| Area | Primary symbols | Where to look next |
|---|---|---|
| File lifecycle and groups | VMAPFile, createSimulationGroups(), createGeometryGroup(), createVariablesGroup() |
VMAPFile API map, declaration appendix |
| System metadata | sVersion, sMetaInformation, sUnitSystem, sUnit |
System and unit structs |
| Geometry and mesh | sPointsBlock, sIntegrationType, sElementType, sElement, sElementBlock, sGeometrySet |
Geometry and mesh structs |
| Simulation results | sStateVariable, sMaterial, sInitialCondition, sBoundaryCondition, sConnection |
Simulation variable/material/condition structs |
| Measurement data | sMeasurementDevice, sMeasurandValues, sMultiParameterObject |
Measurement structs |
| Factories | VMAPElementTypeFactory, VMAPIntegrationTypeFactory |
Classes and factories appendix |
HDF5 model and type legend
VMAP storage model
/VMAP/SIMULATION/SYSTEM: meta information, units, element types, integration types, sections/VMAP/SIMULATION/GEOMETRY/<partId>: points, elements, geometry sets/VMAP/SIMULATION/VARIABLES/STATE-<id>/<partId>: state variables/VMAP/SIMULATION/MATERIAL: materials and material cards/VMAP/SIMULATION/INITIAL_CONDITIONSand/BOUNDARY_CONDITION: condition groups/VMAP/MEASUREMENT/*: measurement system, geometry, variables, and devices
HDF5 type shorthand
attr:i32– integer attributeattr:f64– double attributeattr:str– string attributedset:i32[]– integer datasetdset:f32[]/f64[]– floating-point datasetdset:compound– compound dataset with named membersvlen i32[]/vlen f64[]– variable-length array membernested compound– structure embedded into a larger compound record
The implementation in src/VMAPFile.cxx builds HDF5 compound types for core structs such as
sVersion, sMetaInformation, sCoordinateSystem, sBaseUnit,
sUnitSystem, sUnit, sIntegrationType, sSection,
sElementType, sElement, sParameter, and sConnection.
Variable-sized vectors are typically stored using HDF5 variable-length members or dedicated datasets.
VMAPFile API map
| Domain | Create / group functions | Write functions | Read functions |
|---|---|---|---|
| System | createSimulationGroups(), createMeasurementGroups() |
writeMetaInformation(), writeUnitSystem(), writeUnits(), writeElementTypes(), writeIntegrationTypes(), writeSections(), writeCoordinateSystems() |
readVersion(), readMetaInformation(), readUnitSystem(), readUnits(), readElementTypes(), readIntegrationTypes(), readSections(), readCoordinateSystems() |
| Simulation geometry | createGeometryGroup() |
writePointsBlock(), writeElementsBlock(), writeGeometrySets() |
readPointsBlock(), readElementsBlock(), readGeometrySets() |
| Simulation variables | createVariablesGroup(), setVariableStateInformation() |
writeVariablesBlock(), writeVariable() |
readVariablesBlock(), readVariable() |
| Materials / tables | – | writeTable(), writeMaterial(), writeMaterialBlock() |
readTable(), readMaterial(), readMaterialBlock() |
| Conditions | – | writeInitialCondition(), writeInitialConditionsBlock(), writeBoundaryCondition(), writeBoundaryConditionsBlock(), writeConnectionsBlock(), writeNativeSolverContent() |
readInitialCondition(), readInitialConditionsBlock(), readBoundaryCondition(), readBoundaryConditionsBlock(), readConnectionsBlock(), readNativeSolverContent() |
| Measurement | createMeasurementGeometryGroup(), createMeasurementVariablesGroup() |
writeMeasurementUnitSystem(), writeMeasurementUnits(), writeMeasurementElementTypes(), writeMeasurementDevice(), writeMeasurandValues(), writeMeasurandValuesBlock() |
readMeasurementUnitSystem(), readMeasurementUnits(), readMeasurementElementTypes(), readMeasurementDevice(), readMeasurandValues(), readMeasurandValuesBlock() |
System and unit structs
sVersion
Stores the VMAP format/library version as myMajor, myMinor, and
myPatch. The public access pattern is simple member storage plus VMAPFile::readVersion().
| Members | myMajor, myMinor, myPatch |
|---|---|
| Access functions | readVersion() (write is handled internally by the file layer) |
| VMAP location | /VMAP attribute VERSION |
| HDF5 type | compound value bound to the VERSION attribute |
C++
VMAP::sVersion version; file.readVersion(version); int major = version.myMajor;
Python
import PyVMAP as VMAP ver = VMAP.sVersion() vm.readVersion(ver) print(ver.myMajor, ver.myMinor, ver.myPatch)
sMetaInformation
Describes the exporter and file provenance. Typical members are exporter name, file date/time, description, analysis type, and user id. Access is mainly through setter/getter pairs.
| Core members | myExporterName, myFileDate, myFileTime, myDescription, myAnalysisType, myUserId |
|---|---|
| Access functions | setExporterName(), setFileDate(), setFileTime(), setDescription(), setAnalysisType(), setUserId(), matching getters |
| VMAP location | /VMAP/SIMULATION/SYSTEM/METADATA |
| HDF5 type | compound dataset with variable-length strings |
C++
VMAP::sMetaInformation meta;
meta.setExporterName("ExampleSolver");
meta.setAnalysisType("STATIC");
file.writeMetaInformation(meta);
Python
meta = VMAP.sMetaInformation()
meta.setExporterName("ExampleSolver")
meta.setAnalysisType("STATIC")
vm.writeMetaInformation(meta)
sCoordinateSystem
Defines a reference frame with identifier, type, reference point, and three axis vectors. Coordinate systems are usually written into a caller-provided system or geometry group.
| Core members | myIdentifier, myType, myReferencePoint[3], myAxisVectors[9] |
|---|---|
| Access functions | setIdentifier(), setType(), setReferencePoint(), setAxisVector(), matching getters |
| VMAP location | <group>/COORDINATESYSTEM |
| HDF5 type | compound dataset; integer members plus fixed-size f64[3] and f64[9] arrays |
C++
VMAP::sCoordinateSystem cs; cs.setIdentifier(1); cs.setType(VMAP::sCoordinateSystem::CARTESIAN_RIGHT_HAND); cs.setReferencePoint(0.0, 0.0, 0.0);
Python
cs = VMAP.sCoordinateSystem() cs.setIdentifier(1) cs.setType(VMAP.sCoordinateSystem.CARTESIAN_RIGHT_HAND) cs.setReferencePoint(0.0, 0.0, 0.0)
sBaseUnit and sUnitSystem
sBaseUnit stores one SI base-unit definition. sUnitSystem groups seven of them for
length, mass, time, current, temperature, amount of substance, and luminous intensity.
| Core members | sBaseUnit: identifier, SI scale/shift, symbol, quantity.sUnitSystem: myLengthUnit … myLuminousIntensityUnit |
|---|---|
| Access functions | sBaseUnit::setIdentifier(), setSIScale(), setSIShift(), setUnitSymbol(), setUnitQuantity(); sUnitSystem::getLengthUnit(), etc. |
| VMAP location | /VMAP/SIMULATION/SYSTEM/UNITSYSTEM or /VMAP/MEASUREMENT/SYSTEM/UNITSYSTEM |
| HDF5 type | nested compound dataset; each base unit is itself a compound entry |
C++
VMAP::sUnitSystem us;
us.getLengthUnit().setUnitSymbol("mm");
us.getTimeUnit().setUnitSymbol("s");
file.writeUnitSystem(us);
Python
us = VMAP.sUnitSystem()
us.getLengthUnit().setUnitSymbol("mm")
us.getTimeUnit().setUnitSymbol("s")
vm.writeUnitSystem(us)
sUnit
Represents a derived unit with identifier, symbol, and a seven-component dimension vector over the
base quantities. It complements sUnitSystem.
| Core members | myIdentifier, myUnitSymbol, myUnitDimension[7] |
|---|---|
| Access functions | setIdentifier(), setUnitSymbol(), setUnitDimension(), matching getters |
| VMAP location | /VMAP/SIMULATION/SYSTEM/UNITS or measurement equivalent |
| HDF5 type | compound dataset with integer id, string symbol, integer dimension array |
C++
VMAP::sUnit stress;
stress.setIdentifier(100);
stress.setUnitSymbol("MPa");
stress.setUnitDimension({-1, 1, -2, 0, 0, 0, 0});
Python
u = VMAP.sUnit()
u.setIdentifier(100)
u.setUnitSymbol("MPa")
u.setUnitDimension([ -1, 1, -2, 0, 0, 0, 0 ])
Geometry and mesh structs
sPointsBlock
Stores point or node identifiers and coordinates for one geometry part. The storage layout is a point-id vector plus a flat coordinate vector.
| Core members | myCoordinateSystem, mySize, myIdentifiers, myCoordinates |
|---|---|
| Access functions | setPoint(), getPoint(), setPoints(), getIdentifiers(), getCoordinates() |
| VMAP location | /VMAP/SIMULATION/GEOMETRY/<partId>/POINTS |
| HDF5 type | integer dataset for ids, float/double dataset for coordinates, integer coordinate-system attribute |
C++
VMAP::sPointsBlock pts(2); pts.setPoint(0, 1, 0.0, 0.0, 0.0); pts.setPoint(1, 2, 1.0, 0.0, 0.0); file.writePointsBlock(partPath, pts);
Python
pts = VMAP.sPointsBlock(2) pts.setPoint(0, 1, [0.0, 0.0, 0.0]) pts.setPoint(1, 2, [1.0, 0.0, 0.0]) vm.writePointsBlock(partPath, pts)
sIntegrationType
Defines an integration rule: identifier, name, point count, dimension, offset, abscissas, weights, and optional subtypes.
| Core members | myIdentifier, myTypeName, myNumberOfPoints, myDimension, myOffset, myAbscissas, myWeights, mySubTypes |
|---|---|
| Access functions | setIdentifier(), setTypeName(), setOffset(), setSubTypes(), setAbscissasAndWeights(), matching getters |
| VMAP location | /VMAP/SIMULATION/SYSTEM/INTEGRATIONTYPES |
| HDF5 type | compound dataset; varlen f64[] for abscissas/weights and varlen i32[] for subtypes |
C++
auto it = VMAP::VMAPIntegrationTypeFactory::createVMAPIntegrationType(
VMAP::VMAPIntegrationTypeFactory::GAUSS_QUAD_4);
it.setIdentifier(1);
file.writeIntegrationTypes({it});
Python
it = VMAP.VMAPIntegrationTypeFactory.createVMAPIntegrationType(
VMAP.VMAPIntegrationTypeFactory.GAUSS_QUAD_4)
it.setIdentifier(1)
vm.writeIntegrationTypes(VMAP.VectorTemplateIntegrationType([it]))
sSection
Captures section metadata such as section type, linked material, coordinate system, integration type, and thickness handling.
| Core members | myIdentifier, myName, myType, myMaterial, myCoordinateSystem, myIntegrationType, myThicknessType |
|---|---|
| Access functions | setIdentifier(), setName(), setType(), setMaterial(), setCoordinateSystem(), setIntegrationType(), setThicknessType() |
| VMAP location | /VMAP/SIMULATION/SYSTEM/SECTION |
| HDF5 type | compound dataset with integer references and name string |
C++
VMAP::sSection sec;
sec.setIdentifier(1);
sec.setName("ShellSection");
sec.setType(VMAP::sSection::SHELL_SECTION);
Python
sec = VMAP.sSection()
sec.setIdentifier(1)
sec.setName("ShellSection")
sec.setType(VMAP.sSection.SHELL_SECTION)
sElementType
Describes element topology and interpolation, including type name, node count, dimension, shape, interpolation type, integration-type reference, and template connectivity.
| Core members | myIdentifier, myTypeName, myTypeDescription, myNumberOfNodes, myDimension, myShapeType, myInterpolationType, myIntegrationType, myConnectivity, myFaceConnectivity |
|---|---|
| Access functions | setIdentifier(), setTypeName(), setTypeDescription(), setNumberOfNodes(), setDimension(), setShapeType(), setInterpolationType(), setIntegrationType(), setConnectivity(), setFaceConnectivity() |
| VMAP location | /VMAP/SIMULATION/SYSTEM/ELEMENTTYPES |
| HDF5 type | compound dataset with scalar metadata plus varlen integer connectivity members |
C++
auto et = VMAP::VMAPElementTypeFactory::createVMAPElementType(
VMAP::sElementType::ELEM_3D,
VMAP::sElementType::QUAD_4,
VMAP::sElementType::LINEAR,
1);
Python
et = VMAP.VMAPElementTypeFactory.createVMAPElementType(
VMAP.sElementType.ELEM_3D,
VMAP.sElementType.QUAD_4,
VMAP.sElementType.LINEAR,
1)
sElement
Represents one finite element instance with element-type reference, material/section references, coordinate system, and connectivity.
| Core members | myIdentifier, myElementType, myCoordinateSystem, myMaterialType, mySectionType, myConnectivity |
|---|---|
| Access functions | setIdentifier(), setElementType(), setCoordinateSystem(), setMaterialType(), setSectionType(), setConnectivity() |
| VMAP location | row inside /VMAP/SIMULATION/GEOMETRY/<partId>/ELEMENTS |
| HDF5 type | compound row with scalar integer members and varlen integer connectivity |
C++
VMAP::sElement e;
e.setIdentifier(1001);
e.setElementType(1);
e.setConnectivity({1,2,3,4});
Python
e = VMAP.sElement() e.setIdentifier(1001) e.setElementType(1) e.setConnectivity([1,2,3,4])
sElementBlock
Container for multiple sElement entries. This is the object written into one part’s
ELEMENTS dataset.
| Core members | myElementsSize, myElements |
|---|---|
| Access functions | setElement(), getElement(), getElementsSize() |
| VMAP location | /VMAP/SIMULATION/GEOMETRY/<partId>/ELEMENTS |
| HDF5 type | compound dataset with one row per element |
C++
VMAP::sElementBlock block(1); block.setElement(0, e); file.writeElementsBlock(partPath, block);
Python
block = VMAP.sElementBlock(1) block.setElement(0, e) vm.writeElementsBlock(partPath, block)
sGeometrySet
Defines a named set of node or element ids. Geometry sets are commonly referenced by variables, initial conditions, and boundary conditions.
| Core members | myIdentifier, mySetName, mySetType, mySetIndexType, myGeometrySetData |
|---|---|
| Access functions | setIdentifier(), setSetName(), setSetType(), setSetIndexType(), setGeometrySetData() |
| VMAP location | geometry-set datasets under /VMAP/SIMULATION/GEOMETRY/<partId> |
| HDF5 type | scalar metadata via attributes; members as integer dataset |
C++
VMAP::sGeometrySet gs;
gs.setIdentifier(5);
gs.setSetName("EDGE_SET");
gs.setSetType(VMAP::sGeometrySet::NODE_LOCATION);
gs.setGeometrySetData({1,2});
Python
gs = VMAP.sGeometrySet()
gs.setIdentifier(5)
gs.setSetName("EDGE_SET")
gs.setSetType(VMAP.sGeometrySet.NODE_LOCATION)
gs.setGeometrySetData([1,2])
Simulation variable, material, and condition structs
sStateVariable
Represents one simulation result variable with metadata, values, optional integration-type ids, and addressed geometry ids. Used for nodal, elemental, set-based, and integration-point fields.
| Core members | myIdentifier, myVariableName, myVariableDescription, myUnit, myCoordinateSystem, myDimension, myLocation, myMultiplicity, myEntity, myValues, myIntegrationTypes, myGeometryIds |
|---|---|
| Access functions | setVariableName(), setVariableDescription(), setUnit(), setCoordinateSystem(), setDimension(), setLocation(), setMultiplicity(), setEntity(), setValues(), setIntegrationTypes(), setGeometryIds() |
| VMAP location | /VMAP/SIMULATION/VARIABLES/STATE-<stateId>/<partId>/<variable> |
| HDF5 type | metadata as attributes; values and addressing vectors as datasets |
C++
VMAP::sStateVariable sv;
sv.setIdentifier(101);
sv.setVariableName("DISPLACEMENT");
sv.setLocation(VMAP::sStateVariable::LOCATION_NODE);
sv.setValues({0.0, 0.0, 0.0});
Python
sv = VMAP.sStateVariable()
sv.setIdentifier(101)
sv.setVariableName("DISPLACEMENT")
sv.setLocation(VMAP.sStateVariable.LOCATION_NODE)
sv.setValues([0.0, 0.0, 0.0])
sParameter
Generic name/value(/description) parameter record reused in tables, material cards, and connections.
| Core members | myName, myValue, myDescription |
|---|---|
| Access functions | setName(), setValue(), setDescription(), matching getters |
| VMAP location | embedded where needed, e.g. parameter datasets and table/material card payloads |
| HDF5 type | compound record with variable-length strings |
C++
VMAP::sParameter p("Density", "7850", "kg/m^3");
Python
p = VMAP.sParameter("Density", "7850", "kg/m^3")
sTable
Represents a 2D table with row/column count, column names, flattened values, and optional parameters.
| Core members | myIdentifier, myTableName, myNumberOfRows, myNumberOfColumns, myColumnNames, myValues, myParameters |
|---|---|
| Access functions | setIdentifier(), setTableName(), setNumberOfRows(), setNumberOfColumns(), setColumnNames(), setValues(), setParameters() |
| VMAP location | caller-provided group, usually a dedicated table subgroup |
| HDF5 type | attributes for shape/name; datasets for values and names; optional compound parameter dataset |
C++
VMAP::sTable table;
table.setIdentifier(1);
table.setTableName("StressStrain");
table.setNumberOfColumns(2);
Python
table = VMAP.sTable()
table.setIdentifier(1)
table.setTableName("StressStrain")
table.setNumberOfColumns(2)
sMaterialCard and sMaterial
sMaterialCard carries solver-specific material definition data, parameters, and tables.
sMaterial wraps identity and descriptive metadata around one material card.
| Core members | sMaterialCard: model, identifier, physics, solver, solution, unit system, idealization, parameters, tables.sMaterial: identifier, name, description, supplier, type, state, material card. |
|---|---|
| Access functions | sMaterialCard::setModelName(), setPhysics(), setSolver(), setParameters(), setTables(); sMaterial::setIdentifier(), setMaterialName(), setMaterialDescription(), setMaterialCard() |
| VMAP location | /VMAP/SIMULATION/MATERIAL/<material> and nested MATERIALCARD |
| HDF5 type | material metadata in group attributes; parameters/tables in nested datasets/groups |
C++
VMAP::sMaterialCard card;
card.setModelName("ELASTIC");
VMAP::sMaterial mat;
mat.setIdentifier(1);
mat.setMaterialName("Steel");
mat.setMaterialCard(card);
Python
card = VMAP.sMaterialCard()
card.setModelName("ELASTIC")
mat = VMAP.sMaterial()
mat.setIdentifier(1)
mat.setMaterialName("Steel")
mat.setMaterialCard(card)
sConnection
Defines master/slave relations between nodes, elements, and surfaces. It stores connection type, index mode, relation data, and optional parameter records.
| Core members | myIdentifier, myName, myType, myMasterIndexType, mySlaveIndexType, myMasterData, mySlaveData, myAuxiliary |
|---|---|
| Access functions | setIdentifier(), setName(), setType(), setMasterIndexType(), setSlaveIndexType(), setMasterData(), setSlaveData(), setParameters() |
| VMAP location | /VMAP/SIMULATION/CONDITIONS/CONNECTION |
| HDF5 type | compound + varlen integer arrays + varlen parameter records |
C++
VMAP::sConnection c;
c.setIdentifier(1);
c.setType(VMAP::sConnection::NODE_TO_NODE_TYPE);
c.setMasterData({1, 2});
c.setSlaveData({3, 4});
Python
c = VMAP.sConnection() c.setIdentifier(1) c.setType(VMAP.sConnection.NODE_TO_NODE_TYPE) c.setMasterData([1, 2]) c.setSlaveData([3, 4])
sInitialCondition
Stores one initial-condition definition and a map of per-geometry-part value blocks. For integration-point data, the nested value object also carries integration-type ids.
| Core members | myIdentifier, myName, myDescription, myType, myUnit, myCoordinateSystem, myDimension, myMultiplicity, myLocation, myValues |
|---|---|
| Nested value data | myValueDistribution, myIntegrationTypes, myGeometryIds, myValues |
| Access functions | setType(), setDimension(), setLocation(), setValuesForGeometryPart(), plus nested setters/getters |
| VMAP location | /VMAP/SIMULATION/INITIAL_CONDITIONS/<condition>/<geometryPartId> |
| HDF5 type | condition metadata as group attributes; per-part values in datasets and attributes |
C++
VMAP::sInitialCondition ic;
ic.setIdentifier(11);
ic.setType(VMAP::sInitialCondition::TEMPERATURE_TYPE);
VMAP::sInitialCondition::sInitialConditionValueData d;
d.setGeometryIds({1,2,3});
d.setValues({293.15, 294.15, 295.15});
ic.setValuesForGeometryPart(1, d);
Python
ic = VMAP.sInitialCondition() ic.setIdentifier(11) ic.setType(VMAP.sInitialCondition.TEMPERATURE_TYPE) d = VMAP.sInitialCondition.sInitialConditionValueData() d.setGeometryIds([1,2,3]) d.setValues([293.15, 294.15, 295.15])
sBoundaryCondition
Stores one boundary condition and a per-part map of value payloads. The nested value object supports geometry ids, values, optional tables, and free-text metadata.
| Core members | myIdentifier, myName, myDescription, myBaseType, mySubType, myUnit, myCoordinateSystem, myDimension, myMultiplicity, myLocation, myControlType, myBeginStep, myEndStep, myValues |
|---|---|
| Nested value data | myValueDistribution, myGeometryIds, myValues, myTables, myValueMetadata |
| Access functions | setBaseType(), setSubType(), setLocation(), setControlType(), setValuesForGeometryPart(), plus nested setters/getters |
| VMAP location | /VMAP/SIMULATION/BOUNDARY_CONDITION/<condition>/<geometryPartId> |
| HDF5 type | group attributes for metadata, datasets for ids/values, nested groups for tables |
C++
VMAP::sBoundaryCondition bc; bc.setIdentifier(21); bc.setBaseType(VMAP::sBoundaryCondition::CONDITON_BASE_MECHANICAL); bc.setSubType(VMAP::sBoundaryCondition::CONDITION_FIXATION);
Python
bc = VMAP.sBoundaryCondition() bc.setIdentifier(21) bc.setBaseType(VMAP.sBoundaryCondition.CONDITON_BASE_MECHANICAL) bc.setSubType(VMAP.sBoundaryCondition.CONDITION_FIXATION)
sNativeSolverContent
Stores raw solver-native text content plus minimal metadata such as identifier, name, and description.
| Core members | myIdentifier, myName, myDescription, myData |
|---|---|
| Access functions | setIdentifier(), setName(), setDescription(), setData(), matching getters |
| VMAP location | caller-provided group path |
| HDF5 type | metadata as attributes; solver text as string dataset |
C++
VMAP::sNativeSolverContent ns;
ns.setIdentifier(1);
ns.setName("NASTRAN_BULK");
ns.setData("GRID,1,,0.,0.,0.");
Python
ns = VMAP.sNativeSolverContent()
ns.setIdentifier(1)
ns.setName("NASTRAN_BULK")
ns.setData("GRID,1,,0.,0.,0.")
Measurement structs
sMultiParameterObject
Reusable named container for a vector of sParameter. Used inside measurement-device sections
such as components, setup, and ambient conditions.
| Core members | myIdentifier, myName, myParameters |
|---|---|
| Access functions | setIdentifier(), setName(), setParameters(), matching getters |
| VMAP location | nested under a measurement-device subgroup |
| HDF5 type | attributes for id/name plus compound parameter dataset |
C++
VMAP::sMultiParameterObject mpo;
mpo.setIdentifier(1);
mpo.setName("SensorHead");
mpo.setParameters({VMAP::sParameter("Range", "10g")});
Python
mpo = VMAP.sMultiParameterObject()
mpo.setIdentifier(1)
mpo.setName("SensorHead")
sMeasurandValues
Measurement result payload with unit, dimension, location, multiplicity, values, optional uncertainties, and optional geometry/integration addressing vectors.
| Core members | myIdentifier, myMeasurandName, myMeasurandDescription, myUnit, myDimension, myIncrementValue, myTimeValue, myLocation, myMultiplicity, myEntity, myCoordinateSystem, myUncertaintyFormat, myValues, myUncertainties, myIntegrationTypes, myGeometryIds |
|---|---|
| Access functions | setMeasurandName(), setDimension(), setLocation(), setMultiplicity(), setValues(), setUncertainties(), setIntegrationTypes(), setGeometryIds() |
| VMAP location | /VMAP/MEASUREMENT/VARIABLES/<deviceId>/STATE-<stateId>/<measurand> |
| HDF5 type | metadata as attributes; numeric payload and id vectors as datasets |
C++
VMAP::sMeasurandValues mv;
mv.setIdentifier(1);
mv.setMeasurandName("ACC");
mv.setValues({9.81});
Python
mv = VMAP.sMeasurandValues()
mv.setIdentifier(1)
mv.setMeasurandName("ACC")
mv.setValues([9.81])
sMeasurementDevice
Describes the measurement setup. The device contains vectors of sMultiParameterObject for
components, ambient conditions, measured objects, measuring setup, and post processing.
| Core members | myIdentifier, myName, myComponents, myAmbientConditions, myMeasuredObjects, myMeasuringSetup, myPostProcessing |
|---|---|
| Access functions | setIdentifier(), setName(), setComponents(), setAmbientConditions(), setMeasuredObjects(), setMeasuringSetup(), setPostProcessing() |
| VMAP location | /VMAP/MEASUREMENT/GEOMETRY/<deviceId> |
| HDF5 type | device metadata as attributes; nested subgroup trees for the object vectors |
C++
VMAP::sMeasurementDevice dev;
dev.setIdentifier(1);
dev.setName("DAQ-1");
file.writeMeasurementDevice(devicePath, dev);
Python
dev = VMAP.sMeasurementDevice()
dev.setIdentifier(1)
dev.setName("DAQ-1")
vm.writeMeasurementDevice(devicePath, dev)
Detailed C++ members and signatures
This appendix refines the summaries above. For every top-level struct and the main public classes, it lists member types and the most relevant public construction/access signatures exactly in C++ form.
System and unit declarations
sVersion
| Member | C++ type |
|---|---|
myMajor | int |
myMinor | int |
myPatch | int |
| Signature | Return type |
|---|---|
sVersion() | constructor |
sMetaInformation
| Member | C++ type |
|---|---|
myExporterName | const char* |
myFileDate | const char* |
myFileTime | const char* |
myDescription | const char* |
myAnalysisType | const char* |
myUserId | const char* |
| Signature | Return type |
|---|---|
sMetaInformation() | constructor |
sMetaInformation(const sMetaInformation & other) | copy constructor |
~sMetaInformation() | destructor |
sMetaInformation& operator=(const sMetaInformation& metainfo) | sMetaInformation& |
const char* getExporterName() const | const char* |
void setExporterName(const char* s) | void |
const char* getDescription() const | const char* |
void setDescription(const char* s) | void |
sCoordinateSystem
| Member | C++ type |
|---|---|
myIdentifier | int |
myType | int |
myReferencePoint | double[3] |
myAxisVectors | double[9] |
| Signature | Return type |
|---|---|
sCoordinateSystem() | constructor |
sCoordinateSystem(const sCoordinateSystem & other) | copy constructor |
int getIdentifier() const | int |
void setIdentifier(int id) | void |
int getType() const | int |
void setType(int id) | void |
void getReferencePoint(std::vector<double> & refPoint) const | void |
void getReferencePoint(double & x, double & y, double & z) const | void |
void setReferencePoint(const std::vector<double> & refPoint) | void |
void setReferencePoint(double x, double y, double z) | void |
void getAxisVector(int index, std::vector<double> & axis) const | void |
void setAxisVector(int index, const std::vector<double> & axis) | void |
sBaseUnit
| Member | C++ type |
|---|---|
myIdentifier | int |
mySIScale | double |
mySIShift | double |
myUnitSymbol | const char* |
myUnitQuantity | const char* |
| Signature | Return type |
|---|---|
sBaseUnit() | constructor |
sBaseUnit(const sBaseUnit& other) | copy constructor |
sBaseUnit& operator=(const sBaseUnit& baseunit) | sBaseUnit& |
int getIdentifier() const | int |
void setIdentifier(int id) | void |
double getSIScale() const | double |
void setSIScale(double scale) | void |
const char* getUnitSymbol() const | const char* |
void setUnitSymbol(const char* s) | void |
sUnitSystem
| Member | C++ type |
|---|---|
myLengthUnit | sBaseUnit |
myMassUnit | sBaseUnit |
myTimeUnit | sBaseUnit |
myCurrentUnit | sBaseUnit |
myTemperatureUnit | sBaseUnit |
myAmountOfSubstanceUnit | sBaseUnit |
myLuminousIntensityUnit | sBaseUnit |
| Signature | Return type |
|---|---|
sUnitSystem() | constructor |
sUnitSystem(const sUnitSystem & other) | copy constructor |
sBaseUnit & getLengthUnit() | sBaseUnit& |
sBaseUnit & getMassUnit() | sBaseUnit& |
sBaseUnit & getTimeUnit() | sBaseUnit& |
sBaseUnit & getTemperatureUnit() | sBaseUnit& |
sUnit
| Member | C++ type |
|---|---|
myIdentifier | int |
myUnitSymbol | const char* |
myUnitDimension | int[7] |
| Signature | Return type |
|---|---|
sUnit() | constructor |
sUnit(const sUnit & other) | copy constructor |
sUnit& operator=(const sUnit& type) | sUnit& |
int getIdentifier() const | int |
void setIdentifier(int id) | void |
const char* getUnitSymbol() const | const char* |
void setUnitSymbol(const char* s) | void |
void getUnitDimension(std::vector<int> & dimensions) const | void |
void setUnitDimension(const std::vector<int> & dimensions) | void |
Geometry and mesh declarations
sPointsBlock
| Member | C++ type |
|---|---|
myCoordinateSystem | int |
mySize | unsigned long |
myIdentifiers | std::vector<int> |
myCoordinates | std::vector<double> |
| Signature | Return type |
|---|---|
sPointsBlock(), sPointsBlock(unsigned long numberOfPoints) | constructors |
int getCoordinateSystem() const | int |
void setCoordinateSystem(int id) | void |
unsigned long getSize() const | unsigned long |
void getPoint(unsigned long index, int& identifier, std::vector<double> & xyz) const | void |
void setPoint(unsigned long index, int identifier, const std::vector<double> & xyz) | void |
void setPoints(const std::vector<int> & identifiers, const std::vector<double> & coordinates) | void |
const std::vector<double> & getCoordinates() const | const std::vector<double>& |
sIntegrationType
| Member | C++ type |
|---|---|
myIdentifier | int |
myTypeName | const char* |
myNumberOfPoints | int |
myDimension | int |
myOffset | double |
myAbscissas | std::vector<double> |
myAbscissasHandle | hvl_t |
myWeights | std::vector<double> |
myWeightsHandle | hvl_t |
mySubTypes | std::vector<int> |
mySubTypesHandle | hvl_t |
| Signature | Return type |
|---|---|
sIntegrationType(), sIntegrationType(const sIntegrationType& other) | constructors |
sIntegrationType& operator=(const sIntegrationType& type) | sIntegrationType& |
int getIdentifier() const | int |
void setIdentifier(int id) | void |
const char* getTypeName() const | const char* |
void setTypeName(const char* s) | void |
double getOffset() const | double |
void setOffset(double offset) | void |
void getAbscissasAndWeights(int & dimension, std::vector<double> & abscissas, std::vector<double> & weights) const | void |
void setAbscissasAndWeights(int dimension, const std::vector<double> & abscissas, const std::vector<double> & weights) | void |
sSection
| Member | C++ type |
|---|---|
myIdentifier | int |
myName | const char* |
myType | int |
myMaterial | int |
myCoordinateSystem | int |
myIntegrationType | int |
myThicknessType | int |
| Signature | Return type |
|---|---|
sSection(), sSection(const sSection & other) | constructors |
sSection& operator=(const sSection& other) | sSection& |
int getIdentifier() const, void setIdentifier(int id) | int / void |
const char* getName() const, void setName(const char* s) | const char* / void |
sElementType
| Member | C++ type |
|---|---|
myIdentifier, myNumberOfNodes, myDimension, myShapeType, myInterpolationType, myIntegrationType, myNumberOfNormalComponents, myNumberOfShearComponents | int |
myTypeName, myTypeDescription | const char* |
myConnectivity, myFaceConnectivity | std::vector<int> |
myConnectivityHandle, myFaceConnectivityHandle | hvl_t |
| Signature | Return type |
|---|---|
sElementType(), sElementType(const sElementType& other) | constructors |
sElementType& operator=(const sElementType& type) | sElementType& |
int getIdentifier() const, void setIdentifier(int id) | int / void |
const char* getTypeName() const, void setTypeName(const char* s) | const char* / void |
const std::vector<int> & getConnectivity() const, void setConnectivity(const std::vector<int> & connectivity) | const std::vector<int>& / void |
sElement and sElementBlock
| Member | C++ type |
|---|---|
sElement::myIdentifier, myElementType, myCoordinateSystem, myMaterialType, mySectionType | int |
sElement::myConnectivity | std::vector<int> |
sElementBlock::myElementsSize | unsigned long |
sElementBlock::myElements | std::vector<sElement> |
| Signature | Return type |
|---|---|
void setConnectivity(const std::vector<int> & connectivity) | void |
const std::vector<int> & getConnectivity() const | const std::vector<int>& |
sElementBlock(unsigned long numberOfElements) | constructor |
const sElement & getElement(unsigned long index) const | const sElement& |
void setElement(unsigned long index, const sElement & element) | void |
sGeometrySet
| Member | C++ type |
|---|---|
myIdentifier, mySetType, mySetIndexType | int |
mySetName | const char* |
myGeometrySetData | std::vector<int> |
| Signature | Return type |
|---|---|
sGeometrySet(), sGeometrySet(const sGeometrySet& other) | constructors |
sGeometrySet& operator=(const sGeometrySet& other) | sGeometrySet& |
int getIdentifier() const, void setIdentifier(int id) | int / void |
const char* getSetName() const, void setSetName(const char* s) | const char* / void |
const std::vector<int> & getGeometrySetData() const, void setGeometrySetData(const std::vector<int> & data) | const std::vector<int>& / void |
Simulation, material, and condition declarations
sStateVariable
| Member | C++ type |
|---|---|
myIdentifier, myIncrementValue, myUnit, myCoordinateSystem, myDimension, myLocation, myMultiplicity, myEntity | int |
myTimeValue, myModalFrequency | double |
myVariableName, myVariableDescription, myVariableDependency | const char* |
myValues | std::vector<double> |
myIntegrationTypes, myGeometryIds | std::vector<int> |
| Signature | Return type |
|---|---|
sStateVariable(), sStateVariable(const sStateVariable& other) | constructors |
sStateVariable& operator=(const sStateVariable& other) | sStateVariable& |
const char* getVariableName() const, void setVariableName(const char* s) | const char* / void |
int getDimension() const, void setDimension(int dim) | int / void |
int getLocation() const, void setLocation(int loc) | int / void |
const std::vector<double> & getValues() const, void setValues(const std::vector<double> & values) | const std::vector<double>& / void |
const std::vector<int> & getIntegrationTypes() const | const std::vector<int>& |
sParameter and sTable
| Member | C++ type |
|---|---|
sParameter::myName, myValue, myDescription | const char* |
sTable::myIdentifier, myNumberOfRows, myNumberOfColumns | int |
sTable::myTableName | const char* |
sTable::myColumnNames | std::vector<std::string> |
sTable::myValues | std::vector<double> |
sTable::myParameters | std::vector<sParameter> |
| Signature | Return type |
|---|---|
sParameter(const char* name, const char* value) | constructor |
const char* getName() const, void setName(const char* s) | const char* / void |
int getIdentifier() const, void setIdentifier(int id) | int / void |
void setColumnNames(const std::vector<std::string> & colNames) | void |
const std::vector<double> & getValues() const, void setValues(const std::vector<double> & values) | const std::vector<double>& / void |
sMaterialCard and sMaterial
| Member | C++ type |
|---|---|
sMaterialCard::myModelName, myIdentifier, myPhysics, mySolver, mySolverVersion, mySolution, myUnitSystem, myIdealization | const char* |
sMaterialCard::myParameters | std::vector<sParameter> |
sMaterialCard::myTables | std::vector<sTable> |
sMaterial::myIdentifier | int |
sMaterial::myMaterialName, myMaterialDescription, myMaterialSupplier, myMaterialType, myMaterialState | const char* |
sMaterial::myMaterialCard | sMaterialCard |
| Signature | Return type |
|---|---|
void setModelName(const char* s), const char* getModelName() const | void / const char* |
void setParameters(const std::vector<sParameter> & params) | void |
void setTables(const std::vector<sTable> & tables) | void |
void setMaterialName(const char* s), const char* getMaterialName() const | void / const char* |
void setMaterialCard(const sMaterialCard & mc), const sMaterialCard & getMaterialCard() const | void / const sMaterialCard& |
sConnection
| Member | C++ type |
|---|---|
myIdentifier, myType, myMasterIndexType, mySlaveIndexType | int |
myName | const char* |
myMasterData, mySlaveData | std::vector<int> |
myAuxiliary | std::vector<sParameter> |
myMasterDataHandle, mySlaveDataHandle, myAuxiliaryHandle | hvl_t |
| Signature | Return type |
|---|---|
sConnection(), sConnection(const sConnection & other) | constructors |
sConnection& operator=(const sConnection & other) | sConnection& |
int getType() const, void setType(int type) | int / void |
const std::vector<int> & getMasterData() const, void setMasterData(const std::vector<int> & data) | const std::vector<int>& / void |
void setParameters(const std::vector<sParameter> & auxParams) | void |
sInitialCondition and nested sInitialConditionValueData
| Member | C++ type |
|---|---|
sInitialConditionValueData::myValueDistribution | int |
sInitialConditionValueData::myIntegrationTypes, myGeometryIds | std::vector<int> |
sInitialConditionValueData::myValues | std::vector<double> |
sInitialCondition::myIdentifier, myType, myUnit, myCoordinateSystem, myDimension, myMultiplicity, myLocation | int |
sInitialCondition::myName, myDescription | const char* |
sInitialCondition::myValues | std::unordered_map<int, sInitialConditionValueData> |
| Signature | Return type |
|---|---|
int getValueDistribution() const, void setValueDistribution(int distribution) | int / void |
const std::vector<double> & getValues() const, void setValues(const std::vector<double> & values) | const std::vector<double>& / void |
int getIdentifier() const, void setIdentifier(int id) | int / void |
void setValuesForGeometryPart(int geometryPartId, const sInitialConditionValueData & values) | void |
bool hasValuesForGeometryPart(int geometryPartId) const | bool |
sBoundaryCondition and nested sBoundaryConditionValueData
| Member | C++ type |
|---|---|
sBoundaryConditionValueData::myValueDistribution | int |
sBoundaryConditionValueData::myGeometryIds | std::vector<int> |
sBoundaryConditionValueData::myValues | std::vector<double> |
sBoundaryConditionValueData::myTables | std::vector<sTable> |
sBoundaryConditionValueData::myValueMetadata | std::string |
sBoundaryCondition::myIdentifier, myBaseType, mySubType, myUnit, myCoordinateSystem, myDimension, myMultiplicity, myLocation, myControlType, myBeginStep, myEndStep | int |
sBoundaryCondition::myName, myDescription | const char* |
sBoundaryCondition::myValues | std::unordered_map<int, sBoundaryConditionValueData> |
| Signature | Return type |
|---|---|
const std::vector<sTable> & getTables() const, void setTables(const std::vector<sTable> & tables) | const std::vector<sTable>& / void |
const std::string & getValueMetadata() const, void setValueMetadata(const std::string & metadata) | const std::string& / void |
void setBaseType(int baseType), int getBaseType() const | void / int |
void setSubType(int type), int getSubType() const | void / int |
void setValuesForGeometryPart(int geometryPartId, const sBoundaryConditionValueData & values) | void |
bool hasValuesForGeometryPart(int geometryPartId) const | bool |
sNativeSolverContent
| Member | C++ type |
|---|---|
myIdentifier | int |
myName, myDescription | const char* |
myData | std::string |
| Signature | Return type |
|---|---|
sNativeSolverContent(), sNativeSolverContent(const sNativeSolverContent & other) | constructors |
sNativeSolverContent& operator=(const sNativeSolverContent& entry) | sNativeSolverContent& |
std::string getData() const, void setData(const std::string & s) | std::string / void |
Measurement declarations
sMultiParameterObject, sMeasurandValues, and sMeasurementDevice
| Member | C++ type |
|---|---|
sMultiParameterObject::myIdentifier | int |
sMultiParameterObject::myParameters | std::vector<sParameter> |
sMultiParameterObject::myName | const char* |
sMeasurandValues scalar members | int, double, const char*, std::vector<double>, std::vector<int> |
sMeasurementDevice::myIdentifier | int |
sMeasurementDevice::myName | const char* |
sMeasurementDevice object vectors | std::vector<sMultiParameterObject> |
| Signature | Return type |
|---|---|
const std::vector<sParameter> & getParameters() const, void setParameters(const std::vector<sParameter> & params) | const std::vector<sParameter>& / void |
const char* getMeasurandName() const, void setMeasurandName(const char* s) | const char* / void |
const std::vector<double> & getValues() const, void setValues(const std::vector<double> & values) | const std::vector<double>& / void |
const std::vector<sMultiParameterObject> & getComponents() const, void setComponents(const std::vector<sMultiParameterObject> & c) | const std::vector<sMultiParameterObject>& / void |
const std::vector<sMultiParameterObject> & getPostProcessing() const, void setPostProcessing(const std::vector<sMultiParameterObject> & p) | const std::vector<sMultiParameterObject>& / void |
Classes and factories
class VMAPFile
| Member | C++ type |
|---|---|
myFile | H5::H5File* |
myDatasetPropList, myImagePropList, myExternalPropList | H5::DSetCreatPropList |
myPathPrefix, mySimulationPrefix, myMeasurementPrefix | std::string |
myFloatTruncationTable | std::unordered_map<std::string, int> |
myFloatToleranceTable | std::unordered_map<std::string, double> |
| Public signature | Return type |
|---|---|
VMAPFile() | constructor |
VMAPFile(const std::string & path, int mode = CREATEORREPLACE) | constructor |
VMAPFile(const std::string & path, int mode, const std::string & prefix) | constructor |
void openFile(const std::string & path, int mode = CREATEORREPLACE) | void |
void closeFile() | void |
std::string createGeometryGroup(int identifier, const std::string & name) | std::string |
std::string createVariablesGroup(int stateId, int geometryId) | std::string |
void writePointsBlock(const std::string & groupName, const sPointsBlock & points) | void |
void readPointsBlock(const std::string & groupName, sPointsBlock & points) | void |
void writeElementsBlock(const std::string & groupName, const sElementBlock & elements) | void |
void writeVariablesBlock(const std::string & groupName, const std::vector<sStateVariable> & data) | void |
void writeMaterialBlock(const std::vector<sMaterial> & data) | void |
void writeInitialConditionsBlock(const std::vector<sInitialCondition> & conditions) | void |
void writeBoundaryConditionsBlock(const std::vector<sBoundaryCondition> & conditions) | void |
void writeMeasurementDevice(const std::string & groupName, const sMeasurementDevice & device) | void |
void writeMeasurandValuesBlock(const std::string & groupName, const std::vector<sMeasurandValues> & data) | void |
H5::H5File* getFileHandle() | H5::H5File* |
class VMAPElementTypeFactory
| Member | C++ type |
|---|---|
| instance data | none; static factory interface |
| Public signature | Return type |
|---|---|
static sElementType createVMAPElementType(int elementDimension, int elementShape, int interpolationType = sElementType::CONSTANT, int integrationType = -1) | sElementType |
static int getNodeCount(int elementShape) | int |
static std::vector<int> getConnectivityTemplate(int elementShape) | std::vector<int> |
class VMAPIntegrationTypeFactory
| Member | C++ type |
|---|---|
| instance data | none; static factory interface |
| Public signature | Return type |
|---|---|
static sIntegrationType createVMAPIntegrationType(int typeId, double offset = 0.0) | sIntegrationType |
static sIntegrationType createVMAPCompositeIntegrationType(int nLayers, const std::vector<int> & types, const std::vector<double> & thicknesses) | sIntegrationType |
static sIntegrationType createCombinedVMAPIntegrationType(const sIntegrationType & first, const sIntegrationType & second) | sIntegrationType |