NekUpload.validate.geometry module

class NekUpload.validate.geometry.GeometrySchemaHDF5Validator(f: File)[source]

Bases: object

Schema validator for HDF5 geometry .nekg files. Checks whether all valid groups and datasets are there.

Raises:
BASE_GROUPS: MappingProxyType = mappingproxy({'NEKTAR': HDF5GroupDefinition(path='NEKTAR', attributes=[]), 'GEOMETRY': HDF5GroupDefinition(path='NEKTAR/GEOMETRY', attributes=['FORMAT_VERSION']), 'MAPS': HDF5GroupDefinition(path='NEKTAR/GEOMETRY/MAPS', attributes=[]), 'MESH': HDF5GroupDefinition(path='NEKTAR/GEOMETRY/MESH', attributes=[])})
DATASETS_1D_MAPS: MappingProxyType = mappingproxy({'SEG': HDF5DatasetDefinition(path='NEKTAR/GEOMETRY/MAPS/SEG', dataset_shape=(-1,)), 'CURVE_EDGE': HDF5DatasetDefinition(path='NEKTAR/GEOMETRY/MAPS/CURVE_EDGE', dataset_shape=(-1,))})
DATASETS_1D_MESH: MappingProxyType = mappingproxy({'SEG': HDF5DatasetDefinition(path='NEKTAR/GEOMETRY/MESH/SEG', dataset_shape=(-1, 2)), 'CURVE_EDGE': HDF5DatasetDefinition(path='NEKTAR/GEOMETRY/MESH/CURVE_EDGE', dataset_shape=(-1, 3))})
DATASETS_2D_MAPS: MappingProxyType = mappingproxy({'TRI': HDF5DatasetDefinition(path='NEKTAR/GEOMETRY/MAPS/TRI', dataset_shape=(-1,)), 'QUAD': HDF5DatasetDefinition(path='NEKTAR/GEOMETRY/MAPS/QUAD', dataset_shape=(-1,)), 'CURVE_FACE': HDF5DatasetDefinition(path='NEKTAR/GEOMETRY/MAPS/CURVE_FACE', dataset_shape=(-1,))})
DATASETS_2D_MESH: MappingProxyType = mappingproxy({'TRI': HDF5DatasetDefinition(path='NEKTAR/GEOMETRY/MESH/TRI', dataset_shape=(-1, 3)), 'QUAD': HDF5DatasetDefinition(path='NEKTAR/GEOMETRY/MESH/QUAD', dataset_shape=(-1, 4)), 'CURVE_FACE': HDF5DatasetDefinition(path='NEKTAR/GEOMETRY/MESH/CURVE_FACE', dataset_shape=(-1, 3))})
DATASETS_3D_MAPS: MappingProxyType = mappingproxy({'HEX': HDF5DatasetDefinition(path='NEKTAR/GEOMETRY/MAPS/HEX', dataset_shape=(-1,)), 'TET': HDF5DatasetDefinition(path='NEKTAR/GEOMETRY/MAPS/TET', dataset_shape=(-1,)), 'PYR': HDF5DatasetDefinition(path='NEKTAR/GEOMETRY/MAPS/PYR', dataset_shape=(-1,)), 'PRISM': HDF5DatasetDefinition(path='NEKTAR/GEOMETRY/MAPS/PRISM', dataset_shape=(-1,))})
DATASETS_3D_MESH: MappingProxyType = mappingproxy({'HEX': HDF5DatasetDefinition(path='NEKTAR/GEOMETRY/MESH/HEX', dataset_shape=(-1, 6)), 'TET': HDF5DatasetDefinition(path='NEKTAR/GEOMETRY/MESH/TET', dataset_shape=(-1, 4)), 'PYR': HDF5DatasetDefinition(path='NEKTAR/GEOMETRY/MESH/PYR', dataset_shape=(-1, 5)), 'PRISM': HDF5DatasetDefinition(path='NEKTAR/GEOMETRY/MESH/PRISM', dataset_shape=(-1, 5))})
DATASETS_MANDATORY_MAPS: MappingProxyType = mappingproxy({'VERT': HDF5DatasetDefinition(path='NEKTAR/GEOMETRY/MAPS/VERT', dataset_shape=(-1,)), 'DOMAIN': HDF5DatasetDefinition(path='NEKTAR/GEOMETRY/MAPS/DOMAIN', dataset_shape=(-1,)), 'COMPOSITE': HDF5DatasetDefinition(path='NEKTAR/GEOMETRY/MAPS/COMPOSITE', dataset_shape=(-1,))})
DATASETS_MANDATORY_MESH: MappingProxyType = mappingproxy({'CURVE_NODES': HDF5DatasetDefinition(path='NEKTAR/GEOMETRY/MESH/CURVE_NODES', dataset_shape=(-1, 3)), 'VERT': HDF5DatasetDefinition(path='NEKTAR/GEOMETRY/MESH/VERT', dataset_shape=(-1, 3)), 'DOMAIN': HDF5DatasetDefinition(path='NEKTAR/GEOMETRY/MESH/DOMAIN', dataset_shape=(-1,)), 'COMPOSITE': HDF5DatasetDefinition(path='NEKTAR/GEOMETRY/MESH/COMPOSITE', dataset_shape=(-1,))})
DATASETS_MAPS: MappingProxyType = mappingproxy({'VERT': HDF5DatasetDefinition(path='NEKTAR/GEOMETRY/MAPS/VERT', dataset_shape=(-1,)), 'DOMAIN': HDF5DatasetDefinition(path='NEKTAR/GEOMETRY/MAPS/DOMAIN', dataset_shape=(-1,)), 'COMPOSITE': HDF5DatasetDefinition(path='NEKTAR/GEOMETRY/MAPS/COMPOSITE', dataset_shape=(-1,)), 'SEG': HDF5DatasetDefinition(path='NEKTAR/GEOMETRY/MAPS/SEG', dataset_shape=(-1,)), 'CURVE_EDGE': HDF5DatasetDefinition(path='NEKTAR/GEOMETRY/MAPS/CURVE_EDGE', dataset_shape=(-1,)), 'TRI': HDF5DatasetDefinition(path='NEKTAR/GEOMETRY/MAPS/TRI', dataset_shape=(-1,)), 'QUAD': HDF5DatasetDefinition(path='NEKTAR/GEOMETRY/MAPS/QUAD', dataset_shape=(-1,)), 'CURVE_FACE': HDF5DatasetDefinition(path='NEKTAR/GEOMETRY/MAPS/CURVE_FACE', dataset_shape=(-1,)), 'HEX': HDF5DatasetDefinition(path='NEKTAR/GEOMETRY/MAPS/HEX', dataset_shape=(-1,)), 'TET': HDF5DatasetDefinition(path='NEKTAR/GEOMETRY/MAPS/TET', dataset_shape=(-1,)), 'PYR': HDF5DatasetDefinition(path='NEKTAR/GEOMETRY/MAPS/PYR', dataset_shape=(-1,)), 'PRISM': HDF5DatasetDefinition(path='NEKTAR/GEOMETRY/MAPS/PRISM', dataset_shape=(-1,))})
DATASETS_MESH: MappingProxyType = mappingproxy({'CURVE_NODES': HDF5DatasetDefinition(path='NEKTAR/GEOMETRY/MESH/CURVE_NODES', dataset_shape=(-1, 3)), 'VERT': HDF5DatasetDefinition(path='NEKTAR/GEOMETRY/MESH/VERT', dataset_shape=(-1, 3)), 'DOMAIN': HDF5DatasetDefinition(path='NEKTAR/GEOMETRY/MESH/DOMAIN', dataset_shape=(-1,)), 'COMPOSITE': HDF5DatasetDefinition(path='NEKTAR/GEOMETRY/MESH/COMPOSITE', dataset_shape=(-1,)), 'SEG': HDF5DatasetDefinition(path='NEKTAR/GEOMETRY/MESH/SEG', dataset_shape=(-1, 2)), 'CURVE_EDGE': HDF5DatasetDefinition(path='NEKTAR/GEOMETRY/MESH/CURVE_EDGE', dataset_shape=(-1, 3)), 'TRI': HDF5DatasetDefinition(path='NEKTAR/GEOMETRY/MESH/TRI', dataset_shape=(-1, 3)), 'QUAD': HDF5DatasetDefinition(path='NEKTAR/GEOMETRY/MESH/QUAD', dataset_shape=(-1, 4)), 'CURVE_FACE': HDF5DatasetDefinition(path='NEKTAR/GEOMETRY/MESH/CURVE_FACE', dataset_shape=(-1, 3)), 'HEX': HDF5DatasetDefinition(path='NEKTAR/GEOMETRY/MESH/HEX', dataset_shape=(-1, 6)), 'TET': HDF5DatasetDefinition(path='NEKTAR/GEOMETRY/MESH/TET', dataset_shape=(-1, 4)), 'PYR': HDF5DatasetDefinition(path='NEKTAR/GEOMETRY/MESH/PYR', dataset_shape=(-1, 5)), 'PRISM': HDF5DatasetDefinition(path='NEKTAR/GEOMETRY/MESH/PRISM', dataset_shape=(-1, 5))})
NO_DIM_CONSTRAINTS = -1
validate() bool[source]

Check whether the provided file conforms to the geometry HDF5 schema

Returns:

Valid

Return type:

bool

class NekUpload.validate.geometry.ValidateGeometry(file_path: str)[source]

Bases: object

Class responsible for all geometry validation checks

check_schema() bool[source]

Checks whether file conforms to HDF5 geometry schema

Raises:

GeometryFileException – _description_

Returns:

Passed

Return type:

bool