Source code for plaid.constants

# -*- coding: utf-8 -*-
#
# This file is subject to the terms and conditions defined in
# file 'LICENSE.txt', which is part of this source code package.
#
#
"""This module defines common constants used throughout the PLAID library.

It includes:
- AUTHORIZED_TASKS: List of supported task types (e.g., regression, classification).
- AUTHORIZED_FEATURE_TYPES: List of supported feature types (e.g., scalar, field, nodes).
- AUTHORIZED_FEATURE_INFOS: Dictionary specifying allowed metadata keys for various feature types.
- AUTHORIZED_INFO_KEYS: Dictionary specifying allowed metadata keys for various information sections.
- CGNS_FIELD_LOCATIONS: List of valid field locations as defined by the CGNS standard.
- CGNS_ELEMENT_NAMES: List of CGNS element names representing different mesh element types.

These constants help standardize metadata, task types, and mesh element references across the PLAID codebase.
"""

[docs] AUTHORIZED_TASKS = ["regression", "classification"]
[docs] AUTHORIZED_SCORE_FUNCTIONS = ["RRMSE"]
[docs] AUTHORIZED_FEATURE_TYPES = ["scalar", "field", "nodes"]
[docs] AUTHORIZED_FEATURE_INFOS = { "scalar": ["name"], "field": ["name", "location", "zone_name", "base_name", "time"], "nodes": ["zone_name", "base_name", "time"], }
# Information keys for dataset metadata # key ["plaid"]["version"] is not included as it is managed internally
[docs] AUTHORIZED_INFO_KEYS = { "legal": ["owner", "license"], "data_production": [ "owner", "license", "type", "physics", "simulator", "hardware", "computation_duration", "script", "contact", "location", ], "data_description": [ "number_of_samples", "number_of_splits", "DOE", "inputs", "outputs", ], }
# See https://cgns.org/standard/SIDS/grid.html#flow-solution-structure-definition-flowsolution-t
[docs] CGNS_FIELD_LOCATIONS = [ "Vertex", "CellCenter", "FaceCenter", "IFaceCenter", "JFaceCenter", "KFaceCenter", "EdgeCenter", ]
[docs] CGNS_ELEMENT_NAMES = [ "ElementTypeNull", "ElementTypeUserDefined", "NODE", "BAR_2", "BAR_3", "TRI_3", "TRI_6", "QUAD_4", "QUAD_8", "QUAD_9", "TETRA_4", "TETRA_10", "PYRA_5", "PYRA_14", "PENTA_6", "PENTA_15", "PENTA_18", "HEXA_8", "HEXA_20", "HEXA_27", "MIXED", "PYRA_13", "NGON_n", "NFACE_n", "BAR_4", "TRI_9", "TRI_10", "QUAD_12", "QUAD_16", "TETRA_16", "TETRA_20", "PYRA_21", "PYRA_29", "PYRA_30", "PENTA_24", "PENTA_38", "PENTA_40", "HEXA_32", "HEXA_56", "HEXA_64", ]