{
  "openapi" : "3.0.3",
  "info" : {
    "title" : "SimScale API",
    "description" : "# Introduction\n\nWelcome to the SimScale API documentation.\n\n**Status:** v1 is currently in **beta**. See the [Migration guide](/apidoc/v1/migration.html) for the HTTP-level changes from `/v0`.\n\n\n## Versioning\n\nThe generic version, `/v1`, defines the overall endpoints and data models. The generic version won't change very often.\n\nFor the Simulation Spec and Meshing Spec data model schemas, separate version numbers are defined. These are incremented more frequently and independently of the generic version. You can see the supported schema versions in the dropdown list in the top right corner of this page. You can use that dropdown list to generate API documentation for different sets of schema versions.\n\nIt's possible to request the OpenAPI definition for a specific set of Simulation Spec and Meshing Spec schema versions by defining the `simulationSpecSchemaVersion` and `meshingSpecSchemaVersion` query parameters. For example:\n\n\n    /openapi.json?simulationSpecSchemaVersion=8.0&meshingSpecSchemaVersion=0.5\n\n\n## Client Libraries (SDK)\n\nOfficial v1 SDKs:\n\n* Python SDK: [simscale-python-sdk-v1](https://github.com/SimScaleGmbH/simscale-python-sdk-v1)\n* C# SDK: [simscale-csharp-sdk-v1](https://github.com/SimScaleGmbH/simscale-csharp-sdk-v1)\n\n\n## Further reading\n\n* [Migration guide](/apidoc/v1/migration.html), HTTP-level changes when moving from v0 to v1.\n* [Changelog](/apidoc/v1/changelog.html), what's new in v1 and core concepts (CAD, CAD state, saved selections).\n* [Getting Started](/apidoc/v1/getting-started.html), end-to-end curl walkthroughs.\n* [Workbench compatibility](/apidoc/v1/workbench-compatibility.html), edit-mode caveats.\n",
    "termsOfService" : "https://www.simscale.com/terms-and-conditions/",
    "version" : "0.0.0"
  },
  "servers" : [ {
    "url" : "/v1"
  } ],
  "security" : [ {
    "apiKey" : [ ]
  } ],
  "tags" : [ {
    "name" : "Projects",
    "description" : "Access to SimScale projects"
  }, {
    "name" : "Project Permissions",
    "description" : "Permissions are used to control access to Projects."
  }, {
    "name" : "CAD Imports",
    "description" : "Create a CAD by importing a file"
  }, {
    "name" : "CADs",
    "description" : "Access and modify CAD information"
  }, {
    "name" : "CAD Features",
    "description" : "Modify a CAD by adding features"
  }, {
    "name" : "Mesh Operations",
    "description" : "Perform mesh operations"
  }, {
    "name" : "Meshes",
    "description" : "Information about meshes"
  }, {
    "name" : "Simulations",
    "description" : "Setup of simulations"
  }, {
    "name" : "Simulation Runs",
    "description" : "Access to simulation runs"
  }, {
    "name" : "Storage",
    "description" : "Access to storage"
  }, {
    "name" : "Table Imports",
    "description" : "Import tables"
  }, {
    "name" : "Reports",
    "description" : "Access to reports"
  }, {
    "name" : "Postprocessing",
    "description" : "Access to post-processing functionality"
  }, {
    "name" : "Materials",
    "description" : "Access to material groups and materials"
  }, {
    "name" : "Wind",
    "description" : "Access to wind data"
  }, {
    "name" : "Spaces",
    "description" : "Spaces are the largest unit or content organization within SimScale. Each user has a Personal Space and can have access to one or more Team Spaces if they are a member of an Organization. Personal Spaces are automatically created on account creation. Spaces are uniquely identified by a `spaceId` and they have associated metadata and permissions."
  }, {
    "name" : "Space Permissions",
    "description" : "Permissions are used to control access to Spaces. Each Space has a set of permissions that define who can access the Space and what actions they can perform."
  }, {
    "name" : "Folders",
    "description" : "Folders constitute the primary content organization element. They are identified by a `folderId`, which is unique across the platform. Folders cannot be copied or shared. Folders cannot be moved to other Spaces. Folders can be moved to other Folders within the same Space."
  }, {
    "name" : "Users",
    "description" : "Access to SimScale users"
  }, {
    "name" : "AI Models",
    "description" : "Access to AI models and make predictions based on the models."
  }, {
    "name" : "Export",
    "description" : "Export simulation results to supported format and download them."
  }, {
    "name" : "Component Registry",
    "description" : "Read workflow component metadata, groups, versions, schemas, interfaces, and definitions."
  }, {
    "name" : "Data Repository",
    "description" : "Upload, download, read, and list workflow data objects."
  }, {
    "name" : "Workflow Repository",
    "description" : "Create, read, update, and list workflows and workflow versions."
  }, {
    "name" : "Workflow Runner",
    "description" : "Create and track workflow runs, operation runs, and method runs."
  } ],
  "paths" : {
    "/component-registry/components/{componentReference}" : {
      "get" : {
        "tags" : [ "Component Registry" ],
        "summary" : "Read an overview of a component.",
        "operationId" : "getComponentMetadata",
        "parameters" : [ {
          "name" : "componentReference",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "language",
          "in" : "query",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Ok",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ComponentRegistry.ComponentOverview"
                },
                "examples" : {
                  "componentOverview" : {
                    "$ref" : "#/components/examples/ComponentOverviewExample"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/component-registry/component-groups/{componentGroupReference}/components" : {
      "get" : {
        "tags" : [ "Component Registry" ],
        "summary" : "List the components in a component group.",
        "operationId" : "listComponents",
        "parameters" : [ {
          "name" : "componentGroupReference",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "page",
          "in" : "query",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          }
        }, {
          "name" : "size",
          "in" : "query",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          }
        }, {
          "name" : "language",
          "in" : "query",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Ok",
            "headers" : {
              "Page-Number" : {
                "description" : "Current page number.",
                "style" : "simple",
                "explode" : false,
                "schema" : {
                  "type" : "integer",
                  "format" : "int32"
                }
              },
              "Page-Size" : {
                "description" : "Size of the current page.",
                "style" : "simple",
                "explode" : false,
                "schema" : {
                  "type" : "integer",
                  "format" : "int32"
                }
              },
              "Total-Elements" : {
                "description" : "Total number of elements that can be returned.",
                "style" : "simple",
                "explode" : false,
                "schema" : {
                  "type" : "integer",
                  "format" : "int64"
                }
              },
              "Total-Pages" : {
                "description" : "Total number of pages that can be returned.",
                "style" : "simple",
                "explode" : false,
                "schema" : {
                  "type" : "integer",
                  "format" : "int32"
                }
              }
            },
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/ComponentRegistry.ComponentOverview"
                  }
                },
                "examples" : {
                  "componentOverviews" : {
                    "$ref" : "#/components/examples/ComponentOverviewListExample"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/component-registry/component-versions/{componentVersionReference}" : {
      "get" : {
        "tags" : [ "Component Registry" ],
        "summary" : "Read the metadata of a component version.",
        "operationId" : "getComponentVersionMetadata",
        "parameters" : [ {
          "name" : "componentVersionReference",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Ok",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ComponentRegistry.ComponentVersionMetadata"
                },
                "examples" : {
                  "componentVersionMetadata" : {
                    "$ref" : "#/components/examples/ComponentVersionMetadataExample"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/component-registry/component-versions/{componentVersionReference}/dependencies" : {
      "get" : {
        "tags" : [ "Component Registry" ],
        "summary" : "List the dependencies of a component version.",
        "operationId" : "getComponentVersionDependencies",
        "parameters" : [ {
          "name" : "componentVersionReference",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Ok",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ComponentRegistry.ComponentVersionDependencies"
                },
                "examples" : {
                  "componentVersionDependencies" : {
                    "$ref" : "#/components/examples/ComponentVersionDependenciesExample"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/component-registry/component-versions/{componentVersionReference}/dependents" : {
      "get" : {
        "tags" : [ "Component Registry" ],
        "summary" : "List the dependents of a component version.",
        "operationId" : "getComponentVersionDependents",
        "parameters" : [ {
          "name" : "componentVersionReference",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Ok",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ComponentRegistry.ComponentVersionDependents"
                },
                "examples" : {
                  "componentVersionDependents" : {
                    "$ref" : "#/components/examples/ComponentVersionDependentsExample"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/component-registry/components/{componentReference}/versions" : {
      "get" : {
        "tags" : [ "Component Registry" ],
        "summary" : "List the versions of a component.",
        "operationId" : "listComponentVersions",
        "parameters" : [ {
          "name" : "componentReference",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "page",
          "in" : "query",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          }
        }, {
          "name" : "size",
          "in" : "query",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Ok",
            "headers" : {
              "Page-Number" : {
                "description" : "Current page number.",
                "style" : "simple",
                "explode" : false,
                "schema" : {
                  "type" : "integer",
                  "format" : "int32"
                }
              },
              "Page-Size" : {
                "description" : "Size of the current page.",
                "style" : "simple",
                "explode" : false,
                "schema" : {
                  "type" : "integer",
                  "format" : "int32"
                }
              },
              "Total-Elements" : {
                "description" : "Total number of elements that can be returned.",
                "style" : "simple",
                "explode" : false,
                "schema" : {
                  "type" : "integer",
                  "format" : "int64"
                }
              },
              "Total-Pages" : {
                "description" : "Total number of pages that can be returned.",
                "style" : "simple",
                "explode" : false,
                "schema" : {
                  "type" : "integer",
                  "format" : "int32"
                }
              }
            },
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/ComponentRegistry.ComponentVersionMetadata"
                  }
                },
                "examples" : {
                  "componentVersionMetadataList" : {
                    "$ref" : "#/components/examples/ComponentVersionMetadataListExample"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/component-registry/component-groups/{componentGroupReference}" : {
      "get" : {
        "tags" : [ "Component Registry" ],
        "summary" : "Read the metadata of a component group.",
        "operationId" : "getComponentGroupMetadata",
        "parameters" : [ {
          "name" : "componentGroupReference",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "language",
          "in" : "query",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Ok",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ComponentRegistry.ComponentGroupMetadata"
                },
                "examples" : {
                  "componentGroupMetadata" : {
                    "$ref" : "#/components/examples/ComponentGroupMetadataExample"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/component-registry/organization-component-groups/{organizationReference}" : {
      "get" : {
        "tags" : [ "Component Registry" ],
        "summary" : "Read the metadata of the organization component group.",
        "operationId" : "getOrganizationComponentGroupMetadata",
        "parameters" : [ {
          "name" : "organizationReference",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Ok",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ComponentRegistry.OrganizationComponentGroupMetadata"
                },
                "examples" : {
                  "organizationComponentGroupMetadata" : {
                    "$ref" : "#/components/examples/OrganizationComponentGroupMetadataExample"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/component-registry/component-groups/{componentGroupReference}/subgroups" : {
      "get" : {
        "tags" : [ "Component Registry" ],
        "summary" : "List the subgroups of a component group.",
        "operationId" : "listComponentSubgroups",
        "parameters" : [ {
          "name" : "componentGroupReference",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "page",
          "in" : "query",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          }
        }, {
          "name" : "size",
          "in" : "query",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Ok",
            "headers" : {
              "Page-Number" : {
                "description" : "Current page number.",
                "style" : "simple",
                "explode" : false,
                "schema" : {
                  "type" : "integer",
                  "format" : "int32"
                }
              },
              "Page-Size" : {
                "description" : "Size of the current page.",
                "style" : "simple",
                "explode" : false,
                "schema" : {
                  "type" : "integer",
                  "format" : "int32"
                }
              },
              "Total-Elements" : {
                "description" : "Total number of elements that can be returned.",
                "style" : "simple",
                "explode" : false,
                "schema" : {
                  "type" : "integer",
                  "format" : "int64"
                }
              },
              "Total-Pages" : {
                "description" : "Total number of pages that can be returned.",
                "style" : "simple",
                "explode" : false,
                "schema" : {
                  "type" : "integer",
                  "format" : "int32"
                }
              }
            },
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/ComponentRegistry.ComponentGroupMetadata"
                  }
                },
                "examples" : {
                  "componentGroupMetadataList" : {
                    "$ref" : "#/components/examples/ComponentGroupMetadataListExample"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/component-registry/data-types/{componentVersionReference}/file-operations" : {
      "get" : {
        "tags" : [ "Component Registry" ],
        "summary" : "Read the file-operations description of a data type version.",
        "operationId" : "getDataTypeFileOperations",
        "parameters" : [ {
          "name" : "componentVersionReference",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Ok",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ComponentRegistry.DataTypeFileOperationsDescription"
                },
                "examples" : {
                  "dataTypeFileOperations" : {
                    "$ref" : "#/components/examples/DataTypeFileOperationsDescriptionExample"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/component-registry/data-types/{componentVersionReference}/schema" : {
      "get" : {
        "tags" : [ "Component Registry" ],
        "summary" : "Read the data schema of a data type version.",
        "operationId" : "getDataTypeSchema",
        "parameters" : [ {
          "name" : "componentVersionReference",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "resolveDependencies",
          "in" : "query",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Ok",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Workflows.SchemaDefinition"
                },
                "examples" : {
                  "schemaDefinition" : {
                    "$ref" : "#/components/examples/SchemaDefinitionExample"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/component-registry/data-types/{componentVersionReference}/schema-validation-rules" : {
      "get" : {
        "tags" : [ "Component Registry" ],
        "summary" : "Read the data schema validation rules of a data type version.",
        "operationId" : "getDataTypeSchemaValidationRules",
        "parameters" : [ {
          "name" : "componentVersionReference",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Ok",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ComponentRegistry.ValidationRuleSet"
                },
                "examples" : {
                  "validationRuleSet" : {
                    "$ref" : "#/components/examples/ValidationRuleSetExample"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/component-registry/data-types/{componentVersionReference}/metadata-schema" : {
      "get" : {
        "tags" : [ "Component Registry" ],
        "summary" : "Read the metadata schema of a data type version.",
        "operationId" : "getDataTypeMetadataSchema",
        "parameters" : [ {
          "name" : "componentVersionReference",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "resolveDependencies",
          "in" : "query",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Ok",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Workflows.SchemaDefinition"
                },
                "examples" : {
                  "schemaDefinition" : {
                    "$ref" : "#/components/examples/SchemaDefinitionExample"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/component-registry/data-types/{componentVersionReference}/metadata-schema-validation-rules" : {
      "get" : {
        "tags" : [ "Component Registry" ],
        "summary" : "Read the metadata schema validation rules of a data type version.",
        "operationId" : "getDataTypeMetadataSchemaValidationRules",
        "parameters" : [ {
          "name" : "componentVersionReference",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Ok",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ComponentRegistry.ValidationRuleSet"
                },
                "examples" : {
                  "validationRuleSet" : {
                    "$ref" : "#/components/examples/ValidationRuleSetExample"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/component-registry/data-types/{componentVersionReference}/ui-schema" : {
      "get" : {
        "tags" : [ "Component Registry" ],
        "summary" : "Read the UI schema of a data type version.",
        "operationId" : "getDataTypeUiSchema",
        "parameters" : [ {
          "name" : "componentVersionReference",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Ok",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Workflows.SchemaDefinition"
                },
                "examples" : {
                  "schemaDefinition" : {
                    "$ref" : "#/components/examples/SchemaDefinitionExample"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/component-registry/methods/{componentVersionReference}/data-interface" : {
      "get" : {
        "tags" : [ "Component Registry" ],
        "summary" : "Read the data interface of a method version.",
        "operationId" : "getMethodDataInterface",
        "parameters" : [ {
          "name" : "componentVersionReference",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Ok",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ComponentRegistry.DataInterface"
                },
                "examples" : {
                  "dataInterface" : {
                    "$ref" : "#/components/examples/DataInterfaceExample"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/component-registry/methods/{componentVersionReference}/configuration-schema" : {
      "get" : {
        "tags" : [ "Component Registry" ],
        "summary" : "Read the configuration schema of a method version.",
        "operationId" : "getMethodConfigurationSchema",
        "parameters" : [ {
          "name" : "componentVersionReference",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "resolveDependencies",
          "in" : "query",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Ok",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Workflows.SchemaDefinition"
                },
                "examples" : {
                  "schemaDefinition" : {
                    "$ref" : "#/components/examples/SchemaDefinitionExample"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/component-registry/methods/{componentVersionReference}/configuration-schema-validation-rules" : {
      "get" : {
        "tags" : [ "Component Registry" ],
        "summary" : "Read the configuration schema validation rules of a method version.",
        "operationId" : "getMethodConfigurationSchemaValidationRules",
        "parameters" : [ {
          "name" : "componentVersionReference",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Ok",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ComponentRegistry.ValidationRuleSet"
                },
                "examples" : {
                  "validationRuleSet" : {
                    "$ref" : "#/components/examples/ValidationRuleSetExample"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/component-registry/methods/{componentVersionReference}/resource-estimation" : {
      "get" : {
        "tags" : [ "Component Registry" ],
        "summary" : "Read the resource estimation model of a method version.",
        "operationId" : "getMethodResourceEstimation",
        "parameters" : [ {
          "name" : "componentVersionReference",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Ok",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Workflows.MethodResourceEstimationValueModel"
                },
                "examples" : {
                  "methodResourceEstimation" : {
                    "$ref" : "#/components/examples/MethodResourceEstimationValueModelExample"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/component-registry/workflow-types/{componentVersionReference}/data-interface" : {
      "get" : {
        "tags" : [ "Component Registry" ],
        "summary" : "Read the data interface of a workflow type version.",
        "operationId" : "getWorkflowTypeDataInterface",
        "parameters" : [ {
          "name" : "componentVersionReference",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Ok",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ComponentRegistry.DataInterface"
                },
                "examples" : {
                  "dataInterface" : {
                    "$ref" : "#/components/examples/DataInterfaceExample"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/component-registry/workflow-types/{componentVersionReference}/configuration-schema" : {
      "get" : {
        "tags" : [ "Component Registry" ],
        "summary" : "Read the configuration schema of a workflow type version.",
        "operationId" : "getWorkflowTypeConfigurationSchema",
        "parameters" : [ {
          "name" : "componentVersionReference",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "resolveDependencies",
          "in" : "query",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Ok",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Workflows.SchemaDefinition"
                },
                "examples" : {
                  "schemaDefinition" : {
                    "$ref" : "#/components/examples/SchemaDefinitionExample"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/component-registry/workflow-types/{componentVersionReference}/configuration-schema-validation-rules" : {
      "get" : {
        "tags" : [ "Component Registry" ],
        "summary" : "Read the configuration schema validation rules of a workflow type version.",
        "operationId" : "getWorkflowTypeConfigurationSchemaValidationRules",
        "parameters" : [ {
          "name" : "componentVersionReference",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Ok",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ComponentRegistry.ValidationRuleSet"
                },
                "examples" : {
                  "validationRuleSet" : {
                    "$ref" : "#/components/examples/ValidationRuleSetExample"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/component-registry/workflow-types/{componentVersionReference}/ui-configuration" : {
      "get" : {
        "tags" : [ "Component Registry" ],
        "summary" : "Read the UI configuration of a workflow type version.",
        "operationId" : "getWorkflowTypeUiConfiguration",
        "parameters" : [ {
          "name" : "componentVersionReference",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Ok",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ComponentRegistry.UiConfiguration"
                },
                "examples" : {
                  "uiConfiguration" : {
                    "$ref" : "#/components/examples/UiConfigurationExample"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/component-registry/workflow-types/{componentVersionReference}/workflow-definition" : {
      "get" : {
        "tags" : [ "Component Registry" ],
        "summary" : "Read the workflow definition of a workflow type version.",
        "operationId" : "getWorkflowTypeWorkflowDefinition",
        "parameters" : [ {
          "name" : "componentVersionReference",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Ok",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ComponentRegistry.WorkflowDefinition"
                },
                "examples" : {
                  "workflowDefinition" : {
                    "$ref" : "#/components/examples/WorkflowDefinitionExample"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/data-repository/data" : {
      "post" : {
        "tags" : [ "Data Repository" ],
        "summary" : "Upload a new data object.",
        "operationId" : "uploadData",
        "parameters" : [ {
          "name" : "dataType",
          "in" : "query",
          "required" : true,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "projectId",
          "in" : "query",
          "required" : true,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "originalFileName",
          "in" : "query",
          "description" : "Original filename of the uploaded data; stored and used as its initial display name and default download filename.",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "Content-Type",
          "in" : "header",
          "description" : "MIME type of the uploaded data; stored verbatim and replayed on download.",
          "required" : false,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "The request body contains the stream of the data.",
          "content" : {
            "*/*" : {
              "schema" : {
                "type" : "string",
                "format" : "binary"
              },
              "example" : "PGJpbmFyeSBkYXRhPg=="
            }
          },
          "required" : true
        },
        "responses" : {
          "201" : {
            "description" : "Created",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DataId"
                },
                "examples" : {
                  "dataId" : {
                    "$ref" : "#/components/examples/DataIdExample"
                  }
                }
              }
            }
          },
          "413" : {
            "description" : "Direct upload exceeds the configured 2 GB limit."
          }
        }
      }
    },
    "/data-repository/data/upload-sessions" : {
      "post" : {
        "tags" : [ "Data Repository" ],
        "summary" : "Initialize an upload session backed by pre-signed URLs.",
        "operationId" : "createUploadSession",
        "parameters" : [ {
          "name" : "projectId",
          "in" : "query",
          "required" : true,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "The request body contains the data type and content type of the upload session.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/DataRepository.CreateUploadSessionRequest"
              },
              "examples" : {
                "createUploadSessionRequest" : {
                  "$ref" : "#/components/examples/CreateUploadSessionRequestExample"
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "201" : {
            "description" : "Created",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DataRepository.UploadSession"
                },
                "examples" : {
                  "uploadSession" : {
                    "$ref" : "#/components/examples/UploadSessionExample"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/data-repository/data/upload-sessions/{storageId}" : {
      "delete" : {
        "tags" : [ "Data Repository" ],
        "summary" : "Delete an initialized upload session.",
        "operationId" : "deleteUploadSession",
        "parameters" : [ {
          "name" : "projectId",
          "in" : "query",
          "required" : true,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "storageId",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "204" : {
            "description" : "Upload session deleted."
          }
        }
      }
    },
    "/data-repository/data/upload-sessions/{storageId}/appends" : {
      "post" : {
        "tags" : [ "Data Repository" ],
        "summary" : "Start appending a chunk to an initialized upload session.",
        "operationId" : "startUploadSessionAppend",
        "parameters" : [ {
          "name" : "projectId",
          "in" : "query",
          "required" : true,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "storageId",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "The request body contains the chunk size that will be uploaded through the returned pre-signed URL.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/DataRepository.StartUploadSessionAppendRequest"
              },
              "examples" : {
                "startUploadSessionAppendRequest" : {
                  "$ref" : "#/components/examples/StartUploadSessionAppendRequestExample"
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Ok",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DataRepository.UploadSessionAppend"
                },
                "examples" : {
                  "uploadSessionAppend" : {
                    "$ref" : "#/components/examples/UploadSessionAppendExample"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/data-repository/data/upload-sessions/{storageId}/appends/{appendId}/finish" : {
      "post" : {
        "tags" : [ "Data Repository" ],
        "summary" : "Finish an append operation after the chunk was uploaded through its pre-signed URL.",
        "operationId" : "finishUploadSessionAppend",
        "parameters" : [ {
          "name" : "projectId",
          "in" : "query",
          "required" : true,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "storageId",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "appendId",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "204" : {
            "description" : "Append finished."
          }
        }
      }
    },
    "/data-repository/data/upload-sessions/{storageId}/appends/{appendId}/cancel" : {
      "post" : {
        "tags" : [ "Data Repository" ],
        "summary" : "Cancel an append operation.",
        "operationId" : "cancelUploadSessionAppend",
        "parameters" : [ {
          "name" : "projectId",
          "in" : "query",
          "required" : true,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "storageId",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "appendId",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "204" : {
            "description" : "Append canceled."
          }
        }
      }
    },
    "/data-repository/data/upload-sessions/{storageId}/finalize" : {
      "post" : {
        "tags" : [ "Data Repository" ],
        "summary" : "Finalize an upload session and register it as data.",
        "operationId" : "finalizeUploadSession",
        "parameters" : [ {
          "name" : "projectId",
          "in" : "query",
          "required" : true,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "storageId",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "201" : {
            "description" : "Created",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DataId"
                },
                "examples" : {
                  "dataId" : {
                    "$ref" : "#/components/examples/DataIdExample"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/data-repository/data/{dataId}" : {
      "get" : {
        "tags" : [ "Data Repository" ],
        "summary" : "Read the metadata of a data object.",
        "operationId" : "getDataInfo",
        "parameters" : [ {
          "name" : "dataId",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Ok",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DataRepository.DataInfo"
                },
                "examples" : {
                  "dataInfo" : {
                    "$ref" : "#/components/examples/DataInfoExample"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/data-repository/data/{dataId}/content" : {
      "get" : {
        "tags" : [ "Data Repository" ],
        "summary" : "Download an existing data object.",
        "description" : "Streams the bytes of an internally-stored data object to the response body.\nThe original `Content-Type` recorded at upload time is replayed on the\nresponse, sanitized against an allowlist for browser safety.\n",
        "operationId" : "downloadData",
        "parameters" : [ {
          "name" : "dataId",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "filename",
          "in" : "query",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Ok",
            "headers" : {
              "Content-Disposition" : {
                "description" : "Attachment filename header, set when the optional filename query parameter is provided.",
                "style" : "simple",
                "explode" : false,
                "schema" : {
                  "type" : "string"
                }
              }
            },
            "content" : {
              "application/octet-stream" : {
                "schema" : {
                  "type" : "string",
                  "format" : "binary"
                },
                "example" : "PGJpbmFyeSBkYXRhPg=="
              }
            }
          }
        }
      }
    },
    "/data-repository/data/{dataId}/domain-specific-metadata" : {
      "get" : {
        "tags" : [ "Data Repository" ],
        "summary" : "Read the domain-specific metadata of a data object.",
        "description" : "Returns the domain-specific metadata attached to the data object, a free-form\nJSON object whose shape is defined by the metadata schema of the data type.\nData with no metadata attached is reported as 204, which is distinct from\nmetadata that was set to an empty object.\n",
        "operationId" : "getDomainSpecificMetadata",
        "parameters" : [ {
          "name" : "dataId",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Ok",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DataRepository.DomainSpecificMetadata"
                },
                "examples" : {
                  "domainSpecificMetadata" : {
                    "$ref" : "#/components/examples/DomainSpecificMetadataExample"
                  }
                }
              }
            }
          },
          "204" : {
            "description" : "No metadata is attached to the data object."
          }
        }
      },
      "put" : {
        "tags" : [ "Data Repository" ],
        "summary" : "Update the domain-specific metadata of a data object.",
        "description" : "Replaces the domain-specific metadata attached to the data object with the\nrequest body. The metadata is a free-form JSON object; if the data type declares\na metadata schema, the body is validated against it.\n\nTransient result data uploaded for result import is marked as PVD-formatted by\nsetting `{\"format\": \"PVD\"}` here.\n",
        "operationId" : "updateDomainSpecificMetadata",
        "parameters" : [ {
          "name" : "dataId",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "description" : "The request body contains the domain-specific metadata as a JSON object.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/DataRepository.DomainSpecificMetadata"
              },
              "examples" : {
                "domainSpecificMetadata" : {
                  "$ref" : "#/components/examples/DomainSpecificMetadataExample"
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "204" : {
            "description" : "Metadata updated."
          }
        }
      }
    },
    "/data-repository/projects/{projectId}/data" : {
      "get" : {
        "tags" : [ "Data Repository" ],
        "summary" : "List data objects in a project.",
        "operationId" : "listData",
        "parameters" : [ {
          "name" : "projectId",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "origin",
          "in" : "query",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "page",
          "in" : "query",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          }
        }, {
          "name" : "size",
          "in" : "query",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          }
        }, {
          "name" : "sortBy",
          "in" : "query",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Ok",
            "headers" : {
              "Page-Number" : {
                "description" : "Current page number.",
                "style" : "simple",
                "explode" : false,
                "schema" : {
                  "type" : "integer",
                  "format" : "int32"
                }
              },
              "Page-Size" : {
                "description" : "Size of the current page.",
                "style" : "simple",
                "explode" : false,
                "schema" : {
                  "type" : "integer",
                  "format" : "int32"
                }
              },
              "Total-Elements" : {
                "description" : "Total number of elements that can be returned.",
                "style" : "simple",
                "explode" : false,
                "schema" : {
                  "type" : "integer",
                  "format" : "int64"
                }
              },
              "Total-Pages" : {
                "description" : "Total number of pages that can be returned.",
                "style" : "simple",
                "explode" : false,
                "schema" : {
                  "type" : "integer",
                  "format" : "int32"
                }
              }
            },
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/DataId"
                  }
                },
                "examples" : {
                  "dataIds" : {
                    "$ref" : "#/components/examples/DataIdListExample"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/workflow-repository/workflows" : {
      "post" : {
        "tags" : [ "Workflow Repository" ],
        "summary" : "Create a new workflow with its initial version.",
        "operationId" : "createWorkflow",
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/WorkflowRepository.CreateWorkflowRequest"
              },
              "examples" : {
                "createWorkflowRequest" : {
                  "$ref" : "#/components/examples/CreateWorkflowRequestExample"
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "201" : {
            "description" : "Created",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/WorkflowId"
                },
                "examples" : {
                  "workflowId" : {
                    "$ref" : "#/components/examples/WorkflowIdExample"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/workflow-repository/workflows/{workflowId}" : {
      "get" : {
        "tags" : [ "Workflow Repository" ],
        "summary" : "Read a workflow at its latest version.",
        "operationId" : "readWorkflow",
        "parameters" : [ {
          "name" : "workflowId",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Ok",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/WorkflowRepository.ReadWorkflowResponse"
                },
                "examples" : {
                  "workflow" : {
                    "$ref" : "#/components/examples/ReadWorkflowResponseExample"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/workflow-repository/workflow-versions/{workflowVersionId}" : {
      "get" : {
        "tags" : [ "Workflow Repository" ],
        "summary" : "Read a specific workflow version.",
        "operationId" : "readWorkflowVersion",
        "parameters" : [ {
          "name" : "workflowVersionId",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "populateDefaultValues",
          "in" : "query",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "boolean"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Ok",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/WorkflowRepository.ReadWorkflowResponse"
                },
                "examples" : {
                  "workflow" : {
                    "$ref" : "#/components/examples/ReadWorkflowResponseExample"
                  }
                }
              }
            }
          }
        }
      },
      "post" : {
        "tags" : [ "Workflow Repository" ],
        "summary" : "Update a workflow by creating a new version.",
        "operationId" : "updateWorkflow",
        "parameters" : [ {
          "name" : "workflowVersionId",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/WorkflowRepository.UpdateWorkflowRequest"
              },
              "examples" : {
                "updateWorkflowRequest" : {
                  "$ref" : "#/components/examples/UpdateWorkflowRequestExample"
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "201" : {
            "description" : "Created",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/WorkflowVersionId"
                },
                "examples" : {
                  "workflowVersionId" : {
                    "$ref" : "#/components/examples/WorkflowVersionIdExample"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/workflow-repository/projects/{projectId}/workflows" : {
      "get" : {
        "tags" : [ "Workflow Repository" ],
        "summary" : "List workflows in a project.",
        "operationId" : "listWorkflows",
        "parameters" : [ {
          "name" : "projectId",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "page",
          "in" : "query",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          }
        }, {
          "name" : "size",
          "in" : "query",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          }
        }, {
          "name" : "sortBy",
          "in" : "query",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Ok",
            "headers" : {
              "Page-Number" : {
                "description" : "Current page number.",
                "style" : "simple",
                "explode" : false,
                "schema" : {
                  "type" : "integer",
                  "format" : "int32"
                }
              },
              "Page-Size" : {
                "description" : "Size of the current page.",
                "style" : "simple",
                "explode" : false,
                "schema" : {
                  "type" : "integer",
                  "format" : "int32"
                }
              },
              "Total-Elements" : {
                "description" : "Total number of elements that can be returned.",
                "style" : "simple",
                "explode" : false,
                "schema" : {
                  "type" : "integer",
                  "format" : "int64"
                }
              },
              "Total-Pages" : {
                "description" : "Total number of pages that can be returned.",
                "style" : "simple",
                "explode" : false,
                "schema" : {
                  "type" : "integer",
                  "format" : "int32"
                }
              }
            },
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/WorkflowRepository.WorkflowOverview"
                  }
                },
                "examples" : {
                  "workflows" : {
                    "$ref" : "#/components/examples/WorkflowOverviewListExample"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/workflow-repository/workflows/{workflowId}/versions" : {
      "get" : {
        "tags" : [ "Workflow Repository" ],
        "summary" : "List the versions of a workflow.",
        "operationId" : "listWorkflowVersions",
        "parameters" : [ {
          "name" : "workflowId",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "page",
          "in" : "query",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          }
        }, {
          "name" : "size",
          "in" : "query",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          }
        }, {
          "name" : "sortBy",
          "in" : "query",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Ok",
            "headers" : {
              "Page-Number" : {
                "description" : "Current page number.",
                "style" : "simple",
                "explode" : false,
                "schema" : {
                  "type" : "integer",
                  "format" : "int32"
                }
              },
              "Page-Size" : {
                "description" : "Size of the current page.",
                "style" : "simple",
                "explode" : false,
                "schema" : {
                  "type" : "integer",
                  "format" : "int32"
                }
              },
              "Total-Elements" : {
                "description" : "Total number of elements that can be returned.",
                "style" : "simple",
                "explode" : false,
                "schema" : {
                  "type" : "integer",
                  "format" : "int64"
                }
              },
              "Total-Pages" : {
                "description" : "Total number of pages that can be returned.",
                "style" : "simple",
                "explode" : false,
                "schema" : {
                  "type" : "integer",
                  "format" : "int32"
                }
              }
            },
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/WorkflowRepository.WorkflowVersionOverview"
                  }
                },
                "examples" : {
                  "workflowVersions" : {
                    "$ref" : "#/components/examples/WorkflowVersionOverviewListExample"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/workflow-runner/runs" : {
      "post" : {
        "tags" : [ "Workflow Runner" ],
        "summary" : "Initialize a workflow run from a workflow version.",
        "operationId" : "initializeWorkflowRun",
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/WorkflowRunner.InitializeWorkflowRunRequest"
              },
              "examples" : {
                "initializeWorkflowRunRequest" : {
                  "$ref" : "#/components/examples/InitializeWorkflowRunRequestExample"
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "201" : {
            "description" : "Created",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/WorkflowRunId"
                },
                "examples" : {
                  "workflowRunId" : {
                    "$ref" : "#/components/examples/WorkflowRunIdExample"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/workflow-runner/runs/{workflowRunId}" : {
      "get" : {
        "tags" : [ "Workflow Runner" ],
        "summary" : "Read a workflow run.",
        "operationId" : "getWorkflowRun",
        "parameters" : [ {
          "name" : "workflowRunId",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Ok",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/WorkflowRunner.PublicWorkflowRunOverview"
                },
                "examples" : {
                  "workflowRun" : {
                    "$ref" : "#/components/examples/PublicWorkflowRunOverviewExample"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/workflow-runner/runs/{workflowRunId}/start" : {
      "post" : {
        "tags" : [ "Workflow Runner" ],
        "summary" : "Start a workflow run.",
        "operationId" : "startWorkflowRun",
        "parameters" : [ {
          "name" : "workflowRunId",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "204" : {
            "description" : "No Content"
          }
        }
      }
    },
    "/workflow-runner/runs/{workflowRunId}/cancel" : {
      "post" : {
        "tags" : [ "Workflow Runner" ],
        "summary" : "Cancel a workflow run.",
        "operationId" : "cancelWorkflowRun",
        "parameters" : [ {
          "name" : "workflowRunId",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "204" : {
            "description" : "No Content"
          }
        }
      }
    },
    "/workflow-runner/runs/{workflowRunId}/pause" : {
      "post" : {
        "tags" : [ "Workflow Runner" ],
        "summary" : "Pause a running workflow run.",
        "operationId" : "pauseWorkflowRun",
        "parameters" : [ {
          "name" : "workflowRunId",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "204" : {
            "description" : "No Content"
          }
        }
      }
    },
    "/workflow-runner/runs/{workflowRunId}/resume" : {
      "post" : {
        "tags" : [ "Workflow Runner" ],
        "summary" : "Resume a paused workflow run.",
        "operationId" : "resumeWorkflowRun",
        "parameters" : [ {
          "name" : "workflowRunId",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "204" : {
            "description" : "No Content"
          }
        }
      }
    },
    "/workflow-runner/runs/{workflowRunId}/progress" : {
      "get" : {
        "tags" : [ "Workflow Runner" ],
        "summary" : "Read the progress of a workflow run.",
        "operationId" : "getWorkflowRunProgress",
        "parameters" : [ {
          "name" : "workflowRunId",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Ok",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/WorkflowRunner.WorkflowRunProgress"
                },
                "examples" : {
                  "workflowRunProgress" : {
                    "$ref" : "#/components/examples/WorkflowRunProgressExample"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/workflow-runner/workflows/{workflowId}/runs" : {
      "get" : {
        "tags" : [ "Workflow Runner" ],
        "summary" : "List the workflow runs of a workflow.",
        "operationId" : "listWorkflowRunsByWorkflow",
        "parameters" : [ {
          "name" : "workflowId",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        }, {
          "name" : "page",
          "in" : "query",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          }
        }, {
          "name" : "size",
          "in" : "query",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "integer",
            "format" : "int32"
          }
        }, {
          "name" : "sortBy",
          "in" : "query",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Ok",
            "headers" : {
              "Page-Number" : {
                "description" : "Current page number.",
                "style" : "simple",
                "explode" : false,
                "schema" : {
                  "type" : "integer",
                  "format" : "int32"
                }
              },
              "Page-Size" : {
                "description" : "Size of the current page.",
                "style" : "simple",
                "explode" : false,
                "schema" : {
                  "type" : "integer",
                  "format" : "int32"
                }
              },
              "Total-Elements" : {
                "description" : "Total number of elements that can be returned.",
                "style" : "simple",
                "explode" : false,
                "schema" : {
                  "type" : "integer",
                  "format" : "int64"
                }
              },
              "Total-Pages" : {
                "description" : "Total number of pages that can be returned.",
                "style" : "simple",
                "explode" : false,
                "schema" : {
                  "type" : "integer",
                  "format" : "int32"
                }
              }
            },
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/WorkflowRunner.PublicWorkflowRunOverview"
                  }
                },
                "examples" : {
                  "workflowRuns" : {
                    "$ref" : "#/components/examples/PublicWorkflowRunOverviewListExample"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/workflow-runner/operation-runs/{operationRunId}" : {
      "get" : {
        "tags" : [ "Workflow Runner" ],
        "summary" : "Read an operation run.",
        "operationId" : "getOperationRun",
        "parameters" : [ {
          "name" : "operationRunId",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Ok",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/WorkflowRunner.OperationRun"
                },
                "examples" : {
                  "operationRun" : {
                    "$ref" : "#/components/examples/OperationRunExample"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/workflow-runner/method-runs/{methodRunId}/resource-usage" : {
      "get" : {
        "tags" : [ "Workflow Runner" ],
        "summary" : "Read a method run's resource-usage report.",
        "operationId" : "getMethodRunResourceUsageReport",
        "parameters" : [ {
          "name" : "methodRunId",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Ok",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/WorkflowRunner.MethodResourceUsageReport"
                },
                "examples" : {
                  "methodResourceUsageReport" : {
                    "$ref" : "#/components/examples/MethodResourceUsageReportExample"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/projects" : {
      "get" : {
        "tags" : [ "Projects" ],
        "summary" : "List projects",
        "operationId" : "getProjects",
        "parameters" : [ {
          "$ref" : "#/components/parameters/collectionLimit"
        }, {
          "$ref" : "#/components/parameters/collectionPage"
        } ],
        "responses" : {
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "title" : "Projects",
                  "type" : "object",
                  "properties" : {
                    "_links" : {
                      "$ref" : "#/components/schemas/CollectionLinks"
                    },
                    "_meta" : {
                      "$ref" : "#/components/schemas/CollectionMeta"
                    },
                    "_embedded" : {
                      "type" : "array",
                      "items" : {
                        "$ref" : "#/components/schemas/Project"
                      }
                    }
                  }
                }
              }
            }
          }
        }
      },
      "post" : {
        "tags" : [ "Projects" ],
        "summary" : "Create a new project",
        "description" : "The visibility of the Project will be determined by the available capabilities of the requesting user.\nIf the user can create private projects, the Project will be private. Otherwise, it will be public.\n",
        "operationId" : "createProject",
        "requestBody" : {
          "description" : "Project to be created",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/Project"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "201" : {
            "description" : "Successful creation of the project",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Project"
                }
              }
            }
          },
          "400" : {
            "$ref" : "#/components/responses/BadRequest"
          }
        }
      }
    },
    "/projects/{projectId}" : {
      "get" : {
        "tags" : [ "Projects" ],
        "summary" : "Get information about an existing project",
        "operationId" : "getProject",
        "responses" : {
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Project"
                }
              }
            }
          },
          "404" : {
            "$ref" : "#/components/responses/NotFound"
          }
        }
      },
      "put" : {
        "tags" : [ "Projects" ],
        "summary" : "Update an existing project",
        "operationId" : "updateProject",
        "requestBody" : {
          "description" : "Project to be updated",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/Project"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "204" : {
            "description" : "Successful update of the project"
          },
          "400" : {
            "$ref" : "#/components/responses/BadRequest"
          },
          "404" : {
            "$ref" : "#/components/responses/NotFound"
          }
        }
      },
      "parameters" : [ {
        "$ref" : "#/components/parameters/projectId"
      } ]
    },
    "/projects/{projectId}/copy" : {
      "post" : {
        "tags" : [ "Projects" ],
        "summary" : "Copy an existing project",
        "operationId" : "copyProject",
        "requestBody" : {
          "description" : "Project to be copied",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/ProjectCopyRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Successful creation of the project",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Project"
                }
              }
            }
          },
          "400" : {
            "$ref" : "#/components/responses/BadRequest"
          }
        }
      },
      "parameters" : [ {
        "$ref" : "#/components/parameters/projectId"
      } ]
    },
    "/permissions/projects/{projectId}/requester" : {
      "get" : {
        "tags" : [ "Project Permissions" ],
        "summary" : "Get User Project Permissions",
        "description" : "Get Info about the Permissions that the current requester user has for this Project.",
        "operationId" : "getRequesterProjectPermissions",
        "parameters" : [ {
          "$ref" : "#/components/parameters/projectId"
        } ],
        "responses" : {
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/ProjectPermissions"
                },
                "example" : {
                  "canPreviewProject" : true,
                  "canReadProject" : true,
                  "canCopyProject" : true,
                  "canWriteProject" : true,
                  "canExecuteProjectBillableAction" : true,
                  "canManageProject" : false,
                  "canMoveProjectToPersonalSpace" : true,
                  "canListProjectPermissions" : true,
                  "canEditProjectPermissions" : false,
                  "canShareProjectWithSpaceMembers" : true,
                  "canShareProjectWithOrganizationMembers" : true,
                  "canShareProjectWithAnyone" : false,
                  "canMakeProjectPublic" : false,
                  "canDeleteProject" : false
                }
              }
            }
          },
          "404" : {
            "description" : "Element was not found"
          }
        }
      }
    },
    "/projects/{projectId}/cadimports" : {
      "post" : {
        "tags" : [ "CAD Imports" ],
        "summary" : "Import a new CAD from file",
        "description" : "CAD import requires the following steps:\n1. Request a temporary storage location via `POST /storage`.\n2. Upload your CAD file using the HTTP `PUT` method to the `url` provided in the temporary storage location response object.\n3. Start the import via `POST /projects/{projectId}/cadimports` and include the `storageId` provided in the temporary storage location response object.\n4. Check for the import status via `GET /projects/{projectId}/cadimports/{cadId}`.\n",
        "operationId" : "importCad",
        "requestBody" : {
          "description" : "CAD import specification.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/CadImportRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "201" : {
            "description" : "Successful start of the import.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/CadImportResponse"
                }
              }
            }
          },
          "400" : {
            "$ref" : "#/components/responses/BadRequest"
          },
          "403" : {
            "$ref" : "#/components/responses/InsufficientPermissions"
          },
          "404" : {
            "$ref" : "#/components/responses/NotFound"
          }
        }
      },
      "parameters" : [ {
        "$ref" : "#/components/parameters/projectId"
      } ]
    },
    "/projects/{projectId}/cadimports/{cadId}" : {
      "get" : {
        "tags" : [ "CAD Imports" ],
        "summary" : "Get information about the imported CAD",
        "operationId" : "getImportedCad",
        "responses" : {
          "200" : {
            "description" : "Successful operation.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/CadImportResponse"
                }
              }
            }
          },
          "403" : {
            "$ref" : "#/components/responses/InsufficientPermissions"
          },
          "404" : {
            "$ref" : "#/components/responses/NotFound"
          }
        }
      },
      "parameters" : [ {
        "$ref" : "#/components/parameters/projectId"
      }, {
        "$ref" : "#/components/parameters/cadId"
      } ]
    },
    "/projects/{projectId}/cadimports/{cadId}/eventlog" : {
      "get" : {
        "tags" : [ "CAD Imports" ],
        "summary" : "Get the CAD import event log",
        "operationId" : "getCadImportEventLog",
        "responses" : {
          "200" : {
            "description" : "Successful operation.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/EventLogResponse"
                }
              }
            }
          },
          "403" : {
            "$ref" : "#/components/responses/InsufficientPermissions"
          },
          "404" : {
            "$ref" : "#/components/responses/NotFound"
          }
        }
      },
      "parameters" : [ {
        "$ref" : "#/components/parameters/projectId"
      }, {
        "$ref" : "#/components/parameters/cadId"
      } ]
    },
    "/projects/{projectId}/cads" : {
      "get" : {
        "tags" : [ "CADs" ],
        "summary" : "List CADs within a project",
        "description" : "All CADs in the project are included in the list, however not all of them can be used in a meshing or simulation setup.",
        "operationId" : "getCads",
        "responses" : {
          "200" : {
            "description" : "Successful operation.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Cads"
                }
              }
            }
          },
          "403" : {
            "$ref" : "#/components/responses/InsufficientPermissions"
          },
          "404" : {
            "$ref" : "#/components/responses/NotFound"
          }
        }
      },
      "parameters" : [ {
        "$ref" : "#/components/parameters/collectionLimit"
      }, {
        "$ref" : "#/components/parameters/collectionPage"
      }, {
        "$ref" : "#/components/parameters/projectId"
      } ]
    },
    "/projects/{projectId}/cads/{cadId}" : {
      "get" : {
        "tags" : [ "CADs" ],
        "summary" : "Get information about the CAD",
        "operationId" : "getCad",
        "responses" : {
          "200" : {
            "description" : "Successful operation.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Cad"
                }
              }
            }
          },
          "403" : {
            "$ref" : "#/components/responses/InsufficientPermissions"
          },
          "404" : {
            "$ref" : "#/components/responses/NotFound"
          }
        }
      },
      "parameters" : [ {
        "$ref" : "#/components/parameters/projectId"
      }, {
        "$ref" : "#/components/parameters/cadId"
      } ]
    },
    "/cads/{cadId}/states/{cadStateId}" : {
      "get" : {
        "tags" : [ "CADs" ],
        "summary" : "Get detailed information about the CAD state",
        "operationId" : "getCadState",
        "responses" : {
          "200" : {
            "description" : "Successful operation.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/CadState"
                }
              }
            }
          },
          "403" : {
            "$ref" : "#/components/responses/InsufficientPermissions"
          },
          "404" : {
            "$ref" : "#/components/responses/NotFound"
          }
        }
      },
      "parameters" : [ {
        "$ref" : "#/components/parameters/cadId"
      }, {
        "$ref" : "#/components/parameters/cadStateId"
      } ]
    },
    "/cads/{cadId}/states/{cadStateId}/savedselections" : {
      "post" : {
        "tags" : [ "CADs" ],
        "summary" : "Create a CAD saved selection",
        "description" : "Create a CAD saved selection. This operation creates a new CAD state.",
        "operationId" : "createCadStateSavedSelection",
        "requestBody" : {
          "description" : "CAD saved selection specification.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/CreateSavedSelectionRequest"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "Successful operation.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/CreateSavedSelectionResponse"
                }
              }
            }
          },
          "403" : {
            "$ref" : "#/components/responses/InsufficientPermissions"
          },
          "404" : {
            "$ref" : "#/components/responses/NotFound"
          }
        }
      },
      "parameters" : [ {
        "$ref" : "#/components/parameters/cadId"
      }, {
        "$ref" : "#/components/parameters/cadStateId"
      } ]
    },
    "/cads/{cadId}/states/{cadStateId}/rename" : {
      "post" : {
        "tags" : [ "CADs" ],
        "summary" : "Rename the CAD",
        "description" : "Rename the CAD. This operation creates a new CAD state.",
        "operationId" : "renameCadState",
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/RenameCadRequest"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "Successful operation.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/RenameCadResponse"
                }
              }
            }
          },
          "403" : {
            "$ref" : "#/components/responses/InsufficientPermissions"
          },
          "404" : {
            "$ref" : "#/components/responses/NotFound"
          }
        }
      },
      "parameters" : [ {
        "$ref" : "#/components/parameters/cadId"
      }, {
        "$ref" : "#/components/parameters/cadStateId"
      } ]
    },
    "/cads/{cadId}/states/{cadStateId}/downloadoriginal" : {
      "get" : {
        "tags" : [ "CADs" ],
        "summary" : "Download original CAD file",
        "description" : "Get a temporary link to download the originally imported CAD file.",
        "operationId" : "downloadOriginalCad",
        "responses" : {
          "200" : {
            "description" : "Successful operation.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/DownloadOriginalCadResponse"
                }
              }
            }
          },
          "400" : {
            "$ref" : "#/components/responses/BadRequest"
          },
          "403" : {
            "$ref" : "#/components/responses/InsufficientPermissions"
          },
          "404" : {
            "$ref" : "#/components/responses/NotFound"
          }
        }
      },
      "parameters" : [ {
        "$ref" : "#/components/parameters/cadId"
      }, {
        "$ref" : "#/components/parameters/cadStateId"
      } ]
    },
    "/cads/{cadId}/states/{cadStateId}/query" : {
      "post" : {
        "tags" : [ "CADs" ],
        "summary" : "Run a CAD query",
        "description" : "Run a CAD query on a given CAD state. CAD queries that involve complex computation might take some time to complete.\nPlease refer to the following steps to run a CAD query:\n1. Trigger the query computation via `POST /cads/{cadId}/states/{cadStateId}/query`\n2. Monitor progress via `POST /cads/{cadId}/states/{cadStateId}/query`\n",
        "operationId" : "queryCadState",
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/Cad.CadQueryRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Query submitted successfully.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/CadQueryResponse"
                }
              }
            }
          },
          "400" : {
            "$ref" : "#/components/responses/BadRequest"
          },
          "403" : {
            "$ref" : "#/components/responses/InsufficientPermissions"
          },
          "404" : {
            "$ref" : "#/components/responses/NotFound"
          }
        }
      },
      "parameters" : [ {
        "$ref" : "#/components/parameters/cadId"
      }, {
        "$ref" : "#/components/parameters/cadStateId"
      } ]
    },
    "/cads/{cadId}/states/{cadStateId}/topology" : {
      "get" : {
        "tags" : [ "CADs" ],
        "summary" : "List CAD topology with entity attributes",
        "description" : "Assignment of topological entities (e.g. faces, bodies) in the simulation setup is a non-trivial task.\nComplex models can consist of several assemblies which may contain multiple occurrences of bodies and their entities.\nIn order to identify an assignment unambiguously, the full path from the root part of the model to the actual topological entity is required.\n\nSimScale generates unique internal names for all topological entities of a model during the CAD import which are used for assignments within the simulation spec.\nExamples of internal names are `B1_TE5` or `A1_I26_A5_I27_B102_TE196`.\n\nThis API endpoint lists the CAD model’s topology with all relevant attributes for each entity, such as:\n* The topological entity class (body or face)\n* The original body and entity names\n* Entity attributes like `SDL/TYSA_NAME`, `SDL/TYSA_UNAME`, `ATTRIB_XPARASOLID_NAME` or `SDL/TYSA_COLOUR`\n* The path from the root of the model\n\nPlease note that during the CAD import the model's topology can be modified (e.g. when the facet split option is enabled). \nThis means that there might not be a 1:1 mapping between the internal and original names.\n",
        "operationId" : "getCadTopology",
        "responses" : {
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/CadTopology"
                }
              }
            }
          },
          "400" : {
            "$ref" : "#/components/responses/BadRequest"
          },
          "403" : {
            "$ref" : "#/components/responses/InsufficientPermissions"
          },
          "404" : {
            "$ref" : "#/components/responses/NotFound"
          }
        }
      },
      "parameters" : [ {
        "$ref" : "#/components/parameters/collectionLimit"
      }, {
        "$ref" : "#/components/parameters/collectionPage"
      }, {
        "$ref" : "#/components/parameters/class"
      }, {
        "$ref" : "#/components/parameters/bodies"
      }, {
        "$ref" : "#/components/parameters/entities"
      }, {
        "$ref" : "#/components/parameters/attributes"
      }, {
        "$ref" : "#/components/parameters/values"
      }, {
        "$ref" : "#/components/parameters/cadId"
      }, {
        "$ref" : "#/components/parameters/cadStateId"
      } ]
    },
    "/cads/{cadId}/states/{cadStateId}/features" : {
      "post" : {
        "tags" : [ "CAD Features" ],
        "summary" : "Add a feature to the CAD",
        "description" : "Adding a CAD feature that involves complex computation might take some time to complete. \nPlease refer to the following steps to start a CAD feature generation and check its progress:\n1. Trigger the CAD feature generation via `POST /cads/{cadId}/states/{cadStateId}/features`\n2. Monitor progress via `GET /cads/{cadId}/features/progress`\n",
        "operationId" : "addCadFeature",
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/Cad.CadFeatureRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "201" : {
            "description" : "Successful start of the CAD feature generation.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/CadFeatureResponse"
                }
              }
            }
          },
          "403" : {
            "$ref" : "#/components/responses/InsufficientPermissions"
          },
          "404" : {
            "$ref" : "#/components/responses/NotFound"
          },
          "400" : {
            "$ref" : "#/components/responses/BadRequest"
          },
          "409" : {
            "$ref" : "#/components/responses/Conflict"
          }
        }
      },
      "parameters" : [ {
        "$ref" : "#/components/parameters/cadId"
      }, {
        "$ref" : "#/components/parameters/cadStateId"
      } ]
    },
    "/cads/{cadId}/features/progress" : {
      "get" : {
        "tags" : [ "CAD Features" ],
        "summary" : "Monitor CAD feature generation progress",
        "description" : "Monitor CAD feature generation progress for long-running processes.",
        "operationId" : "getCadFeaturesProgress",
        "responses" : {
          "200" : {
            "description" : "Successful operation.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/CadFeatureResponse"
                }
              }
            }
          },
          "403" : {
            "$ref" : "#/components/responses/InsufficientPermissions"
          },
          "404" : {
            "$ref" : "#/components/responses/NotFound"
          }
        }
      },
      "parameters" : [ {
        "$ref" : "#/components/parameters/cadId"
      } ]
    },
    "/cads/{cadId}/states/{cadStateId}/features/{cadFeatureId}/eventlog" : {
      "get" : {
        "tags" : [ "CAD Features" ],
        "summary" : "Get the CAD feature event log",
        "operationId" : "getCadFeatureEventLog",
        "responses" : {
          "200" : {
            "description" : "Successful operation.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/EventLogResponse"
                }
              }
            }
          },
          "403" : {
            "$ref" : "#/components/responses/InsufficientPermissions"
          },
          "404" : {
            "$ref" : "#/components/responses/NotFound"
          }
        }
      },
      "parameters" : [ {
        "$ref" : "#/components/parameters/cadId"
      }, {
        "$ref" : "#/components/parameters/cadStateId"
      }, {
        "$ref" : "#/components/parameters/cadFeatureId"
      } ]
    },
    "/projects/{projectId}/geometryprimitives" : {
      "post" : {
        "tags" : [ "Simulations" ],
        "summary" : "Create a geometry primitive for reference within a Simulation spec",
        "operationId" : "createGeometryPrimitive",
        "requestBody" : {
          "description" : "Geometry primitive specification.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/GeometryPrimitive.GeometryPrimitive"
              },
              "examples" : {
                "LocalCartesianBox" : {
                  "$ref" : "#/components/examples/LocalCartesianBox"
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "201" : {
            "description" : "Successful creation of the geometry primitive.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/GeometryPrimitiveResponse"
                }
              }
            }
          },
          "400" : {
            "$ref" : "#/components/responses/BadRequest"
          },
          "404" : {
            "$ref" : "#/components/responses/NotFound"
          }
        }
      },
      "parameters" : [ {
        "$ref" : "#/components/parameters/projectId"
      } ]
    },
    "/projects/{projectId}/tableimports" : {
      "post" : {
        "tags" : [ "Table Imports" ],
        "summary" : "Import a new table for reference within a Simulation spec",
        "description" : "Table import requires the following steps:\n1. Request a temporary storage location via `POST /storage`.\n2. Upload your table definition using the HTTP `PUT` method to the `url` provided in the temporary storage location response object.\n3. Import via `POST /projects/{projectId}/tableimports` and include the `storageId` provided in the temporary storage location response object.\n",
        "operationId" : "importTable",
        "requestBody" : {
          "description" : "Table import specification.",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/TableImportRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Successful import of the table.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/TableImportResponse"
                }
              }
            }
          },
          "400" : {
            "$ref" : "#/components/responses/BadRequest"
          },
          "404" : {
            "$ref" : "#/components/responses/NotFound"
          }
        }
      },
      "parameters" : [ {
        "$ref" : "#/components/parameters/projectId"
      } ]
    },
    "/projects/{projectId}/meshoperations" : {
      "get" : {
        "tags" : [ "Mesh Operations" ],
        "summary" : "List mesh operations for a project",
        "operationId" : "getMeshOperations",
        "parameters" : [ {
          "$ref" : "#/components/parameters/collectionLimit"
        }, {
          "$ref" : "#/components/parameters/collectionPage"
        } ],
        "responses" : {
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "title" : "MeshOperations",
                  "type" : "object",
                  "properties" : {
                    "_links" : {
                      "$ref" : "#/components/schemas/CollectionLinks"
                    },
                    "_meta" : {
                      "$ref" : "#/components/schemas/CollectionMeta"
                    },
                    "_embedded" : {
                      "type" : "array",
                      "items" : {
                        "$ref" : "#/components/schemas/SlimMeshOperation"
                      }
                    }
                  }
                }
              }
            }
          },
          "404" : {
            "$ref" : "#/components/responses/NotFound"
          }
        }
      },
      "post" : {
        "tags" : [ "Mesh Operations" ],
        "summary" : "Create a mesh operation",
        "operationId" : "createMeshOperation",
        "requestBody" : {
          "description" : "Mesh operation to be created",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/MeshOperation"
              },
              "example" : {
                "name" : "My first mesh operation"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "201" : {
            "description" : "Successful creation of the mesh operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/MeshOperation"
                }
              }
            },
            "links" : {
              "getSimulationRun" : {
                "operationId" : "getMeshOperation",
                "parameters" : {
                  "projectId" : "$request.path.projectId",
                  "simulationId" : "$request.path.meshOperationId",
                  "runId" : "$response.body#/meshOperationId"
                },
                "description" : "The `meshOperationId` value returned in the response can be used as the `meshOperationId` parameter in `GET /projects/{projectId}/meshoperations/{meshOperationId}`.\n"
              }
            }
          },
          "400" : {
            "$ref" : "#/components/responses/BadRequest"
          },
          "404" : {
            "$ref" : "#/components/responses/NotFound"
          }
        }
      },
      "parameters" : [ {
        "$ref" : "#/components/parameters/projectId"
      } ]
    },
    "/projects/{projectId}/meshoperations/{meshOperationId}" : {
      "get" : {
        "tags" : [ "Mesh Operations" ],
        "summary" : "Get information about the mesh operation",
        "operationId" : "getMeshOperation",
        "parameters" : [ {
          "$ref" : "#/components/parameters/meshingSpecSchemaVersion"
        } ],
        "responses" : {
          "200" : {
            "description" : "Successful operation.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/MeshOperation"
                }
              }
            }
          },
          "404" : {
            "$ref" : "#/components/responses/NotFound"
          }
        }
      },
      "put" : {
        "tags" : [ "Mesh Operations" ],
        "summary" : "Update information about the mesh operation",
        "operationId" : "updateMeshOperation",
        "requestBody" : {
          "description" : "Mesh operation to be updated",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/MeshOperation"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "204" : {
            "description" : "Successful update of the mesh operation"
          },
          "400" : {
            "$ref" : "#/components/responses/BadRequest"
          },
          "404" : {
            "$ref" : "#/components/responses/NotFound"
          }
        }
      },
      "parameters" : [ {
        "$ref" : "#/components/parameters/projectId"
      }, {
        "$ref" : "#/components/parameters/meshOperationId"
      } ]
    },
    "/projects/{projectId}/meshoperations/{meshOperationId}/swapcad" : {
      "post" : {
        "tags" : [ "Mesh Operations" ],
        "summary" : "Swap the CAD on which the mesh is based",
        "description" : "Swap the CAD on which the mesh is based. The assignments on CAD entities are mapped accordingly.\n",
        "operationId" : "swapMeshOperationCad",
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/SwapCadRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Successful operation.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SwapCadReport"
                }
              }
            }
          },
          "404" : {
            "$ref" : "#/components/responses/NotFound"
          }
        }
      },
      "parameters" : [ {
        "$ref" : "#/components/parameters/projectId"
      }, {
        "$ref" : "#/components/parameters/meshOperationId"
      } ]
    },
    "/projects/{projectId}/meshoperations/{meshOperationId}/check" : {
      "post" : {
        "tags" : [ "Mesh Operations" ],
        "summary" : "Check the mesh operation setup",
        "operationId" : "checkMeshOperationSetup",
        "responses" : {
          "200" : {
            "description" : "Successful mesh operation check",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/CheckResponse"
                }
              }
            }
          },
          "400" : {
            "$ref" : "#/components/responses/BadRequest"
          },
          "404" : {
            "$ref" : "#/components/responses/NotFound"
          }
        }
      },
      "parameters" : [ {
        "$ref" : "#/components/parameters/projectId"
      }, {
        "$ref" : "#/components/parameters/meshOperationId"
      }, {
        "$ref" : "#/components/parameters/simulationIdQuery"
      } ]
    },
    "/projects/{projectId}/meshoperations/{meshOperationId}/estimate" : {
      "post" : {
        "tags" : [ "Mesh Operations" ],
        "summary" : "Estimate the mesh operation",
        "operationId" : "estimateMeshOperation",
        "responses" : {
          "200" : {
            "description" : "Successful operation.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Estimation"
                }
              }
            }
          },
          "404" : {
            "$ref" : "#/components/responses/NotFound"
          },
          "422" : {
            "$ref" : "#/components/responses/UnprocessableEntity"
          }
        }
      },
      "parameters" : [ {
        "$ref" : "#/components/parameters/projectId"
      }, {
        "$ref" : "#/components/parameters/meshOperationId"
      } ]
    },
    "/projects/{projectId}/meshoperations/{meshOperationId}/start" : {
      "post" : {
        "tags" : [ "Mesh Operations" ],
        "summary" : "Start the mesh operation",
        "operationId" : "startMeshOperation",
        "responses" : {
          "202" : {
            "description" : "Successful operation."
          },
          "404" : {
            "$ref" : "#/components/responses/NotFound"
          }
        }
      },
      "parameters" : [ {
        "$ref" : "#/components/parameters/projectId"
      }, {
        "$ref" : "#/components/parameters/meshOperationId"
      }, {
        "$ref" : "#/components/parameters/simulationIdQuery"
      } ]
    },
    "/projects/{projectId}/meshoperations/{meshOperationId}/cancel" : {
      "post" : {
        "tags" : [ "Mesh Operations" ],
        "summary" : "Cancel the mesh operation",
        "operationId" : "cancelMeshOperation",
        "responses" : {
          "202" : {
            "description" : "Successful operation."
          },
          "404" : {
            "$ref" : "#/components/responses/NotFound"
          }
        }
      },
      "parameters" : [ {
        "$ref" : "#/components/parameters/projectId"
      }, {
        "$ref" : "#/components/parameters/meshOperationId"
      } ]
    },
    "/projects/{projectId}/meshoperations/{meshOperationId}/eventlog" : {
      "get" : {
        "tags" : [ "Mesh Operations" ],
        "summary" : "Get the mesh operation event log",
        "operationId" : "getMeshOperationEventLog",
        "responses" : {
          "200" : {
            "description" : "Successful operation.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/EventLogResponse"
                }
              }
            }
          },
          "404" : {
            "$ref" : "#/components/responses/NotFound"
          }
        }
      },
      "parameters" : [ {
        "$ref" : "#/components/parameters/projectId"
      }, {
        "$ref" : "#/components/parameters/meshOperationId"
      } ]
    },
    "/projects/{projectId}/meshes" : {
      "get" : {
        "tags" : [ "Meshes" ],
        "summary" : "List meshes within a project",
        "description" : "Only finished and non-uploaded meshes are included.",
        "operationId" : "getMeshes",
        "responses" : {
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "title" : "Meshes",
                  "type" : "object",
                  "properties" : {
                    "_links" : {
                      "$ref" : "#/components/schemas/CollectionLinks"
                    },
                    "_meta" : {
                      "$ref" : "#/components/schemas/CollectionMeta"
                    },
                    "_embedded" : {
                      "type" : "array",
                      "items" : {
                        "$ref" : "#/components/schemas/Mesh"
                      }
                    }
                  }
                }
              }
            }
          },
          "404" : {
            "$ref" : "#/components/responses/NotFound"
          }
        }
      },
      "parameters" : [ {
        "$ref" : "#/components/parameters/collectionLimit"
      }, {
        "$ref" : "#/components/parameters/collectionPage"
      }, {
        "$ref" : "#/components/parameters/projectId"
      } ]
    },
    "/projects/{projectId}/meshes/{meshId}" : {
      "get" : {
        "tags" : [ "Meshes" ],
        "summary" : "Get information about the mesh",
        "operationId" : "getMesh",
        "responses" : {
          "200" : {
            "description" : "Successful operation.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Mesh"
                }
              }
            }
          },
          "404" : {
            "$ref" : "#/components/responses/NotFound"
          }
        }
      },
      "parameters" : [ {
        "$ref" : "#/components/parameters/projectId"
      }, {
        "$ref" : "#/components/parameters/meshId"
      } ]
    },
    "/projects/{projectId}/simulations" : {
      "get" : {
        "tags" : [ "Simulations" ],
        "summary" : "List simulation setups within a project",
        "operationId" : "getSimulations",
        "parameters" : [ {
          "$ref" : "#/components/parameters/collectionLimit"
        }, {
          "$ref" : "#/components/parameters/collectionPage"
        } ],
        "responses" : {
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "title" : "Simulations",
                  "type" : "object",
                  "properties" : {
                    "_links" : {
                      "$ref" : "#/components/schemas/CollectionLinks"
                    },
                    "_meta" : {
                      "$ref" : "#/components/schemas/CollectionMeta"
                    },
                    "_embedded" : {
                      "type" : "array",
                      "items" : {
                        "$ref" : "#/components/schemas/Simulation"
                      }
                    }
                  }
                }
              }
            }
          },
          "404" : {
            "$ref" : "#/components/responses/NotFound"
          }
        }
      },
      "post" : {
        "tags" : [ "Simulations" ],
        "summary" : "Create a simulation setup",
        "operationId" : "createSimulation",
        "requestBody" : {
          "description" : "Simulation to be created",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/SimulationSpec"
              },
              "examples" : {
                "windcomfort" : {
                  "$ref" : "#/components/examples/WindComfort"
                },
                "incompressible" : {
                  "$ref" : "#/components/examples/Incompressible"
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "201" : {
            "description" : "Successful creation of the simulation setup",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Simulation"
                }
              }
            },
            "links" : {
              "getSimulation" : {
                "operationId" : "getSimulation",
                "parameters" : {
                  "projectId" : "$request.path.projectId",
                  "simulationId" : "$response.body#/simulationId"
                },
                "description" : "The `simulationId` value returned in the response can be used as the `simulationId` parameter in `GET /projects/{projectId}/simulations/{simulationId}`.\n"
              }
            }
          },
          "400" : {
            "$ref" : "#/components/responses/BadRequest"
          },
          "404" : {
            "$ref" : "#/components/responses/NotFound"
          }
        }
      },
      "parameters" : [ {
        "$ref" : "#/components/parameters/projectId"
      } ]
    },
    "/projects/{projectId}/simulations/{simulationId}" : {
      "get" : {
        "tags" : [ "Simulations" ],
        "summary" : "Get information about the simulation setup",
        "operationId" : "getSimulation",
        "parameters" : [ {
          "$ref" : "#/components/parameters/simulationSpecSchemaVersion"
        } ],
        "responses" : {
          "200" : {
            "description" : "Successful operation.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SimulationSpec"
                },
                "examples" : {
                  "windcomfort" : {
                    "$ref" : "#/components/examples/WindComfort"
                  },
                  "incompressible" : {
                    "$ref" : "#/components/examples/Incompressible"
                  }
                }
              }
            }
          },
          "404" : {
            "$ref" : "#/components/responses/NotFound"
          }
        }
      },
      "put" : {
        "tags" : [ "Simulations" ],
        "summary" : "Update information about the simulation setup",
        "operationId" : "updateSimulation",
        "requestBody" : {
          "description" : "Simulation to be updated",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/SimulationSpec"
              },
              "examples" : {
                "windcomfort" : {
                  "$ref" : "#/components/examples/WindComfort"
                },
                "incompressible" : {
                  "$ref" : "#/components/examples/Incompressible"
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "204" : {
            "description" : "Successful update of the simulation"
          },
          "400" : {
            "$ref" : "#/components/responses/BadRequest"
          },
          "404" : {
            "$ref" : "#/components/responses/NotFound"
          }
        }
      },
      "parameters" : [ {
        "$ref" : "#/components/parameters/projectId"
      }, {
        "$ref" : "#/components/parameters/simulationId"
      } ]
    },
    "/projects/{projectId}/simulations/{simulationId}/swapcad" : {
      "post" : {
        "tags" : [ "Simulations" ],
        "summary" : "Swap the CAD on which the simulation is based",
        "description" : "Swap the CAD on which the simulation is based. The assignments on CAD entities are mapped accordingly.\nThis operation supports only swap between two CADs.\n",
        "operationId" : "swapSimulationCad",
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/SwapCadRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Successful operation.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SwapCadReport"
                }
              }
            }
          },
          "404" : {
            "$ref" : "#/components/responses/NotFound"
          }
        }
      },
      "parameters" : [ {
        "$ref" : "#/components/parameters/projectId"
      }, {
        "$ref" : "#/components/parameters/simulationId"
      } ]
    },
    "/projects/{projectId}/simulations/{simulationId}/check" : {
      "post" : {
        "tags" : [ "Simulations" ],
        "summary" : "Check the simulation setup",
        "operationId" : "checkSimulationSetup",
        "responses" : {
          "200" : {
            "description" : "Successful simulation check",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/CheckResponse"
                }
              }
            }
          },
          "400" : {
            "$ref" : "#/components/responses/BadRequest"
          },
          "404" : {
            "$ref" : "#/components/responses/NotFound"
          }
        }
      },
      "parameters" : [ {
        "$ref" : "#/components/parameters/projectId"
      }, {
        "$ref" : "#/components/parameters/simulationId"
      } ]
    },
    "/projects/{projectId}/simulations/{simulationId}/estimate" : {
      "post" : {
        "tags" : [ "Simulations" ],
        "summary" : "Estimate the simulation setup",
        "operationId" : "estimateSimulationSetup",
        "responses" : {
          "200" : {
            "description" : "Successful operation.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Estimation"
                }
              }
            }
          },
          "404" : {
            "$ref" : "#/components/responses/NotFound"
          },
          "422" : {
            "$ref" : "#/components/responses/UnprocessableEntity"
          }
        }
      },
      "parameters" : [ {
        "$ref" : "#/components/parameters/projectId"
      }, {
        "$ref" : "#/components/parameters/simulationId"
      } ]
    },
    "/projects/{projectId}/simulations/{simulationId}/materials" : {
      "post" : {
        "tags" : [ "Simulations" ],
        "summary" : "Update materials in the simulation setup",
        "operationId" : "updateSimulationMaterials",
        "requestBody" : {
          "description" : "Material update operations",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/MaterialUpdateRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/MaterialUpdateResponse"
                }
              }
            }
          }
        }
      },
      "parameters" : [ {
        "$ref" : "#/components/parameters/projectId"
      }, {
        "$ref" : "#/components/parameters/simulationId"
      }, {
        "$ref" : "#/components/parameters/materialUpdatePreview"
      } ]
    },
    "/projects/{projectId}/simulations/{simulationId}/runs" : {
      "get" : {
        "tags" : [ "Simulation Runs" ],
        "summary" : "List simulation runs for a simulation",
        "operationId" : "getSimulationRuns",
        "parameters" : [ {
          "$ref" : "#/components/parameters/collectionLimit"
        }, {
          "$ref" : "#/components/parameters/collectionPage"
        } ],
        "responses" : {
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "title" : "SimulationRuns",
                  "type" : "object",
                  "properties" : {
                    "_links" : {
                      "$ref" : "#/components/schemas/CollectionLinks"
                    },
                    "_meta" : {
                      "$ref" : "#/components/schemas/CollectionMeta"
                    },
                    "_embedded" : {
                      "type" : "array",
                      "items" : {
                        "$ref" : "#/components/schemas/SimulationRun"
                      }
                    }
                  }
                }
              }
            }
          },
          "404" : {
            "$ref" : "#/components/responses/NotFound"
          }
        }
      },
      "post" : {
        "tags" : [ "Simulation Runs" ],
        "summary" : "Create a simulation run",
        "description" : "This operation creates a run in status `READY`, however the run is not automatically started. The run must be started explicitly using the `POST /projects/{projectId}/simulations/{simulationId}/runs/{runId}/start` endpoint.\n",
        "operationId" : "createSimulationRun",
        "requestBody" : {
          "description" : "Simulation run to be created",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/SimulationRun"
              },
              "example" : {
                "name" : "My first simulation run"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "201" : {
            "description" : "Successful creation of the simulation run",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SimulationRun"
                }
              }
            },
            "links" : {
              "getSimulationRun" : {
                "operationId" : "getSimulationRun",
                "parameters" : {
                  "projectId" : "$request.path.projectId",
                  "simulationId" : "$request.path.simulationId",
                  "runId" : "$response.body#/runId"
                },
                "description" : "The `runId` value returned in the response can be used as the `runId` parameter in `GET /projects/{projectId}/simulations/{simulationId}/runs/{runId}`.\n"
              }
            }
          },
          "400" : {
            "$ref" : "#/components/responses/BadRequest"
          },
          "404" : {
            "$ref" : "#/components/responses/NotFound"
          }
        }
      },
      "parameters" : [ {
        "$ref" : "#/components/parameters/projectId"
      }, {
        "$ref" : "#/components/parameters/simulationId"
      } ]
    },
    "/projects/{projectId}/simulations/{simulationId}/runs/{runId}" : {
      "get" : {
        "tags" : [ "Simulation Runs" ],
        "summary" : "Get basic information about the simulation run",
        "operationId" : "getSimulationRun",
        "responses" : {
          "200" : {
            "description" : "Successful operation.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SimulationRun"
                }
              }
            }
          },
          "404" : {
            "$ref" : "#/components/responses/NotFound"
          }
        }
      },
      "put" : {
        "tags" : [ "Simulation Runs" ],
        "summary" : "Update an existing simulation run",
        "operationId" : "updateSimulationRun",
        "requestBody" : {
          "description" : "Simulation run to be updated",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/SimulationRun"
              },
              "example" : {
                "name" : "My first awesome simulation run"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "204" : {
            "description" : "Successful update of the simulation run"
          },
          "400" : {
            "$ref" : "#/components/responses/BadRequest"
          }
        }
      },
      "parameters" : [ {
        "$ref" : "#/components/parameters/projectId"
      }, {
        "$ref" : "#/components/parameters/simulationId"
      }, {
        "$ref" : "#/components/parameters/runId"
      } ]
    },
    "/projects/{projectId}/simulations/{simulationId}/runs/{runId}/eventlog" : {
      "get" : {
        "tags" : [ "Simulation Runs" ],
        "summary" : "Get the simulation run event log",
        "operationId" : "getSimulationRunEventLog",
        "responses" : {
          "200" : {
            "description" : "Successful operation.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/EventLogResponse"
                }
              }
            }
          },
          "404" : {
            "$ref" : "#/components/responses/NotFound"
          }
        }
      },
      "parameters" : [ {
        "$ref" : "#/components/parameters/projectId"
      }, {
        "$ref" : "#/components/parameters/simulationId"
      }, {
        "$ref" : "#/components/parameters/runId"
      } ]
    },
    "/projects/{projectId}/simulations/{simulationId}/runs/{runId}/spec" : {
      "get" : {
        "tags" : [ "Simulation Runs" ],
        "summary" : "Get the simulation run spec",
        "operationId" : "getSimulationRunSpec",
        "responses" : {
          "200" : {
            "description" : "Successful operation.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SimulationSpec"
                },
                "examples" : {
                  "windcomfort" : {
                    "$ref" : "#/components/examples/WindComfort"
                  },
                  "incompressible" : {
                    "$ref" : "#/components/examples/Incompressible"
                  }
                }
              }
            }
          },
          "404" : {
            "$ref" : "#/components/responses/NotFound"
          }
        }
      },
      "parameters" : [ {
        "$ref" : "#/components/parameters/projectId"
      }, {
        "$ref" : "#/components/parameters/simulationId"
      }, {
        "$ref" : "#/components/parameters/runId"
      }, {
        "$ref" : "#/components/parameters/simulationSpecSchemaVersion"
      } ]
    },
    "/projects/{projectId}/simulations/{simulationId}/runs/{runId}/start" : {
      "post" : {
        "tags" : [ "Simulation Runs" ],
        "summary" : "Start the simulation run",
        "operationId" : "startSimulationRun",
        "responses" : {
          "202" : {
            "description" : "Successful operation."
          },
          "404" : {
            "$ref" : "#/components/responses/NotFound"
          }
        }
      },
      "parameters" : [ {
        "$ref" : "#/components/parameters/projectId"
      }, {
        "$ref" : "#/components/parameters/simulationId"
      }, {
        "$ref" : "#/components/parameters/runId"
      } ]
    },
    "/projects/{projectId}/simulations/{simulationId}/runs/{runId}/add-wind-data" : {
      "post" : {
        "tags" : [ "Simulation Runs" ],
        "summary" : "Add wind data to a simulation run (works only for PWC runs)",
        "description" : "You can use this endpoint to add wind data to an existing PWC run. This means that for the new run, only the statistical surface solution will be regenerated based on the new wind data, while the individual results of each direction will be kept from the original run. This endpoint is only used to trigger the execution of the new simulation run - before calling this endpoint make sure to update the simulation spec with the new wind data.",
        "operationId" : "addWindDataToSimulationRun",
        "requestBody" : {
          "description" : "Metadata of the newly created simulation run",
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/WindData"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "202" : {
            "description" : "Successful operation.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SimulationRun"
                }
              }
            }
          },
          "404" : {
            "$ref" : "#/components/responses/NotFound"
          }
        }
      },
      "parameters" : [ {
        "$ref" : "#/components/parameters/projectId"
      }, {
        "$ref" : "#/components/parameters/simulationId"
      }, {
        "$ref" : "#/components/parameters/runId"
      } ]
    },
    "/projects/{projectId}/simulations/{simulationId}/runs/{runId}/cancel" : {
      "post" : {
        "tags" : [ "Simulation Runs" ],
        "summary" : "Cancel the simulation run",
        "operationId" : "cancelSimulationRun",
        "responses" : {
          "202" : {
            "description" : "Successful operation."
          },
          "404" : {
            "$ref" : "#/components/responses/NotFound"
          }
        }
      },
      "parameters" : [ {
        "$ref" : "#/components/parameters/projectId"
      }, {
        "$ref" : "#/components/parameters/simulationId"
      }, {
        "$ref" : "#/components/parameters/runId"
      } ]
    },
    "/projects/{projectId}/simulations/{simulationId}/runs/{runId}/results" : {
      "get" : {
        "tags" : [ "Simulation Runs" ],
        "summary" : "List available results for a simulation runs",
        "operationId" : "getSimulationRunResults",
        "parameters" : [ {
          "$ref" : "#/components/parameters/collectionLimit"
        }, {
          "$ref" : "#/components/parameters/collectionPage"
        }, {
          "$ref" : "#/components/parameters/resultType"
        }, {
          "$ref" : "#/components/parameters/resultCategory"
        }, {
          "$ref" : "#/components/parameters/resultQuantity"
        }, {
          "$ref" : "#/components/parameters/resultName"
        }, {
          "$ref" : "#/components/parameters/resultDirection"
        } ],
        "responses" : {
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "title" : "SimulationRunResults",
                  "type" : "object",
                  "properties" : {
                    "_links" : {
                      "$ref" : "#/components/schemas/CollectionLinks"
                    },
                    "_meta" : {
                      "$ref" : "#/components/schemas/CollectionMeta"
                    },
                    "_embedded" : {
                      "type" : "array",
                      "example" : [ {
                        "type" : "SOLUTION_FIELD",
                        "resultId" : "840c840c-840c-840c-840c-840c840c840c",
                        "category" : "STATISTICAL_SURFACE_SOLUTION",
                        "modifiedAt" : "2020-03-04T17:29:42Z",
                        "download" : {
                          "format" : "PVD",
                          "uncompressedSizeInBytes" : 4000,
                          "url" : "https://httpbin.org/bytes/4000",
                          "compression" : "ZIP64"
                        }
                      }, {
                        "type" : "SOLUTION_FIELD",
                        "resultId" : "744e744e-744e-744e-744e-744e744e744e",
                        "category" : "TRANSIENT_SOLUTION",
                        "direction" : 0.0,
                        "modifiedAt" : "2020-03-04T17:29:42Z",
                        "download" : {
                          "format" : "ENSIGHT_GOLD",
                          "uncompressedSizeInBytes" : 8000,
                          "url" : "https://httpbin.org/bytes/8000",
                          "compression" : "ZIP64"
                        }
                      }, {
                        "type" : "PLOT",
                        "resultId" : "148a148a-148a-148a-148a-148a148a148a",
                        "category" : "PROBE_POINT_PLOT",
                        "name" : "Probe point 1",
                        "quantity" : "p",
                        "direction" : 0.0,
                        "modifiedAt" : "2020-03-04T17:29:42Z",
                        "download" : {
                          "format" : "CSV",
                          "uncompressedSizeInBytes" : 2000,
                          "url" : "https://httpbin.org/bytes/2000",
                          "compression" : "NONE"
                        }
                      }, {
                        "type" : "TABLE",
                        "resultId" : "670e670e-670e-670e-670e-670e670e670e",
                        "category" : "PROBE_POINT_PLOT",
                        "name" : "Probe point 1",
                        "direction" : 0.0,
                        "modifiedAt" : "2020-03-04T17:29:42Z",
                        "download" : {
                          "format" : "CSV",
                          "uncompressedSizeInBytes" : 1000,
                          "url" : "https://httpbin.org/bytes/1000",
                          "compression" : "NONE"
                        }
                      } ],
                      "items" : {
                        "$ref" : "#/components/schemas/OneOfSimulationRunResult"
                      }
                    }
                  }
                }
              }
            }
          },
          "404" : {
            "$ref" : "#/components/responses/NotFound"
          }
        }
      },
      "parameters" : [ {
        "$ref" : "#/components/parameters/projectId"
      }, {
        "$ref" : "#/components/parameters/simulationId"
      }, {
        "$ref" : "#/components/parameters/runId"
      } ]
    },
    "/projects/{projectId}/simulations/{simulationId}/runs/{runId}/subruns" : {
      "get" : {
        "tags" : [ "Simulation Runs" ],
        "summary" : "List of sub-runs of parametric runs",
        "operationId" : "getSimulationRunSubRuns",
        "parameters" : [ {
          "$ref" : "#/components/parameters/collectionLimit"
        }, {
          "$ref" : "#/components/parameters/collectionPage"
        } ],
        "responses" : {
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "title" : "SimulationRuns",
                  "type" : "object",
                  "properties" : {
                    "_links" : {
                      "$ref" : "#/components/schemas/CollectionLinks"
                    },
                    "_meta" : {
                      "$ref" : "#/components/schemas/CollectionMeta"
                    },
                    "_embedded" : {
                      "type" : "array",
                      "items" : {
                        "$ref" : "#/components/schemas/SimulationRun"
                      }
                    }
                  }
                }
              }
            }
          },
          "404" : {
            "$ref" : "#/components/responses/NotFound"
          }
        }
      },
      "parameters" : [ {
        "$ref" : "#/components/parameters/projectId"
      }, {
        "$ref" : "#/components/parameters/simulationId"
      }, {
        "$ref" : "#/components/parameters/runId"
      } ]
    },
    "/projects/{projectId}/simulations/{simulationId}/runs/{runId}/subruns/{subRunId}/spec" : {
      "get" : {
        "tags" : [ "Simulation Runs" ],
        "summary" : "Get the simulation sub-run spec",
        "operationId" : "getSimulationRunSubRunSpec",
        "responses" : {
          "200" : {
            "description" : "Successful operation.",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SimulationSpec"
                },
                "examples" : {
                  "simerics" : {
                    "$ref" : "#/components/examples/Simerics"
                  }
                }
              }
            }
          },
          "404" : {
            "$ref" : "#/components/responses/NotFound"
          }
        }
      },
      "parameters" : [ {
        "$ref" : "#/components/parameters/projectId"
      }, {
        "$ref" : "#/components/parameters/simulationId"
      }, {
        "$ref" : "#/components/parameters/runId"
      }, {
        "$ref" : "#/components/parameters/subRunId"
      }, {
        "$ref" : "#/components/parameters/simulationSpecSchemaVersion"
      } ]
    },
    "/projects/{projectId}/simulations/{simulationId}/runs/{runId}/subruns/{subRunId}/cancel" : {
      "post" : {
        "tags" : [ "Simulation Runs" ],
        "summary" : "Cancel the sub-run of a parametric run",
        "operationId" : "cancelSimulationRunSubRun",
        "responses" : {
          "202" : {
            "description" : "Successful operation."
          },
          "404" : {
            "$ref" : "#/components/responses/NotFound"
          }
        }
      },
      "parameters" : [ {
        "$ref" : "#/components/parameters/projectId"
      }, {
        "$ref" : "#/components/parameters/simulationId"
      }, {
        "$ref" : "#/components/parameters/runId"
      }, {
        "$ref" : "#/components/parameters/subRunId"
      } ]
    },
    "/projects/{projectId}/simulations/{simulationId}/runs/{runId}/subruns/{subRunId}" : {
      "delete" : {
        "tags" : [ "Simulation Runs" ],
        "summary" : "Delete the sub-run of a parametric run",
        "operationId" : "deleteSimulationRunSubRun",
        "responses" : {
          "204" : {
            "description" : "No Content"
          },
          "404" : {
            "$ref" : "#/components/responses/NotFound"
          }
        }
      },
      "parameters" : [ {
        "$ref" : "#/components/parameters/projectId"
      }, {
        "$ref" : "#/components/parameters/simulationId"
      }, {
        "$ref" : "#/components/parameters/runId"
      }, {
        "$ref" : "#/components/parameters/subRunId"
      } ]
    },
    "/projects/{projectId}/simulations/{simulationId}/runs/{runId}/subruns/{subRunId}/results" : {
      "get" : {
        "tags" : [ "Simulation Runs" ],
        "summary" : "Get the simulation sub-run results",
        "operationId" : "getSimulationRunSubRunResults",
        "parameters" : [ {
          "$ref" : "#/components/parameters/collectionLimit"
        }, {
          "$ref" : "#/components/parameters/collectionPage"
        }, {
          "$ref" : "#/components/parameters/resultType"
        }, {
          "$ref" : "#/components/parameters/resultCategory"
        }, {
          "$ref" : "#/components/parameters/resultQuantity"
        }, {
          "$ref" : "#/components/parameters/resultName"
        } ],
        "responses" : {
          "200" : {
            "description" : "Successful operation",
            "content" : {
              "application/json" : {
                "schema" : {
                  "title" : "SimulationRunResults",
                  "type" : "object",
                  "properties" : {
                    "_links" : {
                      "$ref" : "#/components/schemas/CollectionLinks"
                    },
                    "_meta" : {
                      "$ref" : "#/components/schemas/CollectionMeta"
                    },
                    "_embedded" : {
                      "type" : "array",
                      "example" : [ {
                        "type" : "SOLUTION_FIELD",
                        "resultId" : "840c840c-840c-840c-840c-840c840c840c",
                        "category" : "STATISTICAL_SURFACE_SOLUTION",
                        "modifiedAt" : "2020-03-04T17:29:42Z",
                        "download" : {
                          "format" : "PVD",
                          "uncompressedSizeInBytes" : 4000,
                          "url" : "https://httpbin.org/bytes/4000",
                          "compression" : "ZIP64"
                        }
                      }, {
                        "type" : "SOLUTION_FIELD",
                        "resultId" : "744e744e-744e-744e-744e-744e744e744e",
                        "category" : "TRANSIENT_SOLUTION",
                        "direction" : 0.0,
                        "modifiedAt" : "2020-03-04T17:29:42Z",
                        "download" : {
                          "format" : "ENSIGHT_GOLD",
                          "uncompressedSizeInBytes" : 8000,
                          "url" : "https://httpbin.org/bytes/8000",
                          "compression" : "ZIP64"
                        }
                      }, {
                        "type" : "PLOT",
                        "resultId" : "148a148a-148a-148a-148a-148a148a148a",
                        "category" : "PROBE_POINT_PLOT",
                        "name" : "Probe point 1",
                        "quantity" : "p",
                        "direction" : 0.0,
                        "modifiedAt" : "2020-03-04T17:29:42Z",
                        "download" : {
                          "format" : "CSV",
                          "uncompressedSizeInBytes" : 2000,
                          "url" : "https://httpbin.org/bytes/2000",
                          "compression" : "NONE"
                        }
                      }, {
                        "type" : "TABLE",
                        "resultId" : "670e670e-670e-670e-670e-670e670e670e",
                        "category" : "PROBE_POINT_PLOT",
                        "name" : "Probe point 1",
                        "direction" : 0.0,
                        "modifiedAt" : "2020-03-04T17:29:42Z",
                        "download" : {
                          "format" : "CSV",
                          "uncompressedSizeInBytes" : 1000,
                          "url" : "https://httpbin.org/bytes/1000",
                          "compression" : "NONE"
                        }
                      } ],
                      "items" : {
                        "$ref" : "#/components/schemas/OneOfSimulationRunResult"
                      }
                    }
                  }
                }
              }
            }
          },
          "404" : {
            "$ref" : "#/components/responses/NotFound"
          }
        }
      },
      "parameters" : [ {
        "$ref" : "#/components/parameters/projectId"
      }, {
        "$ref" : "#/components/parameters/simulationId"
      }, {
        "$ref" : "#/components/parameters/runId"
      }, {
        "$ref" : "#/components/parameters/subRunId"
      } ]
    },
    "/projects/{projectId}/reports" : {
      "get" : {
        "tags" : [ "Reports" ],
        "operationId" : "getReports",
        "parameters" : [ {
          "$ref" : "#/components/parameters/projectId"
        }, {
          "$ref" : "#/components/parameters/simulationIdOptional"
        }, {
          "$ref" : "#/components/parameters/runIdOptional"
        }, {
          "$ref" : "#/components/parameters/collectionLimit"
        }, {
          "$ref" : "#/components/parameters/collectionPage"
        } ],
        "responses" : {
          "200" : {
            "description" : "Ok",
            "content" : {
              "application/json" : {
                "schema" : {
                  "title" : "ReportResponses",
                  "type" : "object",
                  "properties" : {
                    "_links" : {
                      "$ref" : "#/components/schemas/CollectionLinks"
                    },
                    "_meta" : {
                      "$ref" : "#/components/schemas/CollectionMeta"
                    },
                    "_embedded" : {
                      "type" : "array",
                      "items" : {
                        "$ref" : "#/components/schemas/Reporting.ReportResponse"
                      }
                    }
                  }
                }
              }
            }
          }
        }
      },
      "post" : {
        "tags" : [ "Reports" ],
        "operationId" : "createReport",
        "parameters" : [ {
          "$ref" : "#/components/parameters/projectId"
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/Reporting.ReportRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "201" : {
            "description" : "Created",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Reporting.ReportResponse"
                }
              }
            }
          }
        }
      }
    },
    "/projects/{projectId}/reports/from-state" : {
      "post" : {
        "tags" : [ "Reports" ],
        "operationId" : "createReportFromPostprocessingState",
        "parameters" : [ {
          "$ref" : "#/components/parameters/projectId"
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/Reporting.ReportFromStateRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "201" : {
            "description" : "Created",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Reporting.ReportResponse"
                }
              }
            }
          }
        }
      }
    },
    "/projects/{projectId}/reports/{reportId}" : {
      "get" : {
        "tags" : [ "Reports" ],
        "operationId" : "getReport",
        "parameters" : [ {
          "$ref" : "#/components/parameters/projectId"
        }, {
          "$ref" : "#/components/parameters/reportId"
        } ],
        "responses" : {
          "200" : {
            "description" : "Ok",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Reporting.ReportResponse"
                }
              }
            }
          }
        }
      },
      "put" : {
        "tags" : [ "Reports" ],
        "operationId" : "updateReport",
        "parameters" : [ {
          "$ref" : "#/components/parameters/projectId"
        }, {
          "$ref" : "#/components/parameters/reportId"
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/Reporting.ReportRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "204" : {
            "description" : "Accepted",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Reporting.ReportResponse"
                }
              }
            }
          }
        }
      },
      "delete" : {
        "tags" : [ "Reports" ],
        "operationId" : "deleteReport",
        "parameters" : [ {
          "$ref" : "#/components/parameters/projectId"
        }, {
          "$ref" : "#/components/parameters/reportId"
        } ],
        "responses" : {
          "204" : {
            "description" : "No Content"
          }
        }
      }
    },
    "/projects/{projectId}/reports/{reportId}/start" : {
      "post" : {
        "tags" : [ "Reports" ],
        "operationId" : "startReportJob",
        "parameters" : [ {
          "$ref" : "#/components/parameters/projectId"
        }, {
          "$ref" : "#/components/parameters/reportId"
        } ],
        "responses" : {
          "202" : {
            "description" : "Accepted"
          }
        }
      }
    },
    "/projects/{projectId}/reports/{reportId}/cancel" : {
      "post" : {
        "tags" : [ "Reports" ],
        "operationId" : "cancelReportJob",
        "parameters" : [ {
          "$ref" : "#/components/parameters/projectId"
        }, {
          "$ref" : "#/components/parameters/reportId"
        } ],
        "responses" : {
          "202" : {
            "description" : "Accepted"
          }
        }
      }
    },
    "/projects/{projectId}/postprocessing/results/{resultId}/manual-postprocessor-states" : {
      "get" : {
        "tags" : [ "Postprocessing" ],
        "operationId" : "getManualStates",
        "parameters" : [ {
          "$ref" : "#/components/parameters/projectId"
        }, {
          "name" : "resultId",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Ok",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/Postprocessing.StateResponse"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/projects/{projectId}/postprocessing/results/{resultId}/automatic-postprocessor-states" : {
      "get" : {
        "tags" : [ "Postprocessing" ],
        "operationId" : "getAutomaticStates",
        "parameters" : [ {
          "$ref" : "#/components/parameters/projectId"
        }, {
          "name" : "resultId",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "Ok",
            "content" : {
              "application/json" : {
                "schema" : {
                  "type" : "array",
                  "items" : {
                    "$ref" : "#/components/schemas/Postprocessing.StateResponse"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/storage" : {
      "post" : {
        "tags" : [ "Storage" ],
        "summary" : "Create a temporary storage location",
        "operationId" : "createStorage",
        "responses" : {
          "201" : {
            "description" : "Successful creation of the temporary storage location",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Storage"
                }
              }
            }
          }
        }
      }
    },
    "/materialgroups" : {
      "get" : {
        "tags" : [ "Materials" ],
        "summary" : "List all the material groups the user has access to",
        "operationId" : "getMaterialGroups",
        "parameters" : [ {
          "$ref" : "#/components/parameters/collectionLimit"
        }, {
          "$ref" : "#/components/parameters/collectionPage"
        } ],
        "responses" : {
          "200" : {
            "description" : "Ok",
            "content" : {
              "application/json" : {
                "schema" : {
                  "title" : "MaterialGroupListResponse",
                  "type" : "object",
                  "properties" : {
                    "_links" : {
                      "$ref" : "#/components/schemas/CollectionLinks"
                    },
                    "_meta" : {
                      "$ref" : "#/components/schemas/CollectionMeta"
                    },
                    "_embedded" : {
                      "type" : "array",
                      "items" : {
                        "$ref" : "#/components/schemas/Material.MaterialGroupResponse"
                      }
                    }
                  }
                }
              }
            }
          }
        }
      },
      "post" : {
        "tags" : [ "Materials" ],
        "summary" : "Create new material group",
        "operationId" : "createMaterialGroup",
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/Material.CreateMaterialGroupRequest"
              }
            }
          }
        },
        "responses" : {
          "201" : {
            "description" : "Material group created successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Material.MaterialGroupResponse"
                }
              }
            }
          }
        }
      }
    },
    "/materialgroups/{materialGroupId}/materialgroups" : {
      "get" : {
        "tags" : [ "Materials" ],
        "summary" : "List all sub-groups of the specified material group",
        "operationId" : "getNestedMaterialGroups",
        "parameters" : [ {
          "$ref" : "#/components/parameters/materialGroupId"
        }, {
          "$ref" : "#/components/parameters/collectionLimit"
        }, {
          "$ref" : "#/components/parameters/collectionPage"
        } ],
        "responses" : {
          "200" : {
            "description" : "Ok",
            "content" : {
              "application/json" : {
                "schema" : {
                  "title" : "MaterialGroupListResponse",
                  "type" : "object",
                  "properties" : {
                    "_links" : {
                      "$ref" : "#/components/schemas/CollectionLinks"
                    },
                    "_meta" : {
                      "$ref" : "#/components/schemas/CollectionMeta"
                    },
                    "_embedded" : {
                      "type" : "array",
                      "items" : {
                        "$ref" : "#/components/schemas/Material.MaterialGroupResponse"
                      }
                    }
                  }
                }
              }
            }
          },
          "404" : {
            "$ref" : "#/components/responses/NotFound"
          }
        }
      },
      "post" : {
        "tags" : [ "Materials" ],
        "summary" : "Create a child material group for the specified parent group",
        "operationId" : "createNestedMaterialGroup",
        "parameters" : [ {
          "$ref" : "#/components/parameters/materialGroupId"
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/Material.CreateNestedMaterialGroupRequest"
              }
            }
          }
        },
        "responses" : {
          "201" : {
            "description" : "Nested material group created successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Material.MaterialGroupResponse"
                }
              }
            }
          },
          "404" : {
            "$ref" : "#/components/responses/NotFound"
          }
        }
      }
    },
    "/materialgroups/{materialGroupId}" : {
      "get" : {
        "tags" : [ "Materials" ],
        "summary" : "Fetch material group information",
        "operationId" : "getMaterialGroupMetadata",
        "parameters" : [ {
          "$ref" : "#/components/parameters/materialGroupId"
        } ],
        "responses" : {
          "200" : {
            "description" : "Ok",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Material.MaterialGroupResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Material group was not found"
          }
        }
      },
      "put" : {
        "tags" : [ "Materials" ],
        "summary" : "Update material group information",
        "operationId" : "updateMaterialGroupMetadata",
        "parameters" : [ {
          "$ref" : "#/components/parameters/materialGroupId"
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/Material.UpdateMaterialGroupRequest"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "Material group was successfully updated",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Material.MaterialGroupResponse"
                }
              }
            }
          },
          "404" : {
            "$ref" : "#/components/responses/NotFound"
          }
        }
      },
      "delete" : {
        "tags" : [ "Materials" ],
        "summary" : "Delete material group, sub-groups associated to it, and materials associated to the group and all sub-groups",
        "operationId" : "deleteMaterialGroup",
        "parameters" : [ {
          "$ref" : "#/components/parameters/materialGroupId"
        } ],
        "responses" : {
          "204" : {
            "description" : "Material group and related entities deleted successfully"
          },
          "404" : {
            "$ref" : "#/components/responses/NotFound"
          }
        }
      }
    },
    "/materialgroups/{materialGroupId}/materials" : {
      "get" : {
        "tags" : [ "Materials" ],
        "summary" : "List materials within the material group",
        "operationId" : "getMaterials",
        "parameters" : [ {
          "$ref" : "#/components/parameters/materialGroupId"
        }, {
          "$ref" : "#/components/parameters/collectionLimit"
        }, {
          "$ref" : "#/components/parameters/collectionPage"
        } ],
        "responses" : {
          "200" : {
            "description" : "Ok",
            "content" : {
              "application/json" : {
                "schema" : {
                  "title" : "MaterialListResponse",
                  "type" : "object",
                  "properties" : {
                    "_links" : {
                      "$ref" : "#/components/schemas/CollectionLinks"
                    },
                    "_meta" : {
                      "$ref" : "#/components/schemas/CollectionMeta"
                    },
                    "_embedded" : {
                      "type" : "array",
                      "items" : {
                        "$ref" : "#/components/schemas/Material.MaterialResponse"
                      }
                    }
                  }
                }
              }
            }
          },
          "404" : {
            "$ref" : "#/components/responses/NotFound"
          }
        }
      },
      "post" : {
        "tags" : [ "Materials" ],
        "summary" : "Create a new material",
        "operationId" : "createMaterial",
        "parameters" : [ {
          "$ref" : "#/components/parameters/materialGroupId"
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/Material.CreateMaterialRequest"
              }
            }
          }
        },
        "responses" : {
          "201" : {
            "description" : "Material created successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Material.MaterialResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Material group was not found"
          }
        }
      }
    },
    "/materialgroups/{materialGroupId}/materials/{materialId}" : {
      "get" : {
        "tags" : [ "Materials" ],
        "summary" : "Get information about an existing material",
        "operationId" : "getMaterialData",
        "parameters" : [ {
          "$ref" : "#/components/parameters/materialGroupId"
        }, {
          "$ref" : "#/components/parameters/materialId"
        } ],
        "responses" : {
          "200" : {
            "description" : "Ok",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Material.MaterialResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Material group or material was not found"
          }
        }
      },
      "put" : {
        "tags" : [ "Materials" ],
        "summary" : "Update an existing material",
        "operationId" : "updateMaterialData",
        "parameters" : [ {
          "$ref" : "#/components/parameters/materialGroupId"
        }, {
          "$ref" : "#/components/parameters/materialId"
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/Material.CreateMaterialRequest"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "Material was successfully updated",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Material.MaterialResponse"
                }
              }
            }
          },
          "404" : {
            "description" : "Material group or material was not found"
          }
        }
      },
      "delete" : {
        "tags" : [ "Materials" ],
        "summary" : "Remove an existing material",
        "operationId" : "deleteMaterialData",
        "parameters" : [ {
          "$ref" : "#/components/parameters/materialGroupId"
        }, {
          "$ref" : "#/components/parameters/materialId"
        } ],
        "responses" : {
          "200" : {
            "description" : "Material was successfully updated"
          },
          "404" : {
            "description" : "Material group or material was not found"
          }
        }
      }
    },
    "/winddata" : {
      "get" : {
        "tags" : [ "Wind" ],
        "summary" : "Get wind condition for given coordinates",
        "operationId" : "getWindData",
        "parameters" : [ {
          "$ref" : "#/components/parameters/latitude"
        }, {
          "$ref" : "#/components/parameters/longitude"
        } ],
        "responses" : {
          "200" : {
            "description" : "Ok",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/WindRoseResponse"
                }
              }
            }
          },
          "400" : {
            "description" : "Invalid latitude or longitude"
          },
          "429" : {
            "description" : "Daily or weekly request limit was exceeded (daily limit = 50 requests/day, weekly limit = 100 requests/week)"
          }
        }
      }
    },
    "/spaces/{spaceId}/folders" : {
      "post" : {
        "tags" : [ "Folders" ],
        "summary" : "Create Folder",
        "description" : "Create a new Folder. If `parentFolderId` is missing, the folder will be created at the root level of the Space. Folder name clashes are allowed.",
        "operationId" : "createFolder",
        "parameters" : [ {
          "$ref" : "#/components/parameters/spaceId"
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/Folder"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "201" : {
            "description" : "Folder created successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Folder"
                }
              }
            }
          },
          "403" : {
            "description" : "Insufficient permissions"
          }
        }
      }
    },
    "/spaces/{spaceId}/folders/{folderId}" : {
      "get" : {
        "tags" : [ "Folders" ],
        "summary" : "Get Folder Info",
        "description" : "Get Folder metadata and current user permissions.",
        "operationId" : "getFolderInfo",
        "parameters" : [ {
          "name" : "spaceId",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          }
        }, {
          "name" : "folderId",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Folder"
                }
              }
            }
          },
          "404" : {
            "description" : "Element was not found"
          }
        }
      },
      "put" : {
        "tags" : [ "Folders" ],
        "summary" : "Update Folder",
        "description" : "Update Folder metadata",
        "operationId" : "updateFolder",
        "parameters" : [ {
          "name" : "spaceId",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          }
        }, {
          "name" : "folderId",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/Folder"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "202" : {
            "description" : "Folder updated successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Folder"
                }
              }
            }
          },
          "403" : {
            "description" : "Insufficient permissions"
          }
        }
      },
      "delete" : {
        "tags" : [ "Folders" ],
        "summary" : "Delete Folder",
        "description" : "Delete a folder and all its content. The deletion is propagated to all child elements. If the total number of elements to delete is too large, this operation will be carried out asynchronously.",
        "operationId" : "deleteFolder",
        "parameters" : [ {
          "name" : "spaceId",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          }
        }, {
          "name" : "folderId",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          }
        } ],
        "responses" : {
          "202" : {
            "description" : "Operation will be carried out asynchronously"
          },
          "204" : {
            "description" : "Folder deleted successfully"
          },
          "403" : {
            "description" : "Insufficient permissions"
          }
        }
      }
    },
    "/spaces/{spaceId}/content/projects" : {
      "get" : {
        "tags" : [ "Folders" ],
        "summary" : "List Projects in Space root",
        "description" : "List projects located at the root level of a Space. Filtering or search capabilities are not supported. This only returns the projects at the root level of a Space, without a recursive expansion to child folders.",
        "operationId" : "listProjectsInSpaceRoot",
        "parameters" : [ {
          "$ref" : "#/components/parameters/spaceId"
        }, {
          "$ref" : "#/components/parameters/collectionLimit"
        }, {
          "$ref" : "#/components/parameters/collectionPage"
        }, {
          "name" : "sort",
          "in" : "query",
          "description" : "A field to sort by. The available fields are: 'name', 'createdAt' and 'lastModifiedAt'. To indicate sorting direction, the field must be prefixed with '+' (ascending) or '-' (descending), e.g. ?sort=+name",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "pattern" : "^[-+](name|createdAt|lastModifiedAt)$",
            "type" : "string",
            "default" : "-lastModifiedAt"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "title" : "Projects",
                  "type" : "object",
                  "properties" : {
                    "_links" : {
                      "$ref" : "#/components/schemas/CollectionLinks"
                    },
                    "_meta" : {
                      "$ref" : "#/components/schemas/CollectionMeta"
                    },
                    "_embedded" : {
                      "type" : "array",
                      "items" : {
                        "$ref" : "#/components/schemas/Project"
                      }
                    }
                  }
                }
              }
            }
          },
          "403" : {
            "description" : "Insufficient permissions"
          },
          "404" : {
            "description" : "Element was not found"
          }
        }
      }
    },
    "/spaces/{spaceId}/content/folders" : {
      "get" : {
        "tags" : [ "Folders" ],
        "summary" : "List Folders in Space root",
        "description" : "List folders located at the root level of a Space. Filtering or search capabilities are not supported. This only returns the folders at the root level of a Space, without a recursive expansion to child folders.",
        "operationId" : "listFoldersInSpaceRoot",
        "parameters" : [ {
          "$ref" : "#/components/parameters/spaceId"
        }, {
          "$ref" : "#/components/parameters/collectionLimit"
        }, {
          "$ref" : "#/components/parameters/collectionPage"
        }, {
          "name" : "sort",
          "in" : "query",
          "description" : "A field to sort by. The available fields are: 'name', 'createdAt' and 'lastModifiedAt'. To indicate sorting direction, the field must be prefixed with '+' (ascending) or '-' (descending), e.g. ?sort=+name",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "pattern" : "^[-+](name|createdAt|lastModifiedAt)$",
            "type" : "string",
            "default" : "-lastModifiedAt"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "title" : "Folders",
                  "type" : "object",
                  "properties" : {
                    "_links" : {
                      "$ref" : "#/components/schemas/CollectionLinks"
                    },
                    "_meta" : {
                      "$ref" : "#/components/schemas/CollectionMeta"
                    },
                    "_embedded" : {
                      "type" : "array",
                      "items" : {
                        "$ref" : "#/components/schemas/Folder"
                      }
                    }
                  }
                }
              }
            }
          },
          "403" : {
            "description" : "Insufficient permissions"
          },
          "404" : {
            "description" : "Element was not found"
          }
        }
      }
    },
    "/spaces/{spaceId}/folders/{folderId}/content/projects" : {
      "get" : {
        "tags" : [ "Folders" ],
        "summary" : "List Projects in Folder",
        "description" : "List projects located in a Folder. Filtering or search capabilities are not supported. This only returns the projects of the queried folder, without a recursive expansion to child folders.",
        "operationId" : "listProjectsInFolder",
        "parameters" : [ {
          "$ref" : "#/components/parameters/spaceId"
        }, {
          "$ref" : "#/components/parameters/folderId"
        }, {
          "$ref" : "#/components/parameters/collectionLimit"
        }, {
          "$ref" : "#/components/parameters/collectionPage"
        }, {
          "name" : "sort",
          "in" : "query",
          "description" : "A field to sort by. The available fields are: 'name', 'createdAt' and 'lastModifiedAt'. To indicate sorting direction, the field must be prefixed with '+' (ascending) or '-' (descending), e.g. ?sort=+name",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "pattern" : "^[-+](name|createdAt|lastModifiedAt)$",
            "type" : "string",
            "default" : "-lastModifiedAt"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "title" : "Projects",
                  "type" : "object",
                  "properties" : {
                    "_links" : {
                      "$ref" : "#/components/schemas/CollectionLinks"
                    },
                    "_meta" : {
                      "$ref" : "#/components/schemas/CollectionMeta"
                    },
                    "_embedded" : {
                      "type" : "array",
                      "items" : {
                        "$ref" : "#/components/schemas/Project"
                      }
                    }
                  }
                }
              }
            }
          },
          "403" : {
            "description" : "Insufficient permissions"
          },
          "404" : {
            "description" : "Element was not found"
          }
        }
      }
    },
    "/spaces/{spaceId}/folders/{folderId}/content/folders" : {
      "get" : {
        "tags" : [ "Folders" ],
        "summary" : "List Folders in Folder",
        "description" : "List folders located in a Folder. Filtering or search capabilities are not supported. This only returns the folders of the queried folder, without a recursive expansion to child folders",
        "operationId" : "listFoldersInFolder",
        "parameters" : [ {
          "$ref" : "#/components/parameters/spaceId"
        }, {
          "$ref" : "#/components/parameters/folderId"
        }, {
          "$ref" : "#/components/parameters/collectionLimit"
        }, {
          "$ref" : "#/components/parameters/collectionPage"
        }, {
          "name" : "sort",
          "in" : "query",
          "description" : "A field to sort by. The available fields are: 'name', 'createdAt' and 'lastModifiedAt'. To indicate sorting direction, the field must be prefixed with '+' (ascending) or '-' (descending), e.g. ?sort=+name",
          "required" : false,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "pattern" : "^[-+](name|createdAt|lastModifiedAt)$",
            "type" : "string",
            "default" : "-lastModifiedAt"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "title" : "Folders",
                  "type" : "object",
                  "properties" : {
                    "_links" : {
                      "$ref" : "#/components/schemas/CollectionLinks"
                    },
                    "_meta" : {
                      "$ref" : "#/components/schemas/CollectionMeta"
                    },
                    "_embedded" : {
                      "type" : "array",
                      "items" : {
                        "$ref" : "#/components/schemas/Folder"
                      }
                    }
                  }
                }
              }
            }
          },
          "403" : {
            "description" : "Insufficient permissions"
          },
          "404" : {
            "description" : "Element was not found"
          }
        }
      }
    },
    "/spaces/{spaceId}/move" : {
      "post" : {
        "tags" : [ "Folders" ],
        "summary" : "Move Content from Space root",
        "description" : "Move content located at the root level of a Space. Several resources can be moved with the same request. All resources must be moved to the same target location. Folders cannot be moved to a different Space. Projects can only be moved to a Personal Space if the Space owner and the project owner match.",
        "operationId" : "moveContentFromSpaceRoot",
        "parameters" : [ {
          "$ref" : "#/components/parameters/spaceId"
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/MoveContentRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "204" : {
            "description" : "Content moved successfully"
          },
          "403" : {
            "description" : "Insufficient permissions"
          }
        }
      }
    },
    "/spaces/{spaceId}/folders/{folderId}/move" : {
      "post" : {
        "tags" : [ "Folders" ],
        "summary" : "Move Content from Folder",
        "description" : "Move content from this folder. Several resources can be moved with the same request. All resources must be moved to the same target location. Folders cannot be moved to a different Space. Projects can only be moved to a Personal Space if the Space owner and the project owner match.",
        "operationId" : "moveContentFromFolder",
        "parameters" : [ {
          "$ref" : "#/components/parameters/spaceId"
        }, {
          "$ref" : "#/components/parameters/folderId"
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/MoveContentRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "204" : {
            "description" : "Content moved successfully"
          },
          "403" : {
            "description" : "Insufficient permissions"
          }
        }
      }
    },
    "/spaces" : {
      "get" : {
        "tags" : [ "Spaces" ],
        "summary" : "Get User Spaces",
        "description" : "Get Info about the User Personal Space and all the Team Spaces the user has access to.",
        "operationId" : "getUserSpaces",
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Spaces"
                },
                "example" : {
                  "personalSpaces" : [ {
                    "spaceId" : "3fa85f64-5717-4562-b3fc-2c963f66afa6",
                    "ownerUsername" : "simon",
                    "spaceType" : "PERSONAL",
                    "createdAt" : "2022-08-03T16:33:00.742Z",
                    "lastModifiedAt" : "2022-08-03T16:33:00.742Z"
                  } ],
                  "teamSpaces" : [ {
                    "spaceId" : "3fa85f64-5717-4562-b3fc-2c963f66afa6",
                    "organizationId" : "3fa85f64-5717-4562-b3fc-2c963f66afa6",
                    "spaceType" : "TEAM",
                    "name" : "Team 1 Space",
                    "createdAt" : "2022-08-03T16:33:00.742Z",
                    "lastModifiedAt" : "2022-08-03T16:33:00.742Z"
                  } ]
                }
              }
            }
          }
        }
      }
    },
    "/spaces/{spaceId}" : {
      "get" : {
        "tags" : [ "Spaces" ],
        "summary" : "Get Space Info",
        "description" : "Get Space metadata, current user permissions, and view Space settings",
        "operationId" : "getSpaceInfo",
        "parameters" : [ {
          "$ref" : "#/components/parameters/spaceId"
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Space"
                },
                "examples" : {
                  "Personal Space" : {
                    "description" : "Personal Space",
                    "value" : {
                      "spaceId" : "3fa85f64-5717-4562-b3fc-2c963f66afa6",
                      "ownerUsername" : "simon",
                      "spaceType" : "PERSONAL",
                      "createdAt" : "2022-08-03T16:33:00.742Z",
                      "lastModifiedAt" : "2022-08-03T16:33:00.742Z",
                      "spaceSettings" : {
                        "sharingControl" : "WITH_ANYONE"
                      }
                    }
                  },
                  "Team Space" : {
                    "description" : "Team Space",
                    "value" : {
                      "spaceId" : "3fa85f64-5717-4562-b3fc-2c963f66afa6",
                      "organizationId" : "3fa85f64-5717-4562-b3fc-2c963f66afa6",
                      "spaceType" : "TEAM",
                      "name" : "Team 1 Space",
                      "createdAt" : "2022-08-03T16:33:00.742Z",
                      "lastModifiedAt" : "2022-08-03T16:33:00.742Z",
                      "spaceSettings" : {
                        "sharingControl" : "WITH_ANYONE"
                      }
                    }
                  }
                }
              }
            }
          },
          "404" : {
            "description" : "Element was not found"
          }
        }
      },
      "put" : {
        "tags" : [ "Spaces" ],
        "summary" : "Update Space",
        "description" : "Update Space metadata and settings",
        "operationId" : "updateSpace",
        "parameters" : [ {
          "name" : "spaceId",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/Space"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "202" : {
            "description" : "Space updated successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Space"
                }
              }
            }
          },
          "403" : {
            "description" : "Insufficient permissions"
          }
        }
      }
    },
    "/permissions/spaces/{spaceId}" : {
      "get" : {
        "tags" : [ "Space Permissions" ],
        "summary" : "List Space Permissions",
        "description" : "See who has access to a Space",
        "operationId" : "listSpacePermissions",
        "parameters" : [ {
          "name" : "spaceId",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Permissions"
                },
                "example" : {
                  "permissions" : [ {
                    "scope" : {
                      "username" : "userThatCanView"
                    },
                    "permission" : "VIEW"
                  }, {
                    "scope" : {
                      "username" : "userThatCanCopy"
                    },
                    "permission" : "COPY"
                  }, {
                    "scope" : {
                      "username" : "userThatCanEdit"
                    },
                    "permission" : "EDIT"
                  }, {
                    "scope" : {
                      "username" : "userThatCanManage"
                    },
                    "permission" : "FULL_ACCESS"
                  } ]
                }
              }
            }
          },
          "403" : {
            "description" : "Insufficient permissions"
          },
          "404" : {
            "description" : "Element was not found"
          }
        }
      },
      "put" : {
        "tags" : [ "Space Permissions" ],
        "summary" : "Update Space Permissions",
        "description" : "Update who has access to a Space.",
        "operationId" : "updateSpacePermissions",
        "parameters" : [ {
          "name" : "spaceId",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          }
        } ],
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/Permissions"
              },
              "examples" : {
                "Grant permission to users to access a Space" : {
                  "description" : "Grant permission to users to a Space",
                  "value" : {
                    "permissions" : [ {
                      "scope" : {
                        "username" : "userThatCanView"
                      },
                      "permission" : "VIEW"
                    }, {
                      "scope" : {
                        "username" : "userThatCanCopy"
                      },
                      "permission" : "COPY"
                    }, {
                      "scope" : {
                        "username" : "userThatCanEdit"
                      },
                      "permission" : "EDIT"
                    } ]
                  }
                },
                "Revoke permission from users to a Space" : {
                  "description" : "Revoke permission from users to access a Space",
                  "value" : {
                    "permissions" : [ {
                      "scope" : {
                        "username" : "removedUser"
                      },
                      "permission" : "NONE"
                    }, {
                      "scope" : {
                        "username" : "yetAnotherRemovedUser"
                      },
                      "permission" : "NONE"
                    } ]
                  }
                }
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "202" : {
            "description" : "Permissions updated successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/Permissions"
                },
                "example" : {
                  "permissions" : [ {
                    "scope" : {
                      "username" : "userThatCanView"
                    },
                    "permission" : "VIEW"
                  }, {
                    "scope" : {
                      "username" : "userThatCanCopy"
                    },
                    "permission" : "COPY"
                  }, {
                    "scope" : {
                      "username" : "userThatCanEdit"
                    },
                    "permission" : "EDIT"
                  } ]
                }
              }
            }
          },
          "403" : {
            "description" : "Insufficient permissions"
          },
          "404" : {
            "description" : "Element was not found"
          }
        }
      }
    },
    "/permissions/spaces/{spaceId}/requester" : {
      "get" : {
        "tags" : [ "Space Permissions" ],
        "summary" : "Get User Space Permissions",
        "description" : "Get Info about the Permissions that the current requester user has in this Space.",
        "operationId" : "getRequesterSpacePermissions",
        "parameters" : [ {
          "name" : "spaceId",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "OK",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/SpacePermissions"
                }
              }
            }
          },
          "403" : {
            "description" : "Insufficient permissions"
          },
          "404" : {
            "description" : "Element was not found"
          }
        }
      }
    },
    "/users" : {
      "post" : {
        "tags" : [ "Users" ],
        "summary" : "Signup a user",
        "description" : "Signup a new user. The current requester user needs to be authenticated.",
        "operationId" : "signupUser",
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/UserSignupRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "201" : {
            "description" : "User created successfully",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/UserSignupResponse"
                }
              }
            }
          },
          "400" : {
            "$ref" : "#/components/responses/BadRequest"
          },
          "403" : {
            "$ref" : "#/components/responses/InsufficientPermissions"
          },
          "409" : {
            "$ref" : "#/components/responses/Conflict"
          }
        }
      }
    },
    "/users/me" : {
      "get" : {
        "tags" : [ "Users" ],
        "summary" : "Get information about the currently authenticated user",
        "description" : "Get information about the currently authenticated user, such as name and email.",
        "operationId" : "getCurrentUser",
        "responses" : {
          "200" : {
            "description" : "User information",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/User"
                }
              }
            }
          }
        }
      }
    },
    "/ai/models" : {
      "get" : {
        "tags" : [ "AI Models" ],
        "summary" : "Get all AI models belonging to the user",
        "operationId" : "getAiModels",
        "responses" : {
          "200" : {
            "description" : "All AI models",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/GetAiModelsResponse"
                }
              }
            }
          }
        }
      }
    },
    "/ai/models/{aiModelId}" : {
      "get" : {
        "tags" : [ "AI Models" ],
        "summary" : "Get specific AI model belonging to the user",
        "operationId" : "getAiModel",
        "parameters" : [ {
          "name" : "aiModelId",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "AI model",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/AiUserModel"
                }
              }
            }
          },
          "403" : {
            "description" : "Insufficient permissions"
          },
          "404" : {
            "description" : "Element was not found"
          }
        }
      }
    },
    "/ai/available-models" : {
      "get" : {
        "tags" : [ "AI Models" ],
        "summary" : "Get all AI model belonging to the user that can be used to run a specific simulation",
        "operationId" : "getAvailableAiModel",
        "parameters" : [ {
          "name" : "simulationId",
          "in" : "query",
          "required" : true,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          }
        }, {
          "name" : "projectId",
          "in" : "query",
          "required" : true,
          "style" : "form",
          "explode" : true,
          "schema" : {
            "type" : "string"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "AI model",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/GetAvailableAiModelsResponse"
                }
              }
            }
          },
          "403" : {
            "description" : "Insufficient permissions"
          },
          "404" : {
            "description" : "Element was not found"
          }
        }
      }
    },
    "/ai/predict" : {
      "post" : {
        "tags" : [ "AI Models" ],
        "summary" : "Generate an AI prediction for a simulation based on an AI model",
        "description" : "Waits for the prediction to finish and returns the results. Predictions that take longer\nthan 50 seconds time out, use POST /v1/ai/predictions for those.\n",
        "operationId" : "createPrediction",
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/CreateAiPredictionRequest"
              }
            }
          }
        },
        "responses" : {
          "200" : {
            "description" : "Prediction results",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/CreateAiPredictionResponse"
                }
              }
            }
          },
          "403" : {
            "description" : "Insufficient permissions"
          },
          "404" : {
            "description" : "Element was not found"
          }
        }
      }
    },
    "/ai/predictions" : {
      "post" : {
        "tags" : [ "AI Models" ],
        "summary" : "Start an AI prediction for a simulation based on an AI model",
        "description" : "Starts the prediction and returns immediately, without waiting for the results. Poll\nGET /ai/predictions/{predictionId} for the status and the results.\n",
        "operationId" : "createAsyncPrediction",
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/CreateAiPredictionRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "202" : {
            "description" : "Prediction successfully started",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/CreateAsyncAiPredictionResponse"
                }
              }
            }
          },
          "403" : {
            "description" : "Insufficient permissions"
          },
          "404" : {
            "description" : "Element was not found"
          }
        }
      }
    },
    "/ai/predictions/{predictionId}" : {
      "get" : {
        "tags" : [ "AI Models" ],
        "summary" : "Get the status of an AI prediction, and its results if it is done",
        "operationId" : "getPrediction",
        "parameters" : [ {
          "name" : "predictionId",
          "in" : "path",
          "required" : true,
          "style" : "simple",
          "explode" : false,
          "schema" : {
            "type" : "string",
            "format" : "uuid"
          }
        } ],
        "responses" : {
          "200" : {
            "description" : "The status of the prediction, and the results if it is done",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/GetAiPredictionResponse"
                }
              }
            }
          },
          "403" : {
            "description" : "Insufficient permissions"
          },
          "404" : {
            "description" : "Element was not found"
          }
        }
      }
    },
    "/projects/{projectId}/export" : {
      "post" : {
        "tags" : [ "Export" ],
        "summary" : "Trigger an export for a simulation result",
        "operationId" : "createExport",
        "requestBody" : {
          "content" : {
            "application/json" : {
              "schema" : {
                "$ref" : "#/components/schemas/CreateExportRequest"
              }
            }
          },
          "required" : true
        },
        "responses" : {
          "202" : {
            "description" : "Export successfully triggered",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/CreateExportResponse"
                }
              }
            }
          },
          "404" : {
            "$ref" : "#/components/responses/NotFound"
          }
        }
      },
      "parameters" : [ {
        "$ref" : "#/components/parameters/projectId"
      } ]
    },
    "/projects/{projectId}/export/{exportId}" : {
      "get" : {
        "tags" : [ "Export" ],
        "summary" : "Get the status of the export and temporary download link to the exported object if it is done",
        "operationId" : "getExport",
        "responses" : {
          "200" : {
            "description" : "The status of the export and the temporary download link to the exported object if it is done",
            "content" : {
              "application/json" : {
                "schema" : {
                  "$ref" : "#/components/schemas/GetExportResponse"
                }
              }
            }
          },
          "404" : {
            "$ref" : "#/components/responses/NotFound"
          }
        }
      },
      "parameters" : [ {
        "$ref" : "#/components/parameters/projectId"
      }, {
        "$ref" : "#/components/parameters/exportId"
      } ]
    }
  },
  "components" : {
    "schemas" : {
      "UserSignupRequest" : {
        "required" : [ "consentTermsConditionsPrivacy", "consentToBeContacted", "email", "firstname", "lastname" ],
        "type" : "object",
        "properties" : {
          "email" : {
            "maxLength" : 255,
            "minLength" : 1,
            "type" : "string"
          },
          "firstname" : {
            "maxLength" : 40,
            "minLength" : 1,
            "type" : "string"
          },
          "lastname" : {
            "maxLength" : 80,
            "minLength" : 1,
            "type" : "string"
          },
          "consentTermsConditionsPrivacy" : {
            "type" : "boolean",
            "description" : "I agree to the End User License Terms and the Privacy Policy"
          },
          "consentToBeContacted" : {
            "type" : "boolean",
            "description" : "SimScale may occasionally contact you via e-mail to present you with similar goods and services of SimScale unless you have objected to such use of your e-mail address."
          }
        },
        "example" : {
          "email" : "j.doe@simscale.com",
          "firstname" : "John",
          "lastname" : "Doe",
          "consentTermsConditionsPrivacy" : true,
          "consentToBeContacted" : true
        }
      },
      "UserSignupResponse" : {
        "required" : [ "email", "userId" ],
        "type" : "object",
        "properties" : {
          "email" : {
            "type" : "string",
            "readOnly" : true
          },
          "userId" : {
            "type" : "string",
            "readOnly" : true
          }
        },
        "example" : {
          "email" : "j.doe@simscale.com",
          "userId" : "1234123412341234"
        }
      },
      "User" : {
        "required" : [ "email", "firstname", "lastname", "userId" ],
        "type" : "object",
        "properties" : {
          "email" : {
            "type" : "string",
            "readOnly" : true
          },
          "userId" : {
            "type" : "string",
            "readOnly" : true
          },
          "firstname" : {
            "type" : "string",
            "readOnly" : true
          },
          "lastname" : {
            "type" : "string",
            "readOnly" : true
          }
        },
        "example" : {
          "email" : "j.doe@simscale.com",
          "userId" : "1234123412341234",
          "firstname" : "John",
          "lastname" : "Doe"
        }
      },
      "GetAiModelsResponse" : {
        "type" : "array",
        "items" : {
          "$ref" : "#/components/schemas/AiUserModel"
        }
      },
      "AiUserModel" : {
        "type" : "object",
        "properties" : {
          "analysisType" : {
            "type" : "string",
            "description" : "Possible values are STATIC_ANALYSIS, INCOMPRESSIBLE, COUPLED_CONJUGATE_HEAT_TRANSFER and EMBEDDED_BOUNDARY\n",
            "readOnly" : true
          },
          "name" : {
            "type" : "string",
            "readOnly" : true
          },
          "predictorComponent" : {
            "type" : "string",
            "description" : "Possible values are navasto and ai-solver-kickstart\n",
            "readOnly" : true
          },
          "sharedWithOrganization" : {
            "type" : "boolean",
            "readOnly" : true
          },
          "templateName" : {
            "type" : "string",
            "description" : "Possible values are fea_template, cfd_template, chtv2ibm_template, spec_id and spec_and_tesselation\n",
            "readOnly" : true
          },
          "templateParameters" : {
            "type" : "object",
            "readOnly" : true
          },
          "aiModelId" : {
            "type" : "string",
            "format" : "uuid",
            "readOnly" : true
          }
        }
      },
      "GetAvailableAiModelsResponse" : {
        "type" : "array",
        "items" : {
          "$ref" : "#/components/schemas/AvailableAiModel"
        }
      },
      "AvailableAiModel" : {
        "type" : "object",
        "properties" : {
          "aiModelLabel" : {
            "type" : "string",
            "readOnly" : true
          },
          "aiModelId" : {
            "type" : "string",
            "format" : "uuid",
            "readOnly" : true
          }
        }
      },
      "CreateAiPredictionRequest" : {
        "required" : [ "aiModelId", "projectId", "simulationId" ],
        "type" : "object",
        "properties" : {
          "aiModelId" : {
            "type" : "string",
            "format" : "uuid"
          },
          "projectId" : {
            "type" : "string"
          },
          "simulationId" : {
            "type" : "string",
            "format" : "uuid"
          }
        }
      },
      "CreateAiPredictionResponse" : {
        "type" : "object",
        "properties" : {
          "predictionId" : {
            "type" : "string",
            "format" : "uuid"
          },
          "resultId" : {
            "type" : "string",
            "format" : "uuid"
          },
          "availableFields" : {
            "type" : "array",
            "items" : {
              "type" : "object",
              "properties" : {
                "name" : {
                  "type" : "string"
                },
                "components" : {
                  "type" : "array",
                  "items" : {
                    "type" : "string"
                  }
                }
              }
            }
          },
          "confidenceScore" : {
            "type" : "number",
            "format" : "double"
          },
          "globalOutputs" : {
            "type" : "array",
            "items" : {
              "type" : "object",
              "properties" : {
                "name" : {
                  "type" : "string"
                },
                "unit" : {
                  "type" : "string"
                },
                "value" : {
                  "type" : "number",
                  "format" : "double"
                }
              }
            }
          }
        }
      },
      "CreateAsyncAiPredictionResponse" : {
        "type" : "object",
        "properties" : {
          "predictionId" : {
            "type" : "string",
            "format" : "uuid"
          },
          "status" : {
            "type" : "string",
            "description" : "RUNNING - Prediction is in progress, poll GET /ai/predictions/{predictionId} for the results\n"
          }
        }
      },
      "GetAiPredictionResponse" : {
        "type" : "object",
        "allOf" : [ {
          "$ref" : "#/components/schemas/CreateAiPredictionResponse"
        }, {
          "type" : "object",
          "properties" : {
            "status" : {
              "type" : "string",
              "description" : "RUNNING - Prediction is still in progress\nDONE - Prediction is done, the results are part of this response\nFAILED - Prediction failed, either because the simulation is not compatible with the AI model, or because of a transient error. Retrying can help in the second case.\n"
            }
          }
        } ]
      },
      "Space" : {
        "type" : "object",
        "properties" : {
          "spaceId" : {
            "type" : "string",
            "format" : "uuid",
            "readOnly" : true
          },
          "organizationId" : {
            "type" : "string",
            "description" : "Only present for Team Spaces",
            "format" : "uuid",
            "readOnly" : true
          },
          "ownerUsername" : {
            "type" : "string",
            "description" : "Only present for Personal Spaces",
            "readOnly" : true
          },
          "spaceType" : {
            "type" : "string",
            "readOnly" : true,
            "enum" : [ "PERSONAL", "TEAM" ]
          },
          "name" : {
            "type" : "string",
            "example" : "Team 1 Space"
          },
          "createdAt" : {
            "type" : "string",
            "format" : "date-time",
            "readOnly" : true
          },
          "lastModifiedAt" : {
            "type" : "string",
            "format" : "date-time",
            "readOnly" : true
          },
          "spaceSettings" : {
            "$ref" : "#/components/schemas/SpaceSettings"
          }
        }
      },
      "Spaces" : {
        "type" : "object",
        "properties" : {
          "personalSpaces" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Space"
            }
          },
          "teamSpaces" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Space"
            }
          }
        }
      },
      "SpaceSettings" : {
        "required" : [ "sharingControl" ],
        "type" : "object",
        "properties" : {
          "sharingControl" : {
            "$ref" : "#/components/schemas/SharingControl"
          }
        }
      },
      "SharingControl" : {
        "type" : "string",
        "description" : "The Sharing Control level:\n  * `NO_SHARING`: Content within this Space cannot be shared with other users. Only those added to the Space have access to the content.\n  * `WITHIN_SPACE`: Content within this Space can be shared with other users within the same Space. This is useful to grant higher permissions to users within the Space.\n  * `WITHIN_ORGANIZATION`: Content within this Space can be shared with other users within the same Organization. This is useful to grant higher permissions to users within the Organization.\n  * `WITH_ANYONE`: Content within this Space can be shared with anyone. This is the only level that allows public Projects to live within the Space.\n",
        "enum" : [ "NO_SHARING", "WITHIN_SPACE", "WITHIN_ORGANIZATION", "WITH_ANYONE" ]
      },
      "SpacePermissions" : {
        "type" : "object",
        "properties" : {
          "canListContentInRoot" : {
            "type" : "boolean",
            "description" : "Whether the current user can list the contents of the root of this Space.",
            "readOnly" : true
          },
          "canCreateContentInRoot" : {
            "type" : "boolean",
            "description" : "Whether the current user can create new content in the root of this Space.",
            "readOnly" : true
          },
          "canMoveContentToRoot" : {
            "type" : "boolean",
            "description" : "Whether the current user can move content into the root folder of this Space.",
            "readOnly" : true
          },
          "canMoveContentOutOfRoot" : {
            "type" : "boolean",
            "description" : "Whether the current user can move content out of the root folder of this Space.",
            "readOnly" : true
          },
          "canEditSpaceMetadata" : {
            "type" : "boolean",
            "description" : "Whether the current user can edit the metadata of this Space.",
            "readOnly" : true
          },
          "canEditSpaceSettings" : {
            "type" : "boolean",
            "description" : "Whether the current user can edit the settings of this Space.",
            "readOnly" : true
          },
          "canEditSpacePermissions" : {
            "type" : "boolean",
            "description" : "Whether the current user can add or remove users to this Space.",
            "readOnly" : true
          },
          "canDeleteSpace" : {
            "type" : "boolean",
            "description" : "Whether the current user can delete this Space.",
            "readOnly" : true
          }
        },
        "description" : "Permissions that the current user has on this Space. Each flag corresponds to a fine-grained action that a user may take.",
        "readOnly" : true
      },
      "Folder" : {
        "required" : [ "name" ],
        "type" : "object",
        "properties" : {
          "resourceType" : {
            "type" : "string",
            "readOnly" : true,
            "default" : "FOLDER",
            "enum" : [ "PROJECT", "FOLDER" ]
          },
          "folderId" : {
            "type" : "string",
            "format" : "uuid",
            "readOnly" : true
          },
          "parentFolderId" : {
            "type" : "string",
            "description" : "Can be missing if the folder is at the root level of the Space",
            "format" : "uuid"
          },
          "spaceId" : {
            "type" : "string",
            "format" : "uuid",
            "readOnly" : true
          },
          "name" : {
            "type" : "string",
            "example" : "My folder"
          },
          "numberOfItems" : {
            "type" : "integer",
            "format" : "int32",
            "readOnly" : true
          },
          "createdAt" : {
            "type" : "string",
            "format" : "date-time",
            "readOnly" : true
          },
          "lastModifiedAt" : {
            "type" : "string",
            "format" : "date-time",
            "readOnly" : true
          }
        }
      },
      "MoveContentRequest" : {
        "required" : [ "entries", "to" ],
        "type" : "object",
        "properties" : {
          "entries" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ResourceToMove"
            }
          },
          "to" : {
            "$ref" : "#/components/schemas/ResourceLocation"
          }
        }
      },
      "ResourceToMove" : {
        "type" : "object",
        "properties" : {
          "folderId" : {
            "type" : "string",
            "description" : "Use this field to move an entire folder",
            "format" : "uuid"
          },
          "projectId" : {
            "type" : "string",
            "description" : "Use this field to move a project"
          }
        },
        "description" : "Specify the resource to be moved. One of `folderId` or `projectId` must be defined. An error is returned if both fields are passed."
      },
      "ResourceLocation" : {
        "required" : [ "spaceId" ],
        "type" : "object",
        "properties" : {
          "spaceId" : {
            "type" : "string",
            "format" : "uuid"
          },
          "parentFolderId" : {
            "type" : "string",
            "description" : "If missing, the resource will be moved/copied to the root of the Space",
            "format" : "uuid"
          }
        },
        "description" : "Specify the destination to which the resource will be moved/copied"
      },
      "Project" : {
        "required" : [ "measurementSystem", "name" ],
        "type" : "object",
        "properties" : {
          "projectId" : {
            "type" : "string",
            "readOnly" : true
          },
          "spaceId" : {
            "type" : "string",
            "description" : "Always returned by the backend. Optional at project creation. If missing, the project will be created in the Personal Space of the user.",
            "format" : "uuid"
          },
          "parentFolderId" : {
            "type" : "string",
            "description" : "If missing, the project is located at the root level of the Space.",
            "format" : "uuid"
          },
          "createdAt" : {
            "type" : "string",
            "format" : "date-time",
            "readOnly" : true
          },
          "name" : {
            "maxLength" : 250,
            "type" : "string",
            "description" : "The project title should contain the application you want to analyze as well as the simulation method you want to use, e.g. 'Heat exchanger - CHT simulation'.\n"
          },
          "description" : {
            "maxLength" : 2000,
            "type" : "string",
            "description" : "A meaningful description of the project."
          },
          "measurementSystem" : {
            "type" : "string",
            "description" : "The measurement system of the project. Can't be modified.",
            "default" : "SI",
            "enum" : [ "SI", "US_CUSTOMARY" ]
          },
          "tags" : {
            "maxItems" : 12,
            "type" : "array",
            "items" : {
              "maxLength" : 50,
              "type" : "string"
            }
          }
        },
        "example" : {
          "projectId" : "1234123412341234",
          "spaceId" : "49eb49eb-49eb-49eb-49eb-49eb49eb49eb",
          "parentFolderId" : "4e9c4e9c-4e9c-4e9c-4e9c-4e9c4e9c4e9c",
          "createdAt" : "2020-01-01T01:00:00Z",
          "name" : "My first project",
          "description" : "My first project description",
          "measurementSystem" : "SI",
          "tags" : [ "FEA", "CFD" ]
        }
      },
      "ProjectCopyRequest" : {
        "required" : [ "description", "name" ],
        "type" : "object",
        "properties" : {
          "spaceId" : {
            "type" : "string",
            "description" : "If missing, the project will be copied in the Personal Space of the user.",
            "format" : "uuid"
          },
          "parentFolderId" : {
            "type" : "string",
            "description" : "If missing, the project is located at the root level of the Space.",
            "format" : "uuid"
          },
          "name" : {
            "maxLength" : 250,
            "type" : "string",
            "description" : "The project title should contain the application you want to analyze as well as the simulation method you want to use, e.g. 'Heat exchanger - CHT simulation'.\n"
          },
          "description" : {
            "maxLength" : 2000,
            "type" : "string",
            "description" : "A meaningful description of the project."
          }
        },
        "example" : {
          "spaceId" : "49eb49eb-49eb-49eb-49eb-49eb49eb49eb",
          "parentFolderId" : "4e9c4e9c-4e9c-4e9c-4e9c-4e9c4e9c4e9c",
          "name" : "My first project",
          "description" : "My first project description"
        }
      },
      "ProjectPermissions" : {
        "type" : "object",
        "properties" : {
          "canPreviewProject" : {
            "type" : "boolean",
            "description" : "Whether the current user can see basic details about this Project.",
            "readOnly" : true
          },
          "canReadProject" : {
            "type" : "boolean",
            "description" : "Whether the current user can open this Project.",
            "readOnly" : true
          },
          "canCopyProject" : {
            "type" : "boolean",
            "description" : "Whether the current user can copy this Project.",
            "readOnly" : true
          },
          "canWriteProject" : {
            "type" : "boolean",
            "description" : "Whether the current user can edit this Project.",
            "readOnly" : true
          },
          "canExecuteProjectBillableAction" : {
            "type" : "boolean",
            "description" : "Whether the current user can execute a billable action on this Project.",
            "readOnly" : true
          },
          "canManageProject" : {
            "type" : "boolean",
            "description" : "Whether the current user can manage this Project.",
            "readOnly" : true
          },
          "canMoveProjectToPersonalSpace" : {
            "type" : "boolean",
            "description" : "Whether the current user can move this Project to their Personal Space.",
            "readOnly" : true
          },
          "canListProjectPermissions" : {
            "type" : "boolean",
            "description" : "Whether the current user can see who has access to this Project.",
            "readOnly" : true
          },
          "canEditProjectPermissions" : {
            "type" : "boolean",
            "description" : "Whether the current user can change who has access to this Project.",
            "readOnly" : true
          },
          "canShareProjectWithSpaceMembers" : {
            "type" : "boolean",
            "description" : "Whether the current user can share this project with users that have access to the Space.",
            "readOnly" : true
          },
          "canShareProjectWithOrganizationMembers" : {
            "type" : "boolean",
            "description" : "Whether the current user can share this project with members of the Organization.",
            "readOnly" : true
          },
          "canShareProjectWithAnyone" : {
            "type" : "boolean",
            "description" : "Whether the current user can share this project with any user of the platform.",
            "readOnly" : true
          },
          "canMakeProjectPublic" : {
            "type" : "boolean",
            "description" : "Whether the current user can make this project public.",
            "readOnly" : true
          },
          "canDeleteProject" : {
            "type" : "boolean",
            "description" : "Whether the current user can delete this Project.",
            "readOnly" : true
          }
        },
        "description" : "Permissions that the current user has on this Project. Each flag corresponds to a fine-grained action that a user may take."
      },
      "Storage" : {
        "type" : "object",
        "properties" : {
          "url" : {
            "type" : "string",
            "description" : "The URL of the temporary storage location.",
            "format" : "uri",
            "readOnly" : true
          },
          "storageId" : {
            "minLength" : 1,
            "type" : "string",
            "description" : "The storage ID."
          },
          "expiresAt" : {
            "type" : "string",
            "description" : "The expiration time.",
            "format" : "date-time"
          }
        },
        "example" : {
          "url" : "https://httpbin.org/anything/asdfghjk?KeyId=ABC123&Signature=aZ09%2B%2F%3D&x-security-token=F%2B5%2FX&Expires=1583334977",
          "storageId" : "qwertyuiop1234567890",
          "expiresAt" : "2020-03-04T15:16:17Z"
        }
      },
      "Permissions" : {
        "required" : [ "permissions" ],
        "type" : "object",
        "properties" : {
          "permissions" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Permission"
            }
          }
        }
      },
      "Permission" : {
        "required" : [ "permission", "scope" ],
        "type" : "object",
        "properties" : {
          "scope" : {
            "$ref" : "#/components/schemas/PermissionScope"
          },
          "permission" : {
            "$ref" : "#/components/schemas/PermissionLevel"
          }
        },
        "description" : "Represents an entry of an access control list"
      },
      "PermissionScope" : {
        "required" : [ "username" ],
        "type" : "object",
        "properties" : {
          "username" : {
            "type" : "string"
          }
        },
        "description" : "Information about the user to which this permission refers"
      },
      "PermissionLevel" : {
        "type" : "string",
        "description" : "The permission level:\n* `NONE`: The subject has no access to the resource.\n* `VIEW`: The subject has read-only access to the resource.\n* `COPY`: The subject has read-only access to the resource and can make copies of it.\n* `EDIT`: The subject can also make changes to the resource.\n* `FULL_ACCESS`: The subject can make changes to the resource and also has management capabilities.\n",
        "enum" : [ "NONE", "PREVIEW", "VIEW", "COPY", "EDIT", "FULL_ACCESS" ]
      },
      "Geometry" : {
        "type" : "object",
        "properties" : {
          "geometryId" : {
            "type" : "string",
            "format" : "uuid",
            "readOnly" : true
          },
          "name" : {
            "type" : "string",
            "description" : "The name of the geometry."
          },
          "createdAt" : {
            "type" : "string",
            "description" : "The time when the geometry was imported.",
            "format" : "date-time",
            "readOnly" : true
          },
          "format" : {
            "type" : "string",
            "description" : "The geometry format.",
            "readOnly" : true
          }
        },
        "example" : {
          "geometryId" : "159c159c-159c-159c-159c-159c159c159c",
          "name" : "My first geometry",
          "createdAt" : "2020-03-04T15:16:17Z",
          "format" : "STL"
        }
      },
      "Cad" : {
        "type" : "object",
        "properties" : {
          "cadId" : {
            "type" : "string",
            "description" : "The ID of the CAD.",
            "format" : "uuid",
            "readOnly" : true
          },
          "cadStateId" : {
            "type" : "string",
            "description" : "The ID of the current CAD state.",
            "format" : "uuid",
            "readOnly" : true
          },
          "name" : {
            "type" : "string",
            "description" : "The name of the CAD."
          },
          "createdAt" : {
            "type" : "string",
            "description" : "The time when the CAD was imported.",
            "format" : "date-time",
            "readOnly" : true
          },
          "format" : {
            "$ref" : "#/components/schemas/CadInternalFormat"
          }
        },
        "example" : {
          "cadId" : "159c159c-159c-159c-159c-159c159c159c",
          "cadStateId" : "249c249c-249c-249c-249c-249c249c249c",
          "name" : "My first CAD",
          "createdAt" : "2020-03-04T15:16:17Z",
          "format" : "STL"
        }
      },
      "Cads" : {
        "type" : "object",
        "properties" : {
          "_links" : {
            "$ref" : "#/components/schemas/CollectionLinks"
          },
          "_meta" : {
            "$ref" : "#/components/schemas/CollectionMeta"
          },
          "_embedded" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Cad"
            }
          }
        }
      },
      "CadState" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "Name of the CAD state.",
            "readOnly" : true
          },
          "format" : {
            "$ref" : "#/components/schemas/CadInternalFormat"
          },
          "faults" : {
            "type" : "object",
            "description" : "Faults in the CAD.",
            "readOnly" : true
          },
          "savedSelections" : {
            "type" : "array",
            "description" : "List of saved selections in the CAD state.",
            "items" : {
              "$ref" : "#/components/schemas/SavedSelection"
            }
          },
          "features" : {
            "type" : "array",
            "description" : "List of features in the CAD state.",
            "items" : {
              "$ref" : "#/components/schemas/CadFeature"
            }
          }
        }
      },
      "CreateSavedSelectionResponse" : {
        "type" : "object",
        "properties" : {
          "cadStateId" : {
            "type" : "string",
            "description" : "ID of the newly created CAD state.",
            "format" : "uuid",
            "readOnly" : true
          },
          "savedSelectionId" : {
            "type" : "string",
            "description" : "ID of the newly created saved selection.",
            "format" : "uuid",
            "readOnly" : true
          }
        }
      },
      "RenameCadRequest" : {
        "required" : [ "name" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "New CAD name."
          }
        }
      },
      "RenameCadResponse" : {
        "type" : "object",
        "properties" : {
          "cadStateId" : {
            "type" : "string",
            "description" : "ID of the newly created CAD state.",
            "format" : "uuid",
            "readOnly" : true
          }
        }
      },
      "DownloadOriginalCadResponse" : {
        "type" : "object",
        "properties" : {
          "url" : {
            "type" : "string",
            "description" : "The temporary url for downloading the the originally imported CAD file."
          },
          "urlExpiresAt" : {
            "type" : "string",
            "description" : "Expiration timestamp of the URL. Note that this timestamp is not a guarantee,\nif the url expired prematurely, please retry this request to get a new one.\n"
          }
        }
      },
      "CadTopology" : {
        "type" : "object",
        "properties" : {
          "_links" : {
            "$ref" : "#/components/schemas/CollectionLinks"
          },
          "_meta" : {
            "$ref" : "#/components/schemas/CollectionMeta"
          },
          "_embedded" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/EntityDescription"
            }
          }
        }
      },
      "GeometryImportRequest" : {
        "required" : [ "format", "inputUnit", "location", "name", "options" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "The name of the imported geometry."
          },
          "location" : {
            "required" : [ "storageId" ],
            "type" : "object",
            "properties" : {
              "storageId" : {
                "maxLength" : 255,
                "minLength" : 1,
                "type" : "string",
                "description" : "The storage ID of the temporary storage location where the CAD file has been uploaded."
              }
            }
          },
          "format" : {
            "type" : "string",
            "description" : "The CAD format.",
            "enum" : [ "ACIS", "CATIA", "CREO", "IGES", "INVENTOR", "NX", "PARASOLID", "REVIT", "RHINOCEROS", "SOLIDEDGE", "SOLIDWORKS", "STEP", "STL", "NTOP" ]
          },
          "inputUnit" : {
            "$ref" : "#/components/schemas/GeometryUnit"
          },
          "options" : {
            "required" : [ "facetSplit", "improve", "optimizeForLBMSolver", "sewing" ],
            "type" : "object",
            "properties" : {
              "facetSplit" : {
                "type" : "boolean",
                "description" : "_Facet Split_ tries to split the faceted parts of a model. This means it can create new faces from original faces.\nIn this case it's not possible to use the original faces to make assignments.\n",
                "default" : false
              },
              "sewing" : {
                "type" : "boolean",
                "description" : "_Automatic Sewing_ is sewing faces or sheet bodies together.\nThis means that it can create one new face from two (or more) original faces, as well as one solid body from two (or more) original sheet bodies.\nIn this case, if the entities have the same ID, it will be inherited by the newly created entity.\nHowever if the original entities do not share the same ID, only one of these will be mapped to the new entity.\nThis might not be desirable if one would like to make assignments on the original entities and not on the new (sewn) entities.\n",
                "default" : false
              },
              "improve" : {
                "type" : "boolean",
                "description" : "This option tries to improve the topology (e.g. edges, vertices) and geometry of the model by adjusting tolerances, simplifying entities, etc.\nAs this option should improve CAD operations and data handling for all downstream applications it is recommended to use it on import.\nFor very complex models it can take a considerable amount of time though, therefore you can also opt-out and reconsider in case you face issues in geometry handling or meshing.\n",
                "default" : true
              },
              "optimizeForLBMSolver" : {
                "type" : "boolean",
                "description" : "This option allows you to import a *.stl file that is optimized for the Incompressible LBM and Wind Comfort analysis types.\nIt leaves out complex import steps like sewing and cleanup that are not required by the LBM solver and therefore also allows to import big and complex models fast.\n",
                "default" : false
              }
            },
            "description" : "CAD import options. Please refer to https://www.simscale.com/docs/cad-preparation/#cad-upload-options for a detailed description of the options."
          }
        },
        "example" : {
          "name" : "My first geometry",
          "location" : {
            "storageId" : "qwertyuiop1234567890"
          },
          "format" : "STL",
          "inputUnit" : "m",
          "options" : {
            "facetSplit" : false,
            "sewing" : false,
            "improve" : true,
            "optimizeForLBMSolver" : true
          }
        }
      },
      "GeometryImportResponse" : {
        "title" : "GeometryImportResponse",
        "required" : [ "geometryImportId", "status" ],
        "type" : "object",
        "properties" : {
          "geometryImportId" : {
            "type" : "string",
            "description" : "The ID of the geometry import operation.",
            "format" : "uuid",
            "readOnly" : true
          },
          "status" : {
            "$ref" : "#/components/schemas/Status"
          },
          "geometryId" : {
            "type" : "string",
            "description" : "The ID of the imported geometry when the import succeeded.",
            "format" : "uuid",
            "readOnly" : true
          },
          "failureReason" : {
            "$ref" : "#/components/schemas/LogEntry"
          }
        },
        "example" : {
          "geometryImportId" : "f48bf48b-f48b-f48b-f48b-f48bf48bf48b",
          "status" : "FINISHED",
          "geometryId" : "159c159c-159c-159c-159c-159c159c159c",
          "failureReason" : null
        }
      },
      "CadImportRequest" : {
        "title" : "CadImportRequest",
        "required" : [ "format", "inputUnit", "location", "name", "options" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "The name of the imported CAD."
          },
          "location" : {
            "$ref" : "#/components/schemas/CadImportRequestLocation"
          },
          "format" : {
            "type" : "string",
            "description" : "The CAD format.",
            "enum" : [ "ACIS", "CATIA", "CREO", "IGES", "INVENTOR", "NX", "PARASOLID", "REVIT", "RHINOCEROS", "SOLIDEDGE", "SOLIDWORKS", "STEP", "STL", "NTOP" ]
          },
          "inputUnit" : {
            "$ref" : "#/components/schemas/CadUnit"
          },
          "options" : {
            "$ref" : "#/components/schemas/CadImportRequestOptions"
          }
        },
        "example" : {
          "name" : "My first CAD",
          "location" : {
            "storageId" : "qwertyuiop1234567890"
          },
          "format" : "STL",
          "inputUnit" : "m",
          "options" : {
            "facetSplit" : false,
            "sewing" : false,
            "improve" : true,
            "optimizeForLBMSolver" : true
          }
        }
      },
      "CadImportRequestLocation" : {
        "required" : [ "storageId" ],
        "type" : "object",
        "properties" : {
          "storageId" : {
            "maxLength" : 255,
            "minLength" : 1,
            "type" : "string",
            "description" : "The storage ID of the temporary storage location where the CAD file has been uploaded."
          }
        }
      },
      "CadImportRequestOptions" : {
        "required" : [ "facetSplit", "improve", "optimizeForLBMSolver", "sewing" ],
        "type" : "object",
        "properties" : {
          "facetSplit" : {
            "type" : "boolean",
            "description" : "_Facet Split_ tries to split the faceted parts of a CAD model. This means it can create new faces from original faces.\nIn this case it's not possible to use the original faces to make assignments.\n",
            "default" : false
          },
          "sewing" : {
            "type" : "boolean",
            "description" : "_Automatic Sewing_ is sewing faces or sheet bodies together.\nThis means that it can create one new face from two (or more) original faces, as well as one solid body from two (or more) original sheet bodies.\nIn this case, if the entities have the same ID, it will be inherited by the newly created entity.\nHowever if the original entities do not share the same ID, only one of these will be mapped to the new entity.\nThis might not be desirable if one would like to make assignments on the original entities and not on the new (sewn) entities.\n",
            "default" : false
          },
          "improve" : {
            "type" : "boolean",
            "description" : "This option tries to improve the topology (e.g. edges, vertices) and geometry of the model by adjusting tolerances, simplifying entities, etc.\nAs this option should improve CAD operations and data handling for all downstream applications it is recommended to use it on import.\nFor very complex models it can take a considerable amount of time though, therefore you can also opt-out and reconsider in case you face issues in geometry handling or meshing.\n",
            "default" : true
          },
          "optimizeForLBMSolver" : {
            "type" : "boolean",
            "description" : "This option allows you to import a *.stl file that is optimized for the Incompressible LBM and Wind Comfort analysis types.\nIt leaves out complex import steps like sewing and cleanup that are not required by the LBM solver and therefore also allows to import big and complex models fast.\n",
            "default" : false
          }
        },
        "description" : "CAD import options. Please refer to https://www.simscale.com/docs/cad-preparation/#cad-upload-options for a detailed description of the options."
      },
      "CadImportResponse" : {
        "title" : "CadImportResponse",
        "required" : [ "cadId", "cadStateId", "status" ],
        "type" : "object",
        "properties" : {
          "cadId" : {
            "type" : "string",
            "description" : "The ID of the CAD.",
            "format" : "uuid",
            "readOnly" : true
          },
          "status" : {
            "$ref" : "#/components/schemas/Status"
          },
          "cadStateId" : {
            "type" : "string",
            "description" : "The ID of the current CAD state. It can point to an empty CAD state in case the import is running or failed.",
            "format" : "uuid",
            "readOnly" : true
          },
          "failureReason" : {
            "$ref" : "#/components/schemas/LogEntry"
          }
        },
        "example" : {
          "cadId" : "f48bf48b-f48b-f48b-f48b-f48bf48bf48b",
          "status" : "FINISHED",
          "cadStateId" : "159c159c-159c-159c-159c-159c159c159c",
          "failureReason" : null
        }
      },
      "CreateSavedSelectionRequest" : {
        "required" : [ "entities", "name", "type" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "The name of the saved selection."
          },
          "type" : {
            "$ref" : "#/components/schemas/SavedSelectionType"
          },
          "entities" : {
            "type" : "array",
            "description" : "The entities included in the saved selection.",
            "items" : {
              "type" : "string"
            }
          }
        },
        "example" : {
          "name" : "My saved selection",
          "type" : "FACE",
          "entityIds" : [ "B1_TE36", "B1_TE37", "B1_TE38" ]
        }
      },
      "CadQueryResponse" : {
        "type" : "object",
        "properties" : {
          "status" : {
            "$ref" : "#/components/schemas/Status"
          },
          "result" : {
            "$ref" : "#/components/schemas/Cad.CadQueryResult"
          },
          "failureReason" : {
            "$ref" : "#/components/schemas/LogEntry"
          }
        },
        "example" : {
          "status" : "RUNNING",
          "result" : null,
          "failureReason" : null
        }
      },
      "CadFeatureResponse" : {
        "title" : "CadFeatureResponse",
        "required" : [ "status" ],
        "type" : "object",
        "properties" : {
          "cadStateId" : {
            "type" : "string",
            "description" : "The ID of the CAD state once completed.",
            "format" : "uuid",
            "readOnly" : true
          },
          "cadFeatureId" : {
            "type" : "string",
            "description" : "The ID of the CAD feature once completed.",
            "format" : "uuid",
            "readOnly" : true
          },
          "status" : {
            "$ref" : "#/components/schemas/Status"
          },
          "failureReason" : {
            "$ref" : "#/components/schemas/LogEntry"
          }
        },
        "example" : {
          "cadStateId" : "159c159c-159c-159c-159c-159c159c159c",
          "cadFeatureId" : "a57ca57c-a57c-a57c-a57c-a57ca57ca57c",
          "status" : "FINISHED",
          "failureReason" : null
        }
      },
      "SwapCadRequest" : {
        "required" : [ "sourceCadId", "sourceCadStateId", "targetCadId", "targetCadStateId" ],
        "type" : "object",
        "properties" : {
          "sourceCadId" : {
            "type" : "string",
            "description" : "The ID of the assigned CAD.",
            "format" : "uuid"
          },
          "sourceCadStateId" : {
            "type" : "string",
            "description" : "The ID of the assigned CAD state.",
            "format" : "uuid"
          },
          "targetCadId" : {
            "type" : "string",
            "description" : "The ID of the CAD to assign.",
            "format" : "uuid"
          },
          "targetCadStateId" : {
            "type" : "string",
            "description" : "The ID of the CAD state to assign.",
            "format" : "uuid"
          }
        },
        "example" : {
          "sourceCadId" : "9e8f7902-38b0-4992-aa82-a97cf51cb542",
          "sourceCadStateId" : "f769b7d4-35dc-4483-b4fc-5f09c84881d1",
          "targetCadId" : "2f2114b1-0949-4d39-bd40-3695fffbd8e3",
          "targetCadStateId" : "1190f708-1180-4403-b6f9-0205ad96ce5d"
        }
      },
      "SwapCadReport" : {
        "type" : "object",
        "properties" : {
          "unmappedPaths" : {
            "type" : "array",
            "description" : "List of unmapped assignments.",
            "items" : {
              "type" : "string"
            }
          },
          "partiallyMappedPaths" : {
            "type" : "array",
            "description" : "List of partially mapped assignments.",
            "items" : {
              "type" : "string"
            }
          }
        },
        "description" : "The report provides details on unsuccessful entity mappings found in the assignments. \nIdeally, this section should be empty, indicating that all entities were mapped correctly.\nPlease review the reported fields to verify and correct any discrepancies.\n",
        "example" : {
          "unmappedPaths" : [ "$.analysis.materials.fluids.0", "$.analysis.boundaryConditions.0" ],
          "partiallyMappedPaths" : [ "$.analysis.boundaryConditions.1" ]
        }
      },
      "Mesh" : {
        "type" : "object",
        "properties" : {
          "meshId" : {
            "type" : "string",
            "description" : "The ID of the mesh.",
            "format" : "uuid",
            "readOnly" : true
          },
          "name" : {
            "type" : "string",
            "description" : "The name of the mesh."
          },
          "createdAt" : {
            "type" : "string",
            "description" : "The time when the mesh was imported.",
            "format" : "date-time",
            "readOnly" : true
          },
          "numberOfCells" : {
            "minimum" : 0,
            "type" : "integer",
            "description" : "Number of cells of the mesh.",
            "readOnly" : true
          },
          "numberOfNodes" : {
            "minimum" : 0,
            "type" : "integer",
            "description" : "Number of nodes of the mesh.",
            "readOnly" : true
          }
        },
        "example" : {
          "meshId" : "159c159c-159c-159c-159c-159c159c159c",
          "name" : "My first mesh",
          "createdAt" : "2020-03-04T15:16:17Z",
          "numberOfCells" : 20000,
          "numberOfNodes" : 30000
        }
      },
      "SlimMeshOperation" : {
        "type" : "object",
        "properties" : {
          "meshOperationId" : {
            "type" : "string",
            "description" : "The mesh operation ID.",
            "format" : "uuid",
            "readOnly" : true
          },
          "name" : {
            "type" : "string",
            "description" : "The name of the mesh operation.",
            "readOnly" : true
          },
          "startedAt" : {
            "type" : "string",
            "description" : "The time the mesh operation was started.",
            "format" : "date-time",
            "readOnly" : true
          },
          "finishedAt" : {
            "type" : "string",
            "description" : "The time the mesh operation was finished.",
            "format" : "date-time",
            "readOnly" : true
          },
          "computeResource" : {
            "$ref" : "#/components/schemas/MeshOperationComputeResource"
          },
          "status" : {
            "$ref" : "#/components/schemas/Status"
          },
          "progress" : {
            "maximum" : 1,
            "minimum" : 0,
            "type" : "number",
            "description" : "The current progress while the mesh operation is in progress.",
            "readOnly" : true
          },
          "meshId" : {
            "type" : "string",
            "description" : "The ID of the generated mesh.",
            "format" : "uuid",
            "readOnly" : true
          }
        },
        "example" : {
          "meshOperationId" : "159c159c-159c-159c-159c-159c159c159c",
          "name" : "My Mesh Operation",
          "startedAt" : "2020-03-04T15:17:18Z",
          "finishedAt" : "2020-03-04T17:29:42Z",
          "computeResource" : {
            "type" : "GPU_HOURS",
            "value" : 0.27
          },
          "status" : "FINISHED",
          "progress" : 1,
          "meshId" : "159c159c-159c-159c-159c-159c159c159c"
        }
      },
      "MeshOperation" : {
        "required" : [ "model", "name", "version", "cadId", "stateId" ],
        "type" : "object",
        "properties" : {
          "meshOperationId" : {
            "type" : "string",
            "description" : "The mesh operation ID.",
            "format" : "uuid",
            "readOnly" : true
          },
          "name" : {
            "type" : "string",
            "description" : "The name of the mesh operation."
          },
          "version" : {
            "type" : "string",
            "description" : "The schema version of the mesh operation. This can be either the external version like `8.0`, or the internal version like `internal:53`.",
            "default" : "10.0"
          },
          "cadId" : {
            "type" : "string",
            "description" : "The ID of CAD input to the mesh operation.",
            "format" : "uuid"
          },
          "stateId" : {
            "type" : "string",
            "description" : "The ID of CAD state input to the mesh operation.",
            "format" : "uuid"
          },
          "model" : {
            "$ref" : "#/components/schemas/Meshing.Algorithm"
          },
          "createdAt" : {
            "type" : "string",
            "description" : "The time the mesh operation was created.",
            "format" : "date-time",
            "readOnly" : true
          },
          "modifiedAt" : {
            "type" : "string",
            "description" : "The time the mesh operation was last modified.",
            "format" : "date-time",
            "readOnly" : true
          },
          "startedAt" : {
            "type" : "string",
            "description" : "The time the mesh operation was started.",
            "format" : "date-time",
            "readOnly" : true
          },
          "finishedAt" : {
            "type" : "string",
            "description" : "The time the mesh operation was finished.",
            "format" : "date-time",
            "readOnly" : true
          },
          "computeResource" : {
            "$ref" : "#/components/schemas/MeshOperationComputeResource"
          },
          "status" : {
            "$ref" : "#/components/schemas/Status"
          },
          "progress" : {
            "maximum" : 1,
            "minimum" : 0,
            "type" : "number",
            "description" : "The current progress while the mesh operation is in progress.",
            "readOnly" : true
          },
          "meshId" : {
            "type" : "string",
            "description" : "The ID of the generated mesh.",
            "format" : "uuid",
            "readOnly" : true
          }
        },
        "example" : {
          "meshOperationId" : "159c159c-159c-159c-159c-159c159c159c",
          "name" : "My Mesh Operation",
          "version" : 18,
          "cadId" : "d0b816ef-3023-4e6c-84e9-e3a60130a146",
          "stateId" : "3f8c2f54-9c1a-4d7e-8c73-8e4b0b0c6a2b",
          "createdAt" : "2020-03-04T15:16:17Z",
          "startedAt" : "2020-03-04T15:17:18Z",
          "finishedAt" : "2020-03-04T17:29:42Z",
          "computeResource" : {
            "type" : "GPU_HOURS",
            "value" : 0.27
          },
          "model" : {
            "type" : "SIMMETRIX_MESHING_FLUID_V16",
            "sizing" : {
              "type" : "AUTOMATIC_V9",
              "fineness" : 3
            },
            "refinements" : [ ],
            "cellZones" : [ ],
            "automaticLayerSettings" : {
              "type" : "AUTOMATIC_LAYER_OFF"
            },
            "physicsBasedMeshing" : false,
            "hexCore" : true,
            "numOfProcessors" : -1,
            "advancedSimmetrixSettings" : {
              "smallFeatureTolerance" : {
                "value" : 1.0E-5,
                "unit" : "m"
              },
              "gapElements" : 0.05
            }
          },
          "status" : "FINISHED",
          "progress" : 1,
          "meshId" : "159c159c-159c-159c-159c-159c159c159c"
        }
      },
      "SavedSelection" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "The ID of the saved selection.",
            "format" : "uuid",
            "readOnly" : true
          },
          "name" : {
            "type" : "string",
            "description" : "The name of the saved selection.",
            "readOnly" : true
          },
          "type" : {
            "$ref" : "#/components/schemas/SavedSelectionType"
          },
          "entities" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          }
        },
        "example" : {
          "id" : "159c159c-159c-159c-159c-159c159c159c",
          "name" : "My Saved Selection",
          "type" : "FACE",
          "entities" : [ "B1_TE1", "B1_TE2", "B1_TE3" ]
        }
      },
      "CadFeature" : {
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "The ID of the CAD feature.",
            "format" : "uuid",
            "readOnly" : true
          },
          "type" : {
            "type" : "string",
            "description" : "The type of the CAD feature.",
            "readOnly" : true
          },
          "parameters" : {
            "type" : "object",
            "description" : "The parameters of the CAD feature.",
            "readOnly" : true
          },
          "status" : {
            "$ref" : "#/components/schemas/Status"
          },
          "depth" : {
            "type" : "integer",
            "description" : "The depth of the CAD feature in the feature list.",
            "format" : "int32",
            "readOnly" : true
          },
          "failureReason" : {
            "$ref" : "#/components/schemas/LogEntry"
          }
        },
        "example" : {
          "id" : "159c159c-159c-159c-159c-159c159c159c",
          "type" : "extrude_faces",
          "parameters" : {
            "faces" : [ "B1_TE248" ],
            "extrude_by" : {
              "selected" : "extrude_faces_mode_distance",
              "extrude_distance" : {
                "unit" : "m",
                "value" : 0.1
              }
            },
            "extrude_method" : "add_new"
          },
          "status" : "FINISHED",
          "depth" : 2
        }
      },
      "EntityDescription" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "The internal name of the entity."
          },
          "class" : {
            "type" : "string",
            "description" : "The topological entity class (body or face)."
          },
          "originateFrom" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/OriginalEntityReference"
            }
          }
        },
        "example" : {
          "name" : "B1_TE1",
          "class" : "body",
          "originateFrom" : [ {
            "path" : [ ],
            "body" : "CentralPark",
            "entity" : "Tower",
            "attributeList" : [ ]
          } ]
        }
      },
      "OriginalEntityReference" : {
        "type" : "object",
        "properties" : {
          "path" : {
            "type" : "array",
            "description" : "The path from the root of the model.",
            "items" : {
              "$ref" : "#/components/schemas/BodyPath"
            }
          },
          "body" : {
            "type" : "string",
            "description" : "The original body name."
          },
          "entity" : {
            "type" : "string",
            "description" : "The original entity name."
          },
          "attributeList" : {
            "type" : "array",
            "description" : "The attributes assigned to the entity.",
            "items" : {
              "$ref" : "#/components/schemas/EntityAttribute"
            }
          }
        }
      },
      "BodyPath" : {
        "type" : "object",
        "properties" : {
          "assembly" : {
            "type" : "string"
          },
          "instance" : {
            "type" : "string"
          }
        }
      },
      "EntityAttribute" : {
        "type" : "object",
        "properties" : {
          "attribute" : {
            "type" : "string"
          },
          "value" : {
            "type" : "string"
          }
        }
      },
      "TableImportRequest" : {
        "title" : "TableImportRequest",
        "required" : [ "location" ],
        "type" : "object",
        "properties" : {
          "location" : {
            "$ref" : "#/components/schemas/TableImportRequestLocation"
          }
        },
        "example" : {
          "location" : {
            "storageId" : "qwertyuiop1234567890"
          }
        }
      },
      "TableImportRequestLocation" : {
        "required" : [ "storageId" ],
        "type" : "object",
        "properties" : {
          "storageId" : {
            "maxLength" : 255,
            "minLength" : 1,
            "type" : "string",
            "description" : "The storage ID of the temporary storage location where the table has been uploaded."
          }
        }
      },
      "TableImportResponse" : {
        "title" : "TableImportResponse",
        "required" : [ "tableId" ],
        "type" : "object",
        "properties" : {
          "tableId" : {
            "type" : "string",
            "description" : "The ID of the imported table.",
            "format" : "uuid",
            "readOnly" : true
          }
        },
        "example" : {
          "tableId" : "159c159c-159c-159c-159c-159c159c159c"
        }
      },
      "GeometryPrimitiveResponse" : {
        "title" : "GeometryPrimitiveResponse",
        "required" : [ "geometryPrimitiveId" ],
        "type" : "object",
        "properties" : {
          "geometryPrimitiveId" : {
            "type" : "string",
            "description" : "The ID of the created geometry primitive.",
            "format" : "uuid",
            "readOnly" : true
          }
        },
        "example" : {
          "geometryPrimitiveId" : "159c159c-159c-159c-159c-159c159c159c"
        }
      },
      "SimulationSpec" : {
        "required" : [ "model", "name", "version", "cadId", "stateId" ],
        "type" : "object",
        "properties" : {
          "simulationId" : {
            "type" : "string",
            "format" : "uuid",
            "readOnly" : true
          },
          "name" : {
            "type" : "string"
          },
          "version" : {
            "type" : "string",
            "description" : "The schema version of the simulation spec. This can be either the external version like `30.0`, or the internal version like `internal:549`.",
            "default" : "34.0"
          },
          "createdAt" : {
            "type" : "string",
            "format" : "date-time",
            "readOnly" : true
          },
          "modifiedAt" : {
            "type" : "string",
            "format" : "date-time",
            "readOnly" : true
          },
          "cadId" : {
            "type" : "string",
            "description" : "The ID of CAD input to the simulation.",
            "format" : "uuid"
          },
          "stateId" : {
            "type" : "string",
            "description" : "The ID of CAD state input to the simulation.",
            "format" : "uuid"
          },
          "meshId" : {
            "type" : "string",
            "description" : "The generated mesh ID which is to be used in the simulation. This field should be left empty for analysis types that do not require a generated mesh like 'INCOMPRESSIBLE_PACEFISH', 'WIND_COMFORT', and 'SIMERICS_ANALYSIS'.",
            "format" : "uuid"
          },
          "model" : {
            "$ref" : "#/components/schemas/Simulation.Analysis"
          },
          "parameters" : {
            "$ref" : "#/components/schemas/Parametric.Parameters"
          }
        }
      },
      "MaterialUpdateResponse" : {
        "required" : [ "spec", "tables" ],
        "type" : "object",
        "properties" : {
          "spec" : {
            "$ref" : "#/components/schemas/SimulationSpec"
          },
          "tables" : {
            "$ref" : "#/components/schemas/Tables"
          }
        },
        "description" : "Material update response schema"
      },
      "MaterialUpdateOperation" : {
        "required" : [ "materialData", "path" ],
        "type" : "object",
        "properties" : {
          "path" : {
            "type" : "string",
            "description" : "JSON pointer (considering the `model` field as root) specifying where to add the material. If it points to a container (e.g. `/materials` or `/materials/solids`), the material will be added to that container.\nIf it points to an existing material instead (e.g. `/materials/0` or `/materials/solids/0`), the new material will replace the one the pointer points to.\n"
          },
          "materialData" : {
            "$ref" : "#/components/schemas/Material.MaterialResponse"
          },
          "materialSpec" : {
            "type" : "object",
            "description" : "Material spec object that will be used as the base to apply the physical properties passed in `materialData`."
          },
          "reference" : {
            "$ref" : "#/components/schemas/MaterialUpdateOperationReference"
          },
          "materialDataSources" : {
            "minItems" : 1,
            "type" : "array",
            "items" : {
              "type" : "string",
              "enum" : [ "MATERIAL_LIBRARY_DATA", "SPEC_DATA", "SCHEMA_DEFAULT" ]
            },
            "default" : [ "MATERIAL_LIBRARY_DATA", "SPEC_DATA" ]
          }
        },
        "description" : "Material update operation, which can be either updating an existing material in the spec, or adding a new one. See the `path` property to learn how add/update operations are distinguished.\n"
      },
      "MaterialUpdateOperationReference" : {
        "type" : "object",
        "properties" : {
          "materialGroupId" : {
            "type" : "string",
            "description" : "Identifier of the material group",
            "example" : "internal:ef304761-dbde-495e-9891-9ee85e809cd5"
          },
          "materialId" : {
            "type" : "string",
            "description" : "Identifier of the material",
            "example" : "internal:69bb2bf0-6743-4bf8-b926-c0e447eeeeee"
          },
          "interpolationParameters" : {
            "$ref" : "#/components/schemas/InterpolationParameters"
          }
        },
        "description" : "Reference identifiers of the provided material and its material group"
      },
      "Tables" : {
        "type" : "array",
        "description" : "Tables containing parametric values, created during the material update operation(s). These tables are going to be used by the solvers during the simulation runs.",
        "items" : {
          "$ref" : "#/components/schemas/Table"
        }
      },
      "Table" : {
        "required" : [ "data", "id" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "format" : "uuid"
          },
          "data" : {
            "$ref" : "#/components/schemas/TableData"
          }
        }
      },
      "TableData" : {
        "required" : [ "columnLabels", "rows" ],
        "type" : "object",
        "properties" : {
          "columnLabels" : {
            "type" : "array",
            "description" : "List of the table's columns",
            "items" : {
              "type" : "string"
            }
          },
          "rows" : {
            "type" : "array",
            "description" : "Array of table rows.",
            "items" : {
              "$ref" : "#/components/schemas/TableRow"
            }
          }
        },
        "description" : "Table data"
      },
      "TableRow" : {
        "required" : [ "elements" ],
        "type" : "object",
        "properties" : {
          "elements" : {
            "type" : "array",
            "description" : "Values of the current row. These values are in the order specified by the `columnLabels` field.",
            "items" : {
              "type" : "string"
            }
          }
        }
      },
      "InterpolationParameters" : {
        "type" : "object",
        "additionalProperties" : {
          "required" : [ "unit", "value" ],
          "type" : "object",
          "properties" : {
            "value" : {
              "type" : "number",
              "description" : "Numerical value of the property."
            },
            "unit" : {
              "type" : "string",
              "description" : "Unit of the property."
            }
          },
          "description" : "Value-unit pairs for the specified property."
        },
        "description" : "Parameters taken into account when some material property values need to be interpolated. When this object is part of a request, the parameters will be taken into account during interpolation,\nwhile when it's part of the response, the parameters show the values which were used (if any) during the interpolation. Note that the values used during interpolation might differ from what is requested.\n",
        "example" : "{'temperature': {'value': 150.0, 'unit': '℃'}}"
      },
      "Simulation" : {
        "type" : "object",
        "properties" : {
          "simulationId" : {
            "type" : "string",
            "format" : "uuid",
            "readOnly" : true
          },
          "name" : {
            "type" : "string",
            "description" : "The name of the simulation."
          }
        },
        "example" : {
          "simulationId" : "260d260d-260d-260d-260d-260d260d260d",
          "name" : "My first simulation"
        }
      },
      "WindData" : {
        "required" : [ "name" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "The name of the newly created simulation run."
          }
        },
        "example" : {
          "name" : "PWC with new wind data"
        }
      },
      "SimulationRun" : {
        "required" : [ "name" ],
        "type" : "object",
        "properties" : {
          "runId" : {
            "type" : "string",
            "format" : "uuid",
            "readOnly" : true
          },
          "name" : {
            "type" : "string",
            "description" : "The name of the simulation run."
          },
          "createdAt" : {
            "type" : "string",
            "description" : "The time when the simulation run was created.",
            "format" : "date-time",
            "readOnly" : true
          },
          "startedAt" : {
            "type" : "string",
            "description" : "The time when the simulation run was started.",
            "format" : "date-time",
            "readOnly" : true
          },
          "finishedAt" : {
            "type" : "string",
            "description" : "The time when the simulation run was finished.",
            "format" : "date-time",
            "readOnly" : true
          },
          "duration" : {
            "type" : "string",
            "description" : "The actual duration of the simulation run.",
            "format" : "duration",
            "readOnly" : true
          },
          "computeResource" : {
            "$ref" : "#/components/schemas/SimulationRunComputeResource"
          },
          "status" : {
            "$ref" : "#/components/schemas/Status"
          },
          "progress" : {
            "maximum" : 1,
            "minimum" : 0,
            "type" : "number",
            "description" : "The current progress while the simulation run is in progress.",
            "readOnly" : true
          }
        },
        "example" : {
          "runId" : "37ae37ae-37ae-37ae-37ae-37ae37ae37ae",
          "name" : "My first simulation run",
          "createdAt" : "2020-03-04T15:16:17Z",
          "startedAt" : "2020-03-04T15:17:18Z",
          "finishedAt" : "2020-03-04T17:29:42Z",
          "duration" : "PT2H12M14S",
          "computeResource" : {
            "type" : "GPU_HOURS",
            "value" : 0.27
          },
          "status" : "FINISHED",
          "progress" : 1,
          "isContinuable" : false
        }
      },
      "SimulationRunComputeResource" : {
        "type" : "object",
        "properties" : {
          "type" : {
            "$ref" : "#/components/schemas/ComputeResourceType"
          },
          "value" : {
            "type" : "number",
            "format" : "double",
            "readOnly" : true
          }
        },
        "description" : "The actual compute resources (CPUh or GPUh) consumed by the simulation run.",
        "readOnly" : true
      },
      "MeshOperationComputeResource" : {
        "type" : "object",
        "properties" : {
          "type" : {
            "$ref" : "#/components/schemas/ComputeResourceType"
          },
          "value" : {
            "type" : "number",
            "format" : "double",
            "readOnly" : true
          }
        },
        "description" : "The actual compute resources (CPUh only) consumed by the mesh operation.",
        "readOnly" : true
      },
      "SimulationRunResultType" : {
        "title" : "Type",
        "type" : "string",
        "description" : "The result type.\nThe possible values are SOLUTION_FIELD, CONVERGENCE_PLOT, PLOT, TABLE.\n",
        "readOnly" : true
      },
      "SimulationRunResultCategory" : {
        "title" : "Category",
        "type" : "string",
        "description" : "The result category.\nFor solution fields values include 'SOLUTION', 'AVERAGED_SOLUTION', 'TRANSIENT_SOLUTION', 'STATISTICAL_SURFACE_SOLUTION', etc.\nFor convergence plots values include 'RESIDUALS_PLOT', 'NUMBER_OF_NEWTON_ITERATIONS', etc.\nFor plots values include 'FORCE_PLOT', 'MOMENT_PLOT', 'FORCE_COEFFICIENTS_PLOT', 'PROBE_POINT_PLOT', 'AREA_AVERAGE', 'FACE_CALC', etc.\n",
        "readOnly" : true
      },
      "SimulationRunResultQuantity" : {
        "title" : "Quantity",
        "type" : "string",
        "description" : "The result quantity, only applies to plot result types.\nValid values include 'Ux', 'Uy', 'Uz', 'p', 'k', 'omega', 'T', 'displacement', 'von Mises stress', etc.\n",
        "readOnly" : true
      },
      "SimulationRunResultName" : {
        "title" : "Name",
        "type" : "string",
        "description" : "The name that was defined for extra simulation result outputs",
        "readOnly" : true
      },
      "SimulationRunResultDirection" : {
        "title" : "Direction",
        "type" : "number",
        "description" : "The result direction, only applies to Pedestrian Wind Comfort analysis",
        "readOnly" : true
      },
      "OneOfSimulationRunResult" : {
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "SOLUTION_FIELD" : "#/components/schemas/SimulationRunResultSolution",
            "CONVERGENCE_PLOT" : "#/components/schemas/SimulationRunResultConvergencePlot",
            "PLOT" : "#/components/schemas/SimulationRunResultPlot",
            "TABLE" : "#/components/schemas/SimulationRunResultTable"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/SimulationRunResultSolution"
        }, {
          "$ref" : "#/components/schemas/SimulationRunResultConvergencePlot"
        }, {
          "$ref" : "#/components/schemas/SimulationRunResultPlot"
        }, {
          "$ref" : "#/components/schemas/SimulationRunResultTable"
        } ]
      },
      "SimulationRunResultSolution" : {
        "title" : "Solution",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "type" : "string",
            "default" : "SOLUTION_FIELD"
          },
          "resultId" : {
            "type" : "string",
            "description" : "The result ID",
            "format" : "uuid"
          },
          "category" : {
            "$ref" : "#/components/schemas/SimulationRunResultCategory"
          },
          "direction" : {
            "$ref" : "#/components/schemas/SimulationRunResultDirection"
          },
          "modifiedAt" : {
            "type" : "string",
            "description" : "The time when the result was last modified.",
            "format" : "date-time",
            "readOnly" : true
          },
          "workbenchUrl" : {
            "type" : "string",
            "description" : "URL for opening the solution fields in the Workbench.",
            "format" : "uri",
            "readOnly" : true
          },
          "availableExportFormats" : {
            "type" : "array",
            "description" : "Supported export format for this result.",
            "items" : {
              "type" : "string"
            }
          }
        }
      },
      "SimulationRunResultConvergencePlot" : {
        "title" : "Convergence Plot",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "type" : "string",
            "default" : "CONVERGENCE_PLOT"
          },
          "resultId" : {
            "type" : "string",
            "description" : "The result ID",
            "format" : "uuid"
          },
          "category" : {
            "$ref" : "#/components/schemas/SimulationRunResultCategory"
          },
          "direction" : {
            "$ref" : "#/components/schemas/SimulationRunResultDirection"
          },
          "modifiedAt" : {
            "type" : "string",
            "description" : "The time when the result was last modified.",
            "format" : "date-time",
            "readOnly" : true
          },
          "workbenchUrl" : {
            "type" : "string",
            "description" : "URL for opening the convergence plot in the Workbench.",
            "format" : "uri",
            "readOnly" : true
          },
          "availableExportFormats" : {
            "type" : "array",
            "description" : "Supported export format for this result.",
            "items" : {
              "type" : "string"
            }
          }
        }
      },
      "SimulationRunResultPlot" : {
        "title" : "Plot",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "type" : "string",
            "default" : "PLOT"
          },
          "resultId" : {
            "type" : "string",
            "description" : "The result ID",
            "format" : "uuid"
          },
          "category" : {
            "$ref" : "#/components/schemas/SimulationRunResultCategory"
          },
          "direction" : {
            "$ref" : "#/components/schemas/SimulationRunResultDirection"
          },
          "quantity" : {
            "$ref" : "#/components/schemas/SimulationRunResultQuantity"
          },
          "name" : {
            "$ref" : "#/components/schemas/SimulationRunResultName"
          },
          "modifiedAt" : {
            "type" : "string",
            "description" : "The time when the result was last modified.",
            "format" : "date-time",
            "readOnly" : true
          },
          "workbenchUrl" : {
            "type" : "string",
            "description" : "URL for opening the plot in the Workbench.",
            "format" : "uri",
            "readOnly" : true
          },
          "availableExportFormats" : {
            "type" : "array",
            "description" : "Supported export format for this result.",
            "items" : {
              "type" : "string"
            }
          }
        }
      },
      "SimulationRunResultTable" : {
        "title" : "Table",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "type" : "string",
            "default" : "TABLE"
          },
          "resultId" : {
            "type" : "string",
            "description" : "The result ID",
            "format" : "uuid"
          },
          "category" : {
            "$ref" : "#/components/schemas/SimulationRunResultCategory"
          },
          "direction" : {
            "$ref" : "#/components/schemas/SimulationRunResultDirection"
          },
          "name" : {
            "$ref" : "#/components/schemas/SimulationRunResultName"
          },
          "modifiedAt" : {
            "type" : "string",
            "description" : "The time when the result was last modified.",
            "format" : "date-time",
            "readOnly" : true
          },
          "workbenchUrl" : {
            "type" : "string",
            "description" : "URL for opening the table in the Workbench.",
            "format" : "uri",
            "readOnly" : true
          },
          "availableExportFormats" : {
            "type" : "array",
            "description" : "Supported export format for this result.",
            "items" : {
              "type" : "string"
            }
          }
        }
      },
      "Estimation" : {
        "type" : "object",
        "properties" : {
          "duration" : {
            "$ref" : "#/components/schemas/Duration"
          },
          "computeResource" : {
            "$ref" : "#/components/schemas/ComputeResource"
          },
          "cellCount" : {
            "$ref" : "#/components/schemas/CellCount"
          },
          "totalRunCount" : {
            "type" : "integer",
            "description" : "The total number of jobs that will be triggered for this simulation run or mesh operation.",
            "readOnly" : true
          }
        },
        "example" : {
          "duration" : {
            "value" : "PT2H12M14S",
            "intervalMin" : "PT1H12M14S",
            "intervalMax" : "PT3H12M14S"
          },
          "computeResource" : {
            "type" : "GPU_HOURS",
            "value" : 0.27,
            "intervalMin" : 0.22,
            "intervalMax" : 0.32
          },
          "cellCount" : {
            "type" : "CELLS",
            "value" : 5361155,
            "intervalMin" : 4288924,
            "intervalMax" : 6433386
          },
          "totalRunCount" : 1
        }
      },
      "Duration" : {
        "type" : "object",
        "properties" : {
          "value" : {
            "type" : "string",
            "format" : "duration",
            "readOnly" : true
          },
          "intervalMin" : {
            "type" : "string",
            "format" : "duration",
            "readOnly" : true
          },
          "intervalMax" : {
            "type" : "string",
            "format" : "duration",
            "readOnly" : true
          }
        },
        "description" : "An interval with the estimated duration for a simulation run or a mesh operation."
      },
      "ComputeResource" : {
        "type" : "object",
        "properties" : {
          "type" : {
            "$ref" : "#/components/schemas/ComputeResourceType"
          },
          "value" : {
            "type" : "number",
            "format" : "double",
            "readOnly" : true
          },
          "intervalMin" : {
            "type" : "number",
            "format" : "double",
            "readOnly" : true
          },
          "intervalMax" : {
            "type" : "number",
            "format" : "double",
            "readOnly" : true
          }
        },
        "description" : "An interval with the estimated compute resources (CPUh or GPUh) required to run the simulation."
      },
      "CellCount" : {
        "type" : "object",
        "properties" : {
          "type" : {
            "type" : "string",
            "readOnly" : true,
            "enum" : [ "CELLS" ]
          },
          "value" : {
            "type" : "integer",
            "format" : "int64",
            "readOnly" : true
          },
          "intervalMin" : {
            "type" : "integer",
            "format" : "int64",
            "readOnly" : true
          },
          "intervalMax" : {
            "type" : "integer",
            "format" : "int64",
            "readOnly" : true
          }
        },
        "description" : "An interval with the estimated cell count of the generated mesh."
      },
      "CollectionLinks" : {
        "title" : "Collection Links",
        "type" : "object",
        "properties" : {
          "first" : {
            "type" : "object",
            "properties" : {
              "href" : {
                "type" : "string",
                "description" : "First page of the collection.",
                "readOnly" : true,
                "example" : "/projects?page={firstPage}&limit={limit}"
              }
            }
          },
          "prev" : {
            "type" : "object",
            "properties" : {
              "href" : {
                "type" : "string",
                "description" : "Previous page in the collection.",
                "readOnly" : true,
                "example" : "/projects?page={previousPage}&limit={limit}"
              }
            }
          },
          "self" : {
            "type" : "object",
            "properties" : {
              "href" : {
                "type" : "string",
                "description" : "Current page of the collection.",
                "readOnly" : true,
                "example" : "/projects?page={currentPage}&limit={limit}"
              }
            }
          },
          "next" : {
            "type" : "object",
            "properties" : {
              "href" : {
                "type" : "string",
                "description" : "Next page in the collection.",
                "readOnly" : true,
                "example" : "/projects?page={nextPage}&limit={limit}"
              }
            }
          },
          "last" : {
            "type" : "object",
            "properties" : {
              "href" : {
                "type" : "string",
                "description" : "Last page of the collection.",
                "readOnly" : true,
                "example" : "/projects?page={lastPage}&limit={limit}"
              }
            }
          }
        }
      },
      "CollectionMeta" : {
        "title" : "Collection Meta Data",
        "type" : "object",
        "properties" : {
          "total" : {
            "type" : "integer",
            "description" : "Total number of resources in the collection.",
            "readOnly" : true
          }
        }
      },
      "ErrorResponse" : {
        "title" : "Error response",
        "type" : "object",
        "example" : {
          "severity" : "ERROR",
          "code" : "invalid-input",
          "message" : "description: invalid text input",
          "details" : {
            "path" : "$.description"
          },
          "entries" : [ {
            "severity" : "ERROR",
            "code" : "invalid-input",
            "message" : "Invalid text input",
            "details" : {
              "path" : "$.name"
            }
          }, {
            "severity" : "ERROR",
            "code" : "invalid-input",
            "message" : "Size must be between 0 and 250",
            "details" : {
              "path" : "$.description"
            }
          } ],
          "trace" : "abcd1234"
        },
        "allOf" : [ {
          "$ref" : "#/components/schemas/LogEntry"
        }, {
          "type" : "object",
          "properties" : {
            "entries" : {
              "minimum" : 1,
              "type" : "array",
              "readOnly" : true,
              "items" : {
                "$ref" : "#/components/schemas/LogEntry"
              }
            },
            "trace" : {
              "type" : "string",
              "readOnly" : true
            }
          }
        } ]
      },
      "EventLogResponse" : {
        "title" : "Event log response",
        "required" : [ "entries" ],
        "type" : "object",
        "properties" : {
          "entries" : {
            "type" : "array",
            "readOnly" : true,
            "items" : {
              "$ref" : "#/components/schemas/LogEntry"
            }
          }
        },
        "example" : {
          "severity" : "ERROR",
          "entries" : [ {
            "severity" : "INFO",
            "code" : "MSG_NUMBER_OF_SIMULATION_CELLS",
            "message" : "Number of simulation cells: 12345"
          }, {
            "severity" : "SUCCESS",
            "code" : "MSG_OF_RUN_FINISHED",
            "message" : "Run finished."
          }, {
            "severity" : "WARNING",
            "code" : "MSG_WARN_INCORRECT_RESOLUTION_FOR_TURBULENCE_MODEL",
            "message" : "Mesh resolution might not be sufficient for correct turbulence modeling. Please check your results and consider refining the mesh. (Directions: 0.0, 90.0, 180.0, 270.0)"
          }, {
            "severity" : "ERROR",
            "code" : "MSG_SYSTEM_FAILURE"
          } ]
        }
      },
      "CheckResponse" : {
        "title" : "Simulation check response",
        "required" : [ "entries", "severity" ],
        "type" : "object",
        "properties" : {
          "severity" : {
            "$ref" : "#/components/schemas/LogSeverity"
          },
          "entries" : {
            "type" : "array",
            "readOnly" : true,
            "items" : {
              "$ref" : "#/components/schemas/LogEntry"
            }
          }
        },
        "example" : {
          "severity" : "WARNING",
          "entries" : [ {
            "severity" : "WARNING",
            "code" : "increase-simulation-end-time-to-ensure-2-fluid-passes",
            "message" : "End time should be increased by at least 195 s ...",
            "details" : {
              "path" : "$.model.simulationControl.endTime",
              "topoEntities" : [ ]
            }
          } ]
        }
      },
      "LogEntry" : {
        "required" : [ "code", "message", "severity" ],
        "type" : "object",
        "properties" : {
          "severity" : {
            "$ref" : "#/components/schemas/LogSeverity"
          },
          "code" : {
            "type" : "string",
            "description" : "Code for e.g. programmatic handling of error conditions.",
            "readOnly" : true
          },
          "message" : {
            "type" : "string",
            "description" : "Human-readable description of the entry.",
            "readOnly" : true
          },
          "details" : {
            "type" : "object",
            "additionalProperties" : true,
            "description" : "Additional data to interpret and handle the entry.",
            "readOnly" : true
          }
        }
      },
      "LogSeverity" : {
        "type" : "string",
        "readOnly" : true,
        "enum" : [ "INFO", "SUCCESS", "WARNING", "ERROR" ]
      },
      "GeometryUnit" : {
        "title" : "GeometryUnit",
        "type" : "string",
        "default" : "m",
        "enum" : [ "m", "cm", "mm", "ft", "in", "yd" ]
      },
      "CadUnit" : {
        "title" : "CadUnit",
        "type" : "string",
        "default" : "m",
        "enum" : [ "m", "cm", "mm", "ft", "in", "yd" ]
      },
      "CadInternalFormat" : {
        "title" : "CadInternalFormat",
        "type" : "string",
        "description" : "The CAD internal format in SimScale.",
        "enum" : [ "PARASOLID", "STL", "NTOP" ]
      },
      "SavedSelectionType" : {
        "title" : "SavedSelectionType",
        "type" : "string",
        "description" : "The type of the entities contained in the saved selection.",
        "enum" : [ "VOLUME", "FACE", "EDGE", "NODE" ]
      },
      "ComputeResourceType" : {
        "type" : "string",
        "readOnly" : true,
        "enum" : [ "CPU_HOURS", "GPU_HOURS" ]
      },
      "Status" : {
        "type" : "string",
        "description" : "Status of the operation.",
        "readOnly" : true,
        "enum" : [ "READY", "QUEUED", "RUNNING", "FINISHED", "CANCELED", "FAILED" ]
      },
      "ReportDownload" : {
        "type" : "object",
        "properties" : {
          "format" : {
            "type" : "string",
            "description" : "The result format.\nValid values include `OPEN_FOAM`, `ENSIGHT_GOLD`, `PVD`, `VTM`, `CSV`.\n",
            "readOnly" : true
          },
          "uncompressedSizeInBytes" : {
            "type" : "integer",
            "description" : "The uncompressed size of the result content.",
            "format" : "int64",
            "readOnly" : true
          },
          "url" : {
            "type" : "string",
            "description" : "URL for downloading the result content.",
            "format" : "uri",
            "readOnly" : true
          },
          "compression" : {
            "type" : "string",
            "description" : "The compression used for the result download archive.",
            "readOnly" : true,
            "enum" : [ "NONE", "ZIP64" ]
          }
        }
      },
      "DataId" : {
        "type" : "string",
        "description" : "Data identifier. It is a string composed of the type identifier and a UUID: `data:[UUID]`.",
        "example" : "data:3fa85f64-5717-4562-b3fc-2c963f66afa6"
      },
      "WorkflowId" : {
        "type" : "string",
        "description" : "Workflow identifier. It is a string composed of the type identifier and a UUID: `workflow:[UUID]`.",
        "example" : "workflow:3fa85f64-5717-4562-b3fc-2c963f66afa6"
      },
      "WorkflowVersionId" : {
        "type" : "string",
        "description" : "Workflow version identifier. It is a string composed of the type identifier and a UUID: `workflow.version:[UUID]`.",
        "example" : "workflow.version:3fa85f64-5717-4562-b3fc-2c963f66afa6"
      },
      "WorkflowRunId" : {
        "type" : "string",
        "description" : "Workflow run identifier. It is a string composed of the type identifier and a UUID: `workflow.run:[UUID]`.",
        "example" : "workflow.run:3fa85f64-5717-4562-b3fc-2c963f66afa6"
      },
      "MaterialUpdateRequest" : {
        "required" : [ "operations" ],
        "type" : "object",
        "properties" : {
          "operations" : {
            "minItems" : 1,
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/MaterialUpdateOperation"
            }
          }
        },
        "description" : "Material update request schema"
      },
      "WindRoseResponse" : {
        "required" : [ "windRose" ],
        "type" : "object",
        "properties" : {
          "windRose" : {
            "$ref" : "#/components/schemas/Simulation.WindRose"
          }
        },
        "description" : "Wrapper containing WindRose schema"
      },
      "CreateExportRequest" : {
        "required" : [ "format", "resultId" ],
        "type" : "object",
        "properties" : {
          "resultId" : {
            "type" : "string",
            "description" : "The result to be exported",
            "format" : "uuid"
          },
          "format" : {
            "type" : "string",
            "description" : "The format to export to"
          }
        }
      },
      "CreateExportResponse" : {
        "type" : "object",
        "properties" : {
          "exportId" : {
            "type" : "string",
            "format" : "uuid"
          },
          "resultId" : {
            "type" : "string",
            "description" : "The result to be exported",
            "format" : "uuid"
          },
          "format" : {
            "type" : "string",
            "description" : "The format to export to"
          },
          "status" : {
            "type" : "string",
            "description" : "RUNNING - Export is still in progress\nDONE - Export is done and ready for download\nFAILED - Export failed, please retry or contact support\nEXPIRED - Export is expired, please trigger a new export for the result\n"
          },
          "errorCode" : {
            "type" : "string"
          }
        }
      },
      "GetExportResponse" : {
        "type" : "object",
        "properties" : {
          "exportId" : {
            "type" : "string",
            "format" : "uuid"
          },
          "status" : {
            "type" : "string",
            "description" : "RUNNING - Export is still in progress\nDONE - Export is done and ready for download\nFAILED - Export failed, please retry or contact support\nEXPIRED - Export is expired, please trigger a new export for the result\n"
          },
          "url" : {
            "type" : "string",
            "description" : "The temporary url for downloading the exported result, only set when status is DONE."
          },
          "urlExpiresAt" : {
            "type" : "string",
            "description" : "Timestamp that the url will be expired, only set when status is DONE.\nNote that this timestamp is not a guarantee, if the url expired prematurely, please retry this request to get a new one.\n"
          },
          "errorCode" : {
            "type" : "string"
          }
        }
      },
      "Parametric.Parameters" : {
        "type" : "object",
        "additionalProperties" : {
          "$ref" : "#/components/schemas/Parametric.OneOf_Parameters"
        }
      },
      "Parametric.ParameterWithValues" : {
        "required" : [ "valueSource" ],
        "type" : "object",
        "properties" : {
          "valueSource" : {
            "type" : "string",
            "description" : "Schema name: ParameterWithValues",
            "default" : "CONFIGURATION"
          },
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "path" : {
            "type" : "string",
            "format" : "json-pointer"
          },
          "values" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Parametric.AnyOf_ParameterWithValuesValues"
            }
          }
        },
        "additionalProperties" : false
      },
      "Parametric.ParameterWithValueGenerator" : {
        "required" : [ "valueSource" ],
        "type" : "object",
        "properties" : {
          "valueSource" : {
            "type" : "string",
            "description" : "Schema name: ParameterWithValueGenerator",
            "default" : "GENERATOR"
          },
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "path" : {
            "type" : "string",
            "format" : "json-pointer"
          },
          "valueGenerator" : {
            "$ref" : "#/components/schemas/Parametric.NumericalSequenceParameterValueGenerator"
          }
        },
        "additionalProperties" : false
      },
      "Parametric.NumericalSequenceParameterValueGenerator" : {
        "required" : [ "inclusive", "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: NumericalSequenceParameterValueGenerator",
            "default" : "NUMERICAL_SEQUENCE"
          },
          "start" : {
            "type" : "number"
          },
          "end" : {
            "type" : "number"
          },
          "step" : {
            "type" : "number"
          },
          "inclusive" : {
            "type" : "boolean"
          }
        },
        "additionalProperties" : false
      },
      "Parametric.OneOf_Parameters" : {
        "discriminator" : {
          "propertyName" : "valueSource",
          "mapping" : {
            "CONFIGURATION" : "#/components/schemas/Parametric.ParameterWithValues",
            "GENERATOR" : "#/components/schemas/Parametric.ParameterWithValueGenerator"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Parametric.ParameterWithValues"
        }, {
          "$ref" : "#/components/schemas/Parametric.ParameterWithValueGenerator"
        } ]
      },
      "Parametric.AnyOf_ParameterWithValuesValues" : {
        "anyOf" : [ {
          "type" : "string"
        }, {
          "type" : "number"
        }, {
          "type" : "integer"
        }, {
          "type" : "object"
        }, {
          "type" : "array",
          "items" : { }
        }, {
          "type" : "boolean"
        } ]
      },
      "GeometryPrimitive.GeometryPrimitive" : {
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "CARTESIAN_BOX" : "#/components/schemas/GeometryPrimitive.CartesianBox",
            "ROTATABLE_CARTESIAN_BOX" : "#/components/schemas/GeometryPrimitive.RotatableCartesianBox",
            "LOCAL_CARTESIAN_BOX" : "#/components/schemas/GeometryPrimitive.LocalCartesianBox",
            "SPHERE" : "#/components/schemas/GeometryPrimitive.Sphere",
            "LOCAL_SPHERE" : "#/components/schemas/GeometryPrimitive.LocalSphere",
            "CYLINDER" : "#/components/schemas/GeometryPrimitive.Cylinder",
            "POINT" : "#/components/schemas/GeometryPrimitive.Point",
            "BOX" : "#/components/schemas/GeometryPrimitive.Box",
            "HALF_SPACE" : "#/components/schemas/GeometryPrimitive.HalfSpace",
            "LOCAL_HALF_SPACE" : "#/components/schemas/GeometryPrimitive.LocalHalfSpace"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/GeometryPrimitive.CartesianBox"
        }, {
          "$ref" : "#/components/schemas/GeometryPrimitive.RotatableCartesianBox"
        }, {
          "$ref" : "#/components/schemas/GeometryPrimitive.LocalCartesianBox"
        }, {
          "$ref" : "#/components/schemas/GeometryPrimitive.Sphere"
        }, {
          "$ref" : "#/components/schemas/GeometryPrimitive.LocalSphere"
        }, {
          "$ref" : "#/components/schemas/GeometryPrimitive.Cylinder"
        }, {
          "$ref" : "#/components/schemas/GeometryPrimitive.Point"
        }, {
          "$ref" : "#/components/schemas/GeometryPrimitive.Box"
        }, {
          "$ref" : "#/components/schemas/GeometryPrimitive.HalfSpace"
        }, {
          "$ref" : "#/components/schemas/GeometryPrimitive.LocalHalfSpace"
        } ]
      },
      "GeometryPrimitive.CartesianBox" : {
        "title" : "Cartesian box",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: CartesianBox",
            "default" : "CARTESIAN_BOX"
          },
          "id" : {
            "title" : "Id",
            "type" : "string",
            "format" : "uuid"
          },
          "name" : {
            "title" : "Name",
            "pattern" : "^[A-Za-z()][-+0-9a-zA-Z_()\\h]{0,199}$",
            "type" : "string"
          },
          "min" : {
            "$ref" : "#/components/schemas/GeometryPrimitive.DimensionalVector_Length"
          },
          "max" : {
            "$ref" : "#/components/schemas/GeometryPrimitive.DimensionalVector_Length"
          }
        },
        "additionalProperties" : false
      },
      "GeometryPrimitive.DimensionalVector_Length" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "$ref" : "#/components/schemas/GeometryPrimitive.DecimalVector"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "m", "in", "mm", "cm", "ft", "yd" ]
          }
        },
        "additionalProperties" : false
      },
      "GeometryPrimitive.DecimalVector" : {
        "type" : "object",
        "properties" : {
          "x" : {
            "title" : "X",
            "type" : "number"
          },
          "y" : {
            "title" : "Y",
            "type" : "number"
          },
          "z" : {
            "title" : "Z",
            "type" : "number"
          }
        },
        "additionalProperties" : false
      },
      "GeometryPrimitive.RotatableCartesianBox" : {
        "title" : "Rotatable cartesian box",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: RotatableCartesianBox",
            "default" : "ROTATABLE_CARTESIAN_BOX"
          },
          "id" : {
            "title" : "Id",
            "type" : "string",
            "format" : "uuid"
          },
          "name" : {
            "title" : "Name",
            "pattern" : "^[A-Za-z()][-+0-9a-zA-Z_()\\h]{0,199}$",
            "type" : "string"
          },
          "min" : {
            "$ref" : "#/components/schemas/GeometryPrimitive.DimensionalVector_Length"
          },
          "max" : {
            "$ref" : "#/components/schemas/GeometryPrimitive.DimensionalVector_Length"
          },
          "rotationPoint" : {
            "$ref" : "#/components/schemas/GeometryPrimitive.DimensionalVector_Length"
          },
          "rotationAngles" : {
            "$ref" : "#/components/schemas/GeometryPrimitive.DimensionalVector_Angle"
          }
        },
        "additionalProperties" : false
      },
      "GeometryPrimitive.DimensionalVector_Angle" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "$ref" : "#/components/schemas/GeometryPrimitive.DecimalVector"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "rad", "°" ]
          }
        },
        "additionalProperties" : false
      },
      "GeometryPrimitive.LocalCartesianBox" : {
        "title" : "Local cartesian box",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: LocalCartesianBox",
            "default" : "LOCAL_CARTESIAN_BOX"
          },
          "id" : {
            "title" : "Id",
            "type" : "string",
            "format" : "uuid"
          },
          "name" : {
            "title" : "Name",
            "pattern" : "^[A-Za-z()][-+0-9a-zA-Z_()\\h]{0,199}$",
            "type" : "string"
          },
          "orientationReference" : {
            "title" : "Orientation reference",
            "type" : "string",
            "default" : "GEOMETRY",
            "enum" : [ "GEOMETRY", "FLOW_DOMAIN" ]
          },
          "min" : {
            "$ref" : "#/components/schemas/GeometryPrimitive.DimensionalVector_Length"
          },
          "max" : {
            "$ref" : "#/components/schemas/GeometryPrimitive.DimensionalVector_Length"
          }
        },
        "additionalProperties" : false
      },
      "GeometryPrimitive.Sphere" : {
        "title" : "Sphere",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: Sphere",
            "default" : "SPHERE"
          },
          "id" : {
            "title" : "Id",
            "type" : "string",
            "format" : "uuid"
          },
          "name" : {
            "title" : "Name",
            "pattern" : "^[A-Za-z()][-+0-9a-zA-Z_()\\h]{0,199}$",
            "type" : "string"
          },
          "center" : {
            "$ref" : "#/components/schemas/GeometryPrimitive.DimensionalVector_Length"
          },
          "radius" : {
            "$ref" : "#/components/schemas/GeometryPrimitive.Dimensional_Length"
          }
        },
        "additionalProperties" : false
      },
      "GeometryPrimitive.Dimensional_Length" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "title" : "Value",
            "type" : "number"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "m", "in", "mm", "cm", "ft", "yd" ]
          }
        },
        "additionalProperties" : false
      },
      "GeometryPrimitive.LocalSphere" : {
        "title" : "Local sphere",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: LocalSphere",
            "default" : "LOCAL_SPHERE"
          },
          "id" : {
            "title" : "Id",
            "type" : "string",
            "format" : "uuid"
          },
          "name" : {
            "title" : "Name",
            "pattern" : "^[A-Za-z()][-+0-9a-zA-Z_()\\h]{0,199}$",
            "type" : "string"
          },
          "orientationReference" : {
            "title" : "Orientation reference",
            "type" : "string",
            "default" : "GEOMETRY",
            "enum" : [ "GEOMETRY", "FLOW_DOMAIN" ]
          },
          "center" : {
            "$ref" : "#/components/schemas/GeometryPrimitive.DimensionalVector_Length"
          },
          "radius" : {
            "$ref" : "#/components/schemas/GeometryPrimitive.Dimensional_Length"
          }
        },
        "additionalProperties" : false
      },
      "GeometryPrimitive.Cylinder" : {
        "title" : "Cylinder",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: Cylinder",
            "default" : "CYLINDER"
          },
          "id" : {
            "title" : "Id",
            "type" : "string",
            "format" : "uuid"
          },
          "name" : {
            "title" : "Name",
            "pattern" : "^[A-Za-z()][-+0-9a-zA-Z_()\\h]{0,199}$",
            "type" : "string"
          },
          "reference" : {
            "$ref" : "#/components/schemas/GeometryPrimitive.DimensionalVector_Length"
          },
          "axis" : {
            "$ref" : "#/components/schemas/GeometryPrimitive.DimensionalVector_Length"
          },
          "radius" : {
            "$ref" : "#/components/schemas/GeometryPrimitive.Dimensional_Length"
          }
        },
        "additionalProperties" : false
      },
      "GeometryPrimitive.Point" : {
        "title" : "Point",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: Point",
            "default" : "POINT"
          },
          "id" : {
            "title" : "Id",
            "type" : "string",
            "format" : "uuid"
          },
          "name" : {
            "title" : "Name",
            "pattern" : "^[A-Za-z()][-+0-9a-zA-Z_()\\h]{0,199}$",
            "type" : "string"
          },
          "center" : {
            "$ref" : "#/components/schemas/GeometryPrimitive.DimensionalVector_Length"
          }
        },
        "additionalProperties" : false
      },
      "GeometryPrimitive.Box" : {
        "title" : "Box",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: Box",
            "default" : "BOX"
          },
          "id" : {
            "title" : "Id",
            "type" : "string",
            "format" : "uuid"
          },
          "name" : {
            "title" : "Name",
            "pattern" : "^[A-Za-z()][-+0-9a-zA-Z_()\\h]{0,199}$",
            "type" : "string"
          },
          "scale" : {
            "$ref" : "#/components/schemas/GeometryPrimitive.DecimalVector"
          },
          "translation" : {
            "$ref" : "#/components/schemas/GeometryPrimitive.DimensionalVector_Length"
          },
          "rotationAxis" : {
            "$ref" : "#/components/schemas/GeometryPrimitive.DimensionalVector_Length"
          },
          "rotationAngle" : {
            "$ref" : "#/components/schemas/GeometryPrimitive.Dimensional_Angle"
          }
        },
        "additionalProperties" : false
      },
      "GeometryPrimitive.Dimensional_Angle" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "title" : "Value",
            "type" : "number"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "rad", "°" ]
          }
        },
        "additionalProperties" : false
      },
      "GeometryPrimitive.HalfSpace" : {
        "title" : "Slice",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: HalfSpace",
            "default" : "HALF_SPACE"
          },
          "id" : {
            "title" : "Id",
            "type" : "string",
            "format" : "uuid"
          },
          "name" : {
            "title" : "Name",
            "pattern" : "^[A-Za-z()][-+0-9a-zA-Z_()\\h]{0,199}$",
            "type" : "string"
          },
          "referencePoint" : {
            "$ref" : "#/components/schemas/GeometryPrimitive.DimensionalVector_Length"
          },
          "normal" : {
            "$ref" : "#/components/schemas/GeometryPrimitive.DimensionalVector_Length"
          }
        },
        "additionalProperties" : false
      },
      "GeometryPrimitive.LocalHalfSpace" : {
        "title" : "Local slice",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: LocalHalfSpace",
            "default" : "LOCAL_HALF_SPACE"
          },
          "id" : {
            "title" : "Id",
            "type" : "string",
            "format" : "uuid"
          },
          "name" : {
            "title" : "Name",
            "pattern" : "^[A-Za-z()][-+0-9a-zA-Z_()\\h]{0,199}$",
            "type" : "string"
          },
          "orientationReference" : {
            "title" : "Orientation reference",
            "type" : "string",
            "default" : "GEOMETRY",
            "enum" : [ "GEOMETRY", "FLOW_DOMAIN" ]
          },
          "referencePoint" : {
            "$ref" : "#/components/schemas/GeometryPrimitive.DimensionalVector_Length"
          },
          "normal" : {
            "$ref" : "#/components/schemas/GeometryPrimitive.DimensionalVector_Length"
          }
        },
        "additionalProperties" : false
      },
      "Meshing.Algorithm" : {
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "SIMMETRIX_MESHING_FLUID_V16" : "#/components/schemas/Meshing.SimmetrixMeshingFluid",
            "SIMMETRIX_MESHING_SOLID" : "#/components/schemas/Meshing.SimmetrixMeshingSolid",
            "SIMMETRIX_MESHING_ELECTROMAGNETICS" : "#/components/schemas/Meshing.SimmetrixMeshingElectromagnetics",
            "HEX_DOMINANT_SNAPPY_V5" : "#/components/schemas/Meshing.HexDominantSnappy",
            "POLYGRID_MESHING" : "#/components/schemas/Meshing.PolygridMeshing"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Meshing.SimmetrixMeshingFluid"
        }, {
          "$ref" : "#/components/schemas/Meshing.SimmetrixMeshingSolid"
        }, {
          "$ref" : "#/components/schemas/Meshing.SimmetrixMeshingElectromagnetics"
        }, {
          "$ref" : "#/components/schemas/Meshing.HexDominantSnappy"
        }, {
          "$ref" : "#/components/schemas/Meshing.PolygridMeshing"
        } ]
      },
      "Meshing.SimmetrixMeshingFluid" : {
        "title" : "Standard",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: SimmetrixMeshingFluid",
            "default" : "SIMMETRIX_MESHING_FLUID_V16"
          },
          "sizing" : {
            "$ref" : "#/components/schemas/Meshing.OneOf_SimmetrixMeshingFluidSizing"
          },
          "refinements" : {
            "title" : "Refinements",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Meshing.OneOf_SimmetrixMeshingFluidRefinements"
            }
          },
          "cellZones" : {
            "title" : "Cell zones",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Meshing.SimmetrixCellZones"
            },
            "x-showWhen" : [ "physicsBasedMeshing == false" ]
          },
          "automaticLayerSettings" : {
            "$ref" : "#/components/schemas/Meshing.OneOf_SimmetrixMeshingFluidAutomaticLayerSettings"
          },
          "physicsBasedMeshing" : {
            "title" : "Physics-based meshing",
            "type" : "boolean",
            "description" : "Physics-based meshing takes setup information like materials, boundary conditions, and source terms into account to size the mesh accordingly. When enabled, the following adaptations will be made:</p><ul><li>Refinements on inlets and outlets</li><li>Different sizing for solid and fluid regions in CHT simulations</li></ul> <br>When toggled on users don’t have to worry about creating a <a href='https://www.simscale.com/docs/simulation-setup/simulation-control/' target='_blank'>separate cell zone</a>.",
            "default" : true
          },
          "hexCore" : {
            "title" : "Hex element core",
            "type" : "boolean",
            "description" : "<p>If <a href='https://www.simscale.com/docs/simulation-setup/meshing/standard/#hexcore' target='_blank'><b>Hex element core</b></a> is activated, the interior of the mesh gets covered by <a href='https://www.simscale.com/docs/simulation-setup/meshing/standard/#hexcore' target='_blank'><b>hexahedral elements</b></a>. The transition to the triangulated surface mesh is covered by tetrahedral and pyramid elements.<img src=\"/spec/resources/help/imgs/simmetrix-hexcore.png\" class=\"helpPopupImage\"/>Meshclip through a hex-core mesh.</p>",
            "default" : true
          },
          "automaticSweepParameters" : {
            "$ref" : "#/components/schemas/Meshing.OneOf_SimmetrixMeshingFluidAutomaticSweepParameters"
          },
          "numOfProcessors" : {
            "title" : "Number of processors",
            "type" : "integer",
            "description" : "<p>Selecting more processor cores might speed up the meshing process. Choosing a smaller computation instance will save core hours. <a href='https://www.simscale.com/docs/simulation-setup/meshing/#number-of-processors' target='_blank'>Learn more</a>.</p>",
            "format" : "int64",
            "default" : -1,
            "enum" : [ -1, 4, 8, 16, 32, 48, 64, 96 ]
          },
          "maxMeshingRunTime" : {
            "$ref" : "#/components/schemas/Meshing.Dimensional_Time"
          },
          "advancedSimmetrixSettings" : {
            "$ref" : "#/components/schemas/Meshing.AdvancedSimmetrixFluidSettings"
          }
        },
        "additionalProperties" : false
      },
      "Meshing.AutomaticMeshSizingSimmetrix" : {
        "title" : "Automatic",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: AutomaticMeshSizingSimmetrix",
            "default" : "AUTOMATIC_V9"
          },
          "fineness" : {
            "title" : "Fineness",
            "maximum" : 10.0,
            "exclusiveMaximum" : false,
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "description" : "<p>Adjust the overall mesh sizing from coarse (value: 0) to fine (10).</p>",
            "default" : 5.0,
            "x-divisibleBy" : 0.1
          },
          "curvature" : {
            "$ref" : "#/components/schemas/Meshing.OneOf_AutomaticMeshSizingSimmetrixCurvature"
          }
        },
        "additionalProperties" : false
      },
      "Meshing.AutomaticCurvature" : {
        "title" : "Automatic",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: AutomaticCurvature",
            "default" : "AUTOMATIC_CURVATURE"
          }
        },
        "additionalProperties" : false
      },
      "Meshing.RelativeCurvature" : {
        "title" : "Relative",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: RelativeCurvature",
            "default" : "RELATIVE_CURVATURE"
          },
          "relativeCurvature" : {
            "title" : "Num. of nodes in a circle",
            "maximum" : 360.0,
            "exclusiveMaximum" : false,
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "description" : "The <b>Number of nodes in a circle</b> defines the relative chordal error on curved features in terms of number of mesh nodes in a full circle. The relative chordal error is the distance between the mesh element edge and the CAD model feature it represents divided by the mesh edge length.",
            "x-conditionalDefaults" : [ {
              "when" : [ "type == SIMMETRIX_MESHING_FLUID_V16" ],
              "default" : 16.0
            }, {
              "when" : [ "type in [SIMMETRIX_MESHING_SOLID,SIMMETRIX_MESHING_ELECTROMAGNETICS]" ],
              "default" : 10.0
            } ],
            "x-divisibleBy" : 1.0
          }
        },
        "additionalProperties" : false
      },
      "Meshing.ManualMeshSizingSimmetrix" : {
        "title" : "Manual",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: ManualMeshSizingSimmetrix",
            "default" : "MANUAL"
          },
          "maximumEdgeLength" : {
            "$ref" : "#/components/schemas/Meshing.Dimensional_Length"
          },
          "minimumEdgeLength" : {
            "$ref" : "#/components/schemas/Meshing.Dimensional_Length"
          },
          "curvature" : {
            "$ref" : "#/components/schemas/Meshing.OneOf_ManualMeshSizingSimmetrixCurvature"
          }
        },
        "additionalProperties" : false
      },
      "Meshing.Dimensional_Length" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "title" : "Value",
            "type" : "number"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "m", "in", "mm", "cm", "ft", "yd" ]
          }
        },
        "additionalProperties" : false
      },
      "Meshing.RegionRefinementWithLength" : {
        "title" : "Region refinement",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "A <b>region refinement</b> can be used to refine the mesh in a given area. The refinement area needs to be defined either via an existing solid or a geometry primitive.\n\nSchema name: RegionRefinementWithLength",
            "default" : "REGION_LENGTH"
          },
          "name" : {
            "title" : "Name",
            "type" : "string",
            "default" : "Region refinement"
          },
          "refinement" : {
            "$ref" : "#/components/schemas/Meshing.OneOf_RegionRefinementWithLengthRefinement"
          },
          "curvature" : {
            "$ref" : "#/components/schemas/Meshing.OneOf_RegionRefinementWithLengthCurvature"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Meshing.TopologicalReference"
          },
          "geometryPrimitiveUuids" : {
            "title" : "Geometry primitives",
            "type" : "array",
            "items" : {
              "type" : "string",
              "format" : "uuid"
            },
            "x-referencedPrimitivesOptions" : {
              "allowMultiple" : true,
              "pathToPrimitives" : "geometryPrimitives",
              "allowedReferencedPrimitiveTypes" : [ "CARTESIAN_BOX", "CYLINDER", "SPHERE" ]
            }
          }
        },
        "additionalProperties" : false,
        "description" : "A <b>region refinement</b> can be used to refine the mesh in a given area. The refinement area needs to be defined either via an existing solid or a geometry primitive."
      },
      "Meshing.InsideRegionRefinementWithLength" : {
        "title" : "Inside",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: InsideRegionRefinementWithLength",
            "default" : "INSIDE"
          },
          "length" : {
            "$ref" : "#/components/schemas/Meshing.Dimensional_Length"
          }
        },
        "additionalProperties" : false
      },
      "Meshing.DistanceRegionRefinementWithLength" : {
        "title" : "Distance",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: DistanceRegionRefinementWithLength",
            "default" : "DISTANCE"
          },
          "distanceRefinementLengths" : {
            "title" : "Distance refinement lengths",
            "type" : "array",
            "description" : "Define mesh element sizes inside and around the selected volumes. Each row specifies how the mesh size changes with the distance from the volume boundary: <b>Distance [m]</b> is the distance from the closest point on the boundary, <b>Default size [m]</b> is the target element size at that distance, and <b>Min. size [m]</b> is the smallest allowed element size. Distances must be specified in <u>increasing order</u> (e.g. d1 = 0 m, default = 1e-3 m, min = 5e-4 m; d2 = 0.5 m, default = 3e-3 m, min = 1e-3 m). When <b>Distance = 0</b>, the sizes apply <b>inside</b> the selected volume, and larger distances control how the mesh transitions <b>outside</b> it in all directions.",
            "items" : {
              "$ref" : "#/components/schemas/Meshing.RefinementLength"
            },
            "default" : [ {
              "distance" : {
                "value" : 0,
                "unit" : "m"
              },
              "length" : {
                "value" : 1,
                "unit" : "m"
              }
            } ]
          }
        },
        "additionalProperties" : false
      },
      "Meshing.RefinementLength" : {
        "type" : "object",
        "properties" : {
          "distance" : {
            "$ref" : "#/components/schemas/Meshing.Dimensional_Length"
          },
          "length" : {
            "$ref" : "#/components/schemas/Meshing.Dimensional_Length"
          }
        },
        "additionalProperties" : false
      },
      "Meshing.OutsideRegionRefinementWithLength" : {
        "title" : "Outside",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: OutsideRegionRefinementWithLength",
            "default" : "OUTSIDE"
          },
          "length" : {
            "$ref" : "#/components/schemas/Meshing.Dimensional_Length"
          }
        },
        "additionalProperties" : false
      },
      "Meshing.TopologicalReference" : {
        "type" : "object",
        "properties" : {
          "entities" : {
            "title" : "Entities",
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          },
          "sets" : {
            "title" : "Sets",
            "type" : "array",
            "items" : {
              "type" : "string",
              "format" : "uuid"
            }
          }
        },
        "additionalProperties" : false
      },
      "Meshing.SurfaceCustomSizing" : {
        "title" : "Surface custom sizing",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: SurfaceCustomSizing",
            "default" : "SURFACE_CUSTOM_SIZING"
          },
          "name" : {
            "title" : "Name",
            "type" : "string",
            "default" : "Surface sizing"
          },
          "sizing" : {
            "$ref" : "#/components/schemas/Meshing.OneOf_SurfaceCustomSizingSizing"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Meshing.TopologicalReference"
          }
        },
        "additionalProperties" : false
      },
      "Meshing.CustomMeshSizingSimmetrix" : {
        "title" : "Custom",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: CustomMeshSizingSimmetrix",
            "default" : "CUSTOM"
          },
          "defaultSize" : {
            "$ref" : "#/components/schemas/Meshing.Dimensional_Length"
          },
          "minSize" : {
            "$ref" : "#/components/schemas/Meshing.Dimensional_Length"
          },
          "curvature" : {
            "$ref" : "#/components/schemas/Meshing.OneOf_CustomMeshSizingSimmetrixCurvature"
          }
        },
        "additionalProperties" : false
      },
      "Meshing.VolumeCustomSizing" : {
        "title" : "Volume custom sizing",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: VolumeCustomSizing",
            "default" : "VOLUME_CUSTOM_SIZING"
          },
          "name" : {
            "title" : "Name",
            "type" : "string",
            "default" : "Volume sizing"
          },
          "customSizingModes" : {
            "$ref" : "#/components/schemas/Meshing.OneOf_VolumeCustomSizingCustomSizingModes"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Meshing.TopologicalReference"
          },
          "geometryPrimitiveUuids" : {
            "title" : "Geometry primitives",
            "type" : "array",
            "items" : {
              "type" : "string",
              "format" : "uuid"
            },
            "x-referencedPrimitivesOptions" : {
              "allowMultiple" : true,
              "pathToPrimitives" : "geometryPrimitives",
              "allowedReferencedPrimitiveTypes" : [ "CARTESIAN_BOX", "CYLINDER", "SPHERE" ]
            }
          }
        },
        "additionalProperties" : false
      },
      "Meshing.DistanceVolumeCustomSizing" : {
        "title" : "Distance",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: DistanceVolumeCustomSizing",
            "default" : "DISTANCE_CUSTOM_SIZING"
          },
          "distanceSizingValues" : {
            "title" : "Distance - sizing values",
            "type" : "array",
            "description" : "Define mesh element sizes inside and around the selected volumes. Each row specifies how the mesh size changes with the distance from the volume boundary: <b>Distance [m]</b> is the distance from the closest point on the boundary, <b>Default size [m]</b> is the target element size at that distance, and <b>Min. size [m]</b> is the smallest allowed element size. Distances must be specified in <u>increasing order</u> (e.g. d1 = 0 m, default = 1e-3 m, min = 5e-4 m; d2 = 0.5 m, default = 3e-3 m, min = 1e-3 m). When <b>Distance = 0</b>, the sizes apply <b>inside</b> the selected volume, and larger distances control how the mesh transitions <b>outside</b> it in all directions.",
            "items" : {
              "$ref" : "#/components/schemas/Meshing.DistanceSizing"
            },
            "default" : [ {
              "distance" : {
                "value" : 0,
                "unit" : "m"
              },
              "length" : {
                "value" : 1,
                "unit" : "m"
              }
            } ]
          },
          "curvature" : {
            "$ref" : "#/components/schemas/Meshing.OneOf_DistanceVolumeCustomSizingCurvature"
          }
        },
        "additionalProperties" : false
      },
      "Meshing.DistanceSizing" : {
        "type" : "object",
        "properties" : {
          "distance" : {
            "$ref" : "#/components/schemas/Meshing.Dimensional_Length"
          },
          "defaultSize" : {
            "$ref" : "#/components/schemas/Meshing.Dimensional_Length"
          },
          "minSize" : {
            "$ref" : "#/components/schemas/Meshing.Dimensional_Length"
          }
        },
        "additionalProperties" : false
      },
      "Meshing.InsideVolumeCustomSizing" : {
        "title" : "Inside",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: InsideVolumeCustomSizing",
            "default" : "INSIDE_CUSTOM_SIZING"
          },
          "sizing" : {
            "$ref" : "#/components/schemas/Meshing.OneOf_InsideVolumeCustomSizingSizing"
          }
        },
        "additionalProperties" : false
      },
      "Meshing.SimmetrixLocalSizingRefinement" : {
        "title" : "Local element size",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Refine specific faces of interest or complex geometrical shapes by defining a local element size. This will ensure a relatively uniform mesh.\n\nSchema name: SimmetrixLocalSizingRefinement",
            "default" : "SIMMETRIX_LOCAL_SIZING_V10"
          },
          "name" : {
            "title" : "Name",
            "type" : "string",
            "default" : "Local element size"
          },
          "maxElementSize" : {
            "$ref" : "#/components/schemas/Meshing.Dimensional_Length"
          },
          "curvature" : {
            "$ref" : "#/components/schemas/Meshing.OneOf_SimmetrixLocalSizingRefinementCurvature"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Meshing.TopologicalReference"
          }
        },
        "additionalProperties" : false,
        "description" : "Refine specific faces of interest or complex geometrical shapes by defining a local element size. This will ensure a relatively uniform mesh."
      },
      "Meshing.SimmetrixBoundaryLayerRefinement" : {
        "title" : "Inflate boundary layer",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "<p><a href='https://www.simscale.com/docs/simulation-setup/meshing/standard/#layer-inflation' target='_blank'><b>Layer inflation</b></a> allows the creation of prismatic boundary layers for certain mesh regions.</p><p>Prismatic layers are mostly used in CFD simulations on no-slip walls in order to efficiently capture the boundary layer velocity profile, but they may be also used in certain structural simulations like stamping or deep-drawing processes.</p><p><img src=\"/spec/resources/help/imgs/simmetrix-layers.png\" class=\"helpPopupImage\"/> The figure shows a sample mesh with boundary layers added.</p>\n\nSchema name: SimmetrixBoundaryLayerRefinement",
            "default" : "SIMMETRIX_BOUNDARY_LAYER_V13"
          },
          "name" : {
            "title" : "Name",
            "type" : "string",
            "default" : "Inflate boundary layer"
          },
          "layerType" : {
            "$ref" : "#/components/schemas/Meshing.OneOf_SimmetrixBoundaryLayerRefinementLayerType"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Meshing.TopologicalReference"
          }
        },
        "additionalProperties" : false,
        "description" : "<p><a href='https://www.simscale.com/docs/simulation-setup/meshing/standard/#layer-inflation' target='_blank'><b>Layer inflation</b></a> allows the creation of prismatic boundary layers for certain mesh regions.</p><p>Prismatic layers are mostly used in CFD simulations on no-slip walls in order to efficiently capture the boundary layer velocity profile, but they may be also used in certain structural simulations like stamping or deep-drawing processes.</p><p><img src=\"/spec/resources/help/imgs/simmetrix-layers.png\" class=\"helpPopupImage\"/> The figure shows a sample mesh with boundary layers added.</p>"
      },
      "Meshing.FractionalHeight1" : {
        "title" : "Specify first layer thickness",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: FractionalHeight1",
            "default" : "FRACTIONAL_HEIGHT_1"
          },
          "numberOfLayers" : {
            "title" : "Number of layers",
            "maximum" : 40,
            "exclusiveMaximum" : false,
            "minimum" : 1,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "description" : "The <i>Number of layers</i> defines how many prismatic boundary layers should be created. 3 is default.",
            "default" : 3
          },
          "totalRelativeThickness" : {
            "title" : "Overall relative thickness",
            "type" : "number",
            "description" : "It defines the thickness of all prismatic boundary layers combined in relation to the local element size.<img src=\"/spec/resources/help/imgs/simmetrix-overall-layer-thickness.png\" class=\"helpPopupImage\"/>Example 3-layer thickness of 40% (0.4) of the local mesh size.",
            "default" : 0.4
          },
          "firstLayerSize" : {
            "$ref" : "#/components/schemas/Meshing.Dimensional_Length"
          }
        },
        "additionalProperties" : false
      },
      "Meshing.FractionalHeight2" : {
        "title" : "Specify growth rate",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: FractionalHeight2",
            "default" : "FRACTIONAL_HEIGHT_2"
          },
          "numberOfLayers" : {
            "title" : "Number of layers",
            "maximum" : 40,
            "exclusiveMaximum" : false,
            "minimum" : 1,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "description" : "The <i>Number of layers</i> defines how many prismatic boundary layers should be created. 3 is default.",
            "default" : 3
          },
          "totalRelativeThickness" : {
            "title" : "Overall relative thickness",
            "type" : "number",
            "description" : "It defines the thickness of all prismatic boundary layers combined in relation to the local element size.<img src=\"/spec/resources/help/imgs/simmetrix-overall-layer-thickness.png\" class=\"helpPopupImage\"/>Example 3-layer thickness of 40% (0.4) of the local mesh size.",
            "default" : 0.4
          },
          "growthRate" : {
            "title" : "Growth rate",
            "minimum" : 1.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "description" : "The <i>Growth rate</i> defines the thickness ratio between adjacent boundary layer cells. It needs to be always greater than 1 such that the layer thickness increases towards the interior of the mesh. For the same number of layers and overall thickness the larger the growth rate is inversely proportional to the first cell thickness. <img src=\"/spec/resources/help/imgs/simmetrix-layer-growth-rate.png\" class=\"helpPopupImage\"/>Example of each cell being 1.5 times thicker than its adjacent.",
            "default" : 1.5
          }
        },
        "additionalProperties" : false
      },
      "Meshing.GeometricGrowth" : {
        "title" : "Specify first layer and total abs. thickness",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: GeometricGrowth",
            "default" : "GEOMETRIC_GROWTH"
          },
          "numberOfLayers" : {
            "title" : "Number of layers",
            "maximum" : 40,
            "exclusiveMaximum" : false,
            "minimum" : 1,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "description" : "The <i>Number of layers</i> defines how many prismatic boundary layers should be created. 3 is default.",
            "default" : 3
          },
          "totalAbsoluteThickness" : {
            "$ref" : "#/components/schemas/Meshing.Dimensional_Length"
          },
          "firstLayerSize" : {
            "$ref" : "#/components/schemas/Meshing.Dimensional_Length"
          }
        },
        "additionalProperties" : false
      },
      "Meshing.FirstLayerGrowth" : {
        "title" : "First layer growth",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: FirstLayerGrowth",
            "default" : "FIRST_LAYER_GROWTH"
          },
          "numberOfLayers" : {
            "title" : "Number of layers",
            "maximum" : 40,
            "exclusiveMaximum" : false,
            "minimum" : 1,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "description" : "The <i>Number of layers</i> defines how many prismatic boundary layers should be created. 3 is default.",
            "default" : 3
          },
          "growthRate" : {
            "title" : "Growth rate",
            "minimum" : 1.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "description" : "The <i>Growth rate</i> defines the thickness ratio between adjacent boundary layer cells. It needs to be always greater than 1 such that the layer thickness increases towards the interior of the mesh. For the same number of layers and overall thickness the larger the growth rate is inversely proportional to the first cell thickness. <img src=\"/spec/resources/help/imgs/simmetrix-layer-growth-rate.png\" class=\"helpPopupImage\"/>Example of each cell being 1.5 times thicker than its adjacent.",
            "default" : 1.3
          },
          "firstLayerSize" : {
            "$ref" : "#/components/schemas/Meshing.Dimensional_Length"
          }
        },
        "additionalProperties" : false
      },
      "Meshing.SimmetrixSweptMeshRefinement" : {
        "title" : "Sweep meshing refinement",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: SimmetrixSweptMeshRefinement",
            "default" : "SIMMETRIX_SWEPT_MESH_REFINEMENT"
          },
          "name" : {
            "title" : "Name",
            "type" : "string",
            "default" : "Sweep meshing refinement"
          },
          "sizingType" : {
            "$ref" : "#/components/schemas/Meshing.OneOf_SimmetrixSweptMeshRefinementSizingType"
          },
          "surfaceElementType" : {
            "title" : "Surface element type",
            "type" : "string",
            "default" : "TRIANGULAR",
            "enum" : [ "TRIANGULAR", "QUADDOMINANT" ]
          },
          "specifyLocalSize" : {
            "title" : "Specify start/end mesh size",
            "type" : "boolean",
            "default" : false
          },
          "maxElementSize" : {
            "$ref" : "#/components/schemas/Meshing.Dimensional_Length"
          },
          "sourceTopologicalReference" : {
            "$ref" : "#/components/schemas/Meshing.TopologicalReference"
          },
          "destinationTopologicalReference" : {
            "$ref" : "#/components/schemas/Meshing.TopologicalReference"
          }
        },
        "additionalProperties" : false
      },
      "Meshing.SweepMeshingAbsoluteSize" : {
        "title" : "Element thickness along sweep",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: SweepMeshingAbsoluteSize",
            "default" : "SWEEP_MESHING_ABSOLUTE_SIZE"
          },
          "thickness" : {
            "$ref" : "#/components/schemas/Meshing.Dimensional_Length"
          }
        },
        "additionalProperties" : false
      },
      "Meshing.SweepMeshingNumberOfElements" : {
        "title" : "Number of elements along sweep",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: SweepMeshingNumberOfElements",
            "default" : "SWEEP_MESHING_NUMBER_OF_ELEMENTS"
          },
          "numberOfElements" : {
            "title" : "Number of elements",
            "maximum" : 100000.0,
            "exclusiveMaximum" : false,
            "minimum" : 1,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "default" : 10
          }
        },
        "additionalProperties" : false
      },
      "Meshing.SimmetrixThinSectionMeshRefinement" : {
        "title" : "Thin section mesh refinement (beta)",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: SimmetrixThinSectionMeshRefinement",
            "default" : "SIMMETRIX_THIN_SECTION_MESH_REFINEMENT"
          },
          "name" : {
            "title" : "Name",
            "type" : "string",
            "default" : "Thin section mesh refinement"
          },
          "distanceType" : {
            "$ref" : "#/components/schemas/Meshing.OneOf_SimmetrixThinSectionMeshRefinementDistanceType"
          },
          "sizingType" : {
            "$ref" : "#/components/schemas/Meshing.OneOf_SimmetrixThinSectionMeshRefinementSizingType"
          },
          "surfaceElementType" : {
            "title" : "Surface element type",
            "type" : "string",
            "default" : "TRIANGULAR",
            "enum" : [ "TRIANGULAR", "QUADDOMINANT" ]
          },
          "specifyLocalSize" : {
            "title" : "Specify start/end mesh size",
            "type" : "boolean",
            "default" : false
          },
          "maxElementSize" : {
            "$ref" : "#/components/schemas/Meshing.Dimensional_Length"
          },
          "sourceTopologicalReference" : {
            "$ref" : "#/components/schemas/Meshing.TopologicalReference"
          },
          "destinationTopologicalReference" : {
            "$ref" : "#/components/schemas/Meshing.TopologicalReference"
          }
        },
        "additionalProperties" : false
      },
      "Meshing.AbsoluteDistance" : {
        "title" : "Absolute",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: AbsoluteDistance",
            "default" : "ABSOLUTE"
          },
          "absoluteDistance" : {
            "$ref" : "#/components/schemas/Meshing.Dimensional_Length"
          }
        },
        "additionalProperties" : false
      },
      "Meshing.RelativeDistance" : {
        "title" : "Relative",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: RelativeDistance",
            "default" : "RELATIVE"
          },
          "relativeDistance" : {
            "title" : "Relative distance",
            "maximum" : 100.0,
            "exclusiveMaximum" : false,
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "default" : 0.1
          }
        },
        "additionalProperties" : false
      },
      "Meshing.SimmetrixExtrusionMeshRefinement" : {
        "title" : "Extrusion mesh refinement",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: SimmetrixExtrusionMeshRefinement",
            "default" : "SIMMETRIX_EXTRUSION_MESH_REFINEMENT"
          },
          "name" : {
            "title" : "Name",
            "type" : "string",
            "default" : "Extrusion meshing refinement"
          },
          "sizingType" : {
            "$ref" : "#/components/schemas/Meshing.OneOf_SimmetrixExtrusionMeshRefinementSizingType"
          },
          "surfaceElementType" : {
            "title" : "Surface element type",
            "type" : "string",
            "default" : "TRIANGULAR",
            "enum" : [ "TRIANGULAR", "QUADDOMINANT" ]
          },
          "specifyLocalSize" : {
            "title" : "Specify start/end mesh size",
            "type" : "boolean",
            "default" : false
          },
          "maxElementSize" : {
            "$ref" : "#/components/schemas/Meshing.Dimensional_Length"
          },
          "sourceTopologicalReference" : {
            "$ref" : "#/components/schemas/Meshing.TopologicalReference"
          },
          "destinationTopologicalReference" : {
            "$ref" : "#/components/schemas/Meshing.TopologicalReference"
          }
        },
        "additionalProperties" : false
      },
      "Meshing.SimmetrixCellZones" : {
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: SimmetrixCellZones",
            "default" : "SIMMETRIX_CELL_ZONES"
          },
          "name" : {
            "title" : "Name",
            "type" : "string",
            "default" : "Zone"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Meshing.TopologicalReference"
          }
        },
        "additionalProperties" : false
      },
      "Meshing.AutomaticLayerOn" : {
        "title" : "On",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: AutomaticLayerOn",
            "default" : "AUTOMATIC_LAYER_ON"
          },
          "layerType" : {
            "$ref" : "#/components/schemas/Meshing.OneOf_AutomaticLayerOnLayerType"
          }
        },
        "additionalProperties" : false
      },
      "Meshing.AutomaticLayerOff" : {
        "title" : "Off",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: AutomaticLayerOff",
            "default" : "AUTOMATIC_LAYER_OFF"
          }
        },
        "additionalProperties" : false
      },
      "Meshing.AutomaticSweepOn" : {
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: AutomaticSweepOn",
            "default" : "AUTOMATIC_SWEEP_MESHING_ON"
          },
          "maximumNumberOfLayers" : {
            "title" : "Maximum number of layers",
            "minimum" : 1,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "default" : 500
          },
          "minimumNumberOfLayers" : {
            "title" : "Minimum number of layers",
            "minimum" : 1,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "default" : 2
          },
          "surfaceElementType" : {
            "title" : "Surface element type",
            "type" : "string",
            "default" : "QUADDOMINANT",
            "enum" : [ "TRIANGULAR", "QUADDOMINANT" ]
          },
          "extrusionDirection" : {
            "title" : "Extrusion direction",
            "type" : "string",
            "description" : "If a part can be extruded along multiple directions, choose whether to extrude along the shortest or the longest direction (e.g. a simple plate can be extruded along its thickness or the other two dimensions. Choose Shortest to extrude across the thickness).",
            "default" : "SHORTEST",
            "enum" : [ "SHORTEST", "LONGEST" ]
          }
        },
        "additionalProperties" : false
      },
      "Meshing.AutomaticSweepOff" : {
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: AutomaticSweepOff",
            "default" : "AUTOMATIC_SWEEP_MESHING_OFF"
          }
        },
        "additionalProperties" : false
      },
      "Meshing.Dimensional_Time" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "title" : "Value",
            "type" : "number"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "s" ]
          }
        },
        "additionalProperties" : false
      },
      "Meshing.AdvancedSimmetrixFluidSettings" : {
        "type" : "object",
        "properties" : {
          "smallFeatureTolerance" : {
            "$ref" : "#/components/schemas/Meshing.Dimensional_Length"
          },
          "gapElements" : {
            "title" : "Gap refinement factor",
            "maximum" : 4.0,
            "exclusiveMaximum" : false,
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "description" : "<p>Define a target number of elements across thin gaps. The <i>Gap refinement factor</i> is the ratio between gap thickness and the cell longest edge in that gap. <a href='https://www.simscale.com/docs/simulation-setup/meshing/standard/#gap-refinement-factor' target='_blank'>Learn more</a>.<img src=\"/spec/resources/help/imgs/simmetrix-gap-elements.png\" class=\"helpPopupImage\"/>Example of gap refinements applied with a target of 4 elements across the thickness</p>",
            "default" : 0.05
          },
          "globalGradationRate" : {
            "title" : "Global gradation rate",
            "maximum" : 3.0,
            "exclusiveMaximum" : false,
            "minimum" : 1.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "description" : "<p>Adjust the transition from small to large cells. This value is the ratio between the size of two adjacent cells. The allowed range is 1.0 - 3.0. 1.0 would produce a uniform mesh with the smallest size everywhere. This is generally not recommended, as it may produce very large meshes.</p>",
            "default" : 1.22
          }
        },
        "additionalProperties" : false
      },
      "Meshing.SimmetrixMeshingSolid" : {
        "title" : "Standard",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: SimmetrixMeshingSolid",
            "default" : "SIMMETRIX_MESHING_SOLID"
          },
          "sizing" : {
            "$ref" : "#/components/schemas/Meshing.OneOf_SimmetrixMeshingSolidSizing"
          },
          "refinements" : {
            "title" : "Refinements",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Meshing.OneOf_SimmetrixMeshingSolidRefinements"
            }
          },
          "automaticSweepParameters" : {
            "$ref" : "#/components/schemas/Meshing.OneOf_SimmetrixMeshingSolidAutomaticSweepParameters"
          },
          "numOfProcessors" : {
            "title" : "Number of processors",
            "type" : "integer",
            "description" : "<p>Selecting more processor cores might speed up the meshing process. Choosing a smaller computation instance will save core hours. <a href='https://www.simscale.com/docs/simulation-setup/meshing/#number-of-processors' target='_blank'>Learn more</a>.</p>",
            "format" : "int64",
            "default" : -1,
            "enum" : [ -1, 4, 8, 16, 32, 48, 64, 96 ]
          },
          "maxMeshingRunTime" : {
            "$ref" : "#/components/schemas/Meshing.Dimensional_Time"
          },
          "advancedSimmetrixSettings" : {
            "$ref" : "#/components/schemas/Meshing.AdvancedSimmetrixSolidSettings"
          }
        },
        "additionalProperties" : false
      },
      "Meshing.AdvancedSimmetrixSolidSettings" : {
        "type" : "object",
        "properties" : {
          "smallFeatureTolerance" : {
            "$ref" : "#/components/schemas/Meshing.Dimensional_Length"
          },
          "gapElements" : {
            "title" : "Gap refinement factor",
            "maximum" : 4.0,
            "exclusiveMaximum" : false,
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "description" : "<p>Define a target number of elements across thin gaps. The <i>Gap refinement factor</i> is the ratio between gap thickness and the cell longest edge in that gap. <a href='https://www.simscale.com/docs/simulation-setup/meshing/standard/#gap-refinement-factor' target='_blank'>Learn more</a>.<img src=\"/spec/resources/help/imgs/simmetrix-gap-elements.png\" class=\"helpPopupImage\"/>Example of gap refinements applied with a target of 4 elements across the thickness</p>",
            "default" : 0.0
          },
          "globalGradationRate" : {
            "title" : "Global gradation rate",
            "maximum" : 3.0,
            "exclusiveMaximum" : false,
            "minimum" : 1.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "description" : "<p>Adjust the transition from small to large cells. This value is the ratio between the size of two adjacent cells. The allowed range is 1.0 - 3.0. 1.0 would produce a uniform mesh with the smallest size everywhere. This is generally not recommended, as it may produce very large meshes.</p>",
            "default" : 1.22
          }
        },
        "additionalProperties" : false
      },
      "Meshing.SimmetrixMeshingElectromagnetics" : {
        "title" : "Standard",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: SimmetrixMeshingElectromagnetics",
            "default" : "SIMMETRIX_MESHING_ELECTROMAGNETICS"
          },
          "sizing" : {
            "$ref" : "#/components/schemas/Meshing.OneOf_SimmetrixMeshingElectromagneticsSizing"
          },
          "refinements" : {
            "title" : "Refinements",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Meshing.OneOf_SimmetrixMeshingElectromagneticsRefinements"
            }
          },
          "numOfProcessors" : {
            "title" : "Number of processors",
            "type" : "integer",
            "description" : "<p>Selecting more processor cores might speed up the meshing process. Choosing a smaller computation instance will save core hours. <a href='https://www.simscale.com/docs/simulation-setup/meshing/#number-of-processors' target='_blank'>Learn more</a>.</p>",
            "format" : "int64",
            "default" : -1,
            "enum" : [ -1, 4, 8, 16, 32, 48, 64, 96 ]
          },
          "maxMeshingRunTime" : {
            "$ref" : "#/components/schemas/Meshing.Dimensional_Time"
          },
          "advancedSimmetrixSettings" : {
            "$ref" : "#/components/schemas/Meshing.AdvancedSimmetrixEmSettings"
          }
        },
        "additionalProperties" : false
      },
      "Meshing.AdvancedSimmetrixEmSettings" : {
        "type" : "object",
        "properties" : {
          "smallFeatureTolerance" : {
            "$ref" : "#/components/schemas/Meshing.Dimensional_Length"
          },
          "gapElements" : {
            "title" : "Gap refinement factor",
            "maximum" : 4.0,
            "exclusiveMaximum" : false,
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "description" : "<p>Define a target number of elements across thin gaps. The <i>Gap refinement factor</i> is the ratio between gap thickness and the cell longest edge in that gap. <a href='https://www.simscale.com/docs/simulation-setup/meshing/standard/#gap-refinement-factor' target='_blank'>Learn more</a>.<img src=\"/spec/resources/help/imgs/simmetrix-gap-elements.png\" class=\"helpPopupImage\"/>Example of gap refinements applied with a target of 4 elements across the thickness</p>",
            "default" : 0.0
          },
          "globalGradationRate" : {
            "title" : "Global gradation rate",
            "maximum" : 3.0,
            "exclusiveMaximum" : false,
            "minimum" : 1.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "description" : "<p>Adjust the transition from small to large cells. This value is the ratio between the size of two adjacent cells. The allowed range is 1.0 - 3.0. 1.0 would produce a uniform mesh with the smallest size everywhere. This is generally not recommended, as it may produce very large meshes.</p>",
            "default" : 1.22
          }
        },
        "additionalProperties" : false
      },
      "Meshing.AutomaticMeshSizing" : {
        "title" : "Automatic mesh sizing",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: AutomaticMeshSizing",
            "default" : "AUTOMATIC"
          },
          "fineness" : {
            "title" : "Fineness",
            "type" : "string",
            "description" : "<p>Choose between <i>Automatic</i> and <i>Manual</i> mesh settings. <a href='https://www.simscale.com/docs/analysis-types/incompressible-lbm/#mesh' target='_blank'>Learn more.</a></p><p><b>Note:</b> Mesh fineness impacts the accuracy of your results as well as computing time and result size. A finer mesh will be more demanding in terms of machine size and memory but lead to more accurate results in most cases.</p>",
            "default" : "COARSE",
            "enum" : [ "VERY_COARSE", "COARSE", "MODERATE", "FINE", "VERY_FINE" ]
          }
        },
        "additionalProperties" : false
      },
      "Meshing.ManualMeshSizing" : {
        "title" : "Manual mesh sizing",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: ManualMeshSizing",
            "default" : "MANUAL"
          },
          "minimumEdgeLength" : {
            "$ref" : "#/components/schemas/Meshing.Dimensional_Length"
          },
          "maximumEdgeLength" : {
            "$ref" : "#/components/schemas/Meshing.Dimensional_Length"
          },
          "grading" : {
            "$ref" : "#/components/schemas/Meshing.OneOf_ManualMeshSizingGrading"
          }
        },
        "additionalProperties" : false
      },
      "Meshing.AutomaticMeshGrading" : {
        "title" : "Automatic mesh grading",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: AutomaticMeshGrading",
            "default" : "AUTOMATIC"
          },
          "fineness" : {
            "title" : "Fineness",
            "type" : "string",
            "description" : "<p>The <b><a href='https://www.simscale.com/docs/simulation-setup/meshing/tet-dominant/#grading' target='_blank'>mesh grading</a></b> specifies how fine details of the geometry are resolved and also influences the quality of the resulting elements.</p><ul><li><p>If you select the <b>automatic</b> grading, you can specify how fine your mesh should be (ranging from <i>1 - very coarse</i> to <i>5 - very fine</i>) and all additional parameters will be set automatically.</li><li><p>For full control over the underlying parameters <i>number of segements per edge</i>, <i>number of segements per radius</i> and <i>growth rate</i> you can choose the <b>manual</b> mesh grading option.</p></li></ul><p><img src=\"/spec/resources/help/imgs/mesh_grading_comparison.png\" class=\"helpPopupImage\"/> The figure shows meshes for grading <i>1 - very coarse</i> (left) and <i>5 - very fine</i> (right).</p>",
            "default" : "COARSE",
            "enum" : [ "VERY_COARSE", "COARSE", "MODERATE", "FINE", "VERY_FINE" ]
          }
        },
        "additionalProperties" : false
      },
      "Meshing.ManualMeshGrading" : {
        "title" : "Manual mesh grading",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: ManualMeshGrading",
            "default" : "MANUAL"
          },
          "numberOfSegmentsPerEdge" : {
            "title" : "Number of segments per edge",
            "maximum" : 1000000.0,
            "exclusiveMaximum" : false,
            "minimum" : 0.2,
            "exclusiveMinimum" : false,
            "type" : "number",
            "description" : "<p>This value defines the minimum number of elements along a <b>geometry edge</b>.</p>",
            "default" : 0.5
          },
          "numberOfSegmentsPerRadius" : {
            "title" : "Number of segments per radius",
            "maximum" : 1000000.0,
            "exclusiveMaximum" : false,
            "minimum" : 0.2,
            "exclusiveMinimum" : false,
            "type" : "number",
            "description" : "<p>This value defines the minimum number of elements along a <b>geometry radius</b>.</p>",
            "default" : 1.5
          },
          "growthRate" : {
            "title" : "Growth rate",
            "maximum" : 10.0,
            "exclusiveMaximum" : false,
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "description" : "<p>The <b>growth rate</b> determines how large the allowed difference in element size between neighbouring elements is. For example a value of 0.2 allows the edges of neighbouring elements to differ by 20%.</p><p>If a large value is chosen, features requiring a finer mesh, like holes or fillets, will have a very local influence on the element size whereas for a small mesh grading those features will influence the element sizes in a wider area around them.</p><p>Choosing a smaller value will thus lead to a higher number of elements but also result in a better overall mesh quality.</p><p><img src=\"/spec/resources/help/imgs/growth_rate_comparison.png\" class=\"helpPopupImage\"/> The figure shows meshes for growth rate <i>2</i> (left) and <i>0.2</i> (right).</p>",
            "default" : 0.5
          }
        },
        "additionalProperties" : false
      },
      "Meshing.LayerRefinement" : {
        "title" : "Layer inflation",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "<p><a href='https://www.simscale.com/docs/simulation-setup/meshing/tet-dominant/#layer-inflation' target='_blank'><b>Layer inflation</b></a> allows the creation of prismatic boundary layers for certain mesh regions.</p><p>Prismatic layers are mostly used in CFD simulations on no-slip walls in order to efficiently capture the boundary layer velocity profile, but they may be also used in certain structural simulations like stamping or deep-drawing processes.</p><p><img src=\"/spec/resources/help/imgs/boundary-layer.png\" class=\"helpPopupImage\"/> The figure shows a sample mesh with boundary layers added.</p>\n\nSchema name: LayerRefinement",
            "default" : "LAYER_INFLATION"
          },
          "name" : {
            "title" : "Name",
            "type" : "string",
            "default" : "Layer inflation"
          },
          "totalThickness" : {
            "title" : "Total thickness",
            "maximum" : 1000000.0,
            "exclusiveMaximum" : false,
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "description" : "This parameter controls the <b>overall thickness</b> of all the generated boundary layers together. This value must be smaller than the minimal geometry thickness at the specified locations, otherwise the meshing will fail.",
            "default" : 0.01
          },
          "layers" : {
            "title" : "Layers",
            "maximum" : 1000000,
            "exclusiveMaximum" : false,
            "minimum" : 0,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "description" : "The number of <b>layers</b> defines how many prismatic boundary layers should be created.",
            "default" : 5
          },
          "stretchFactor" : {
            "title" : "Stretch factor",
            "maximum" : 1000000,
            "exclusiveMaximum" : false,
            "minimum" : 0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "description" : "<p>The <b>stretch factor</b> determines how the boundary layers grow in thickness from the wall to the internal mesh. The larger the ratio, the larger each element layer will be in comparison to the neighbouring layer closer to the wall.</p><p><img src=\"/spec/resources/help/imgs/shm_bl_expansion-ratio.png\" class=\"helpPopupImage\"/> The figure shows a ratio of 1.3.</p>",
            "default" : 1.3
          },
          "allowQuadrangles" : {
            "title" : "Allow quadrangles",
            "type" : "boolean",
            "description" : "<p>This parameter determines if <a href='https://www.simscale.com/docs/simulation-setup/meshing/tet-dominant/#quadrangles' target='_blank'><b>quadrangular surface elements</b></a> shall be allowed. When disabled, only triangles will be used. Meshing with triangles only is usually more robust while quadrangular elements may lead to better results.</p><p><img src=\"/spec/resources/help/imgs/allow_quads_comparison.png\" class=\"helpPopupImage\"/> The figure shows sample meshes with quadrangular surface elements disallowed (left) and allowed (right).</p>",
            "default" : false
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Meshing.TopologicalReference"
          }
        },
        "additionalProperties" : false,
        "description" : "<p><a href='https://www.simscale.com/docs/simulation-setup/meshing/tet-dominant/#layer-inflation' target='_blank'><b>Layer inflation</b></a> allows the creation of prismatic boundary layers for certain mesh regions.</p><p>Prismatic layers are mostly used in CFD simulations on no-slip walls in order to efficiently capture the boundary layer velocity profile, but they may be also used in certain structural simulations like stamping or deep-drawing processes.</p><p><img src=\"/spec/resources/help/imgs/boundary-layer.png\" class=\"helpPopupImage\"/> The figure shows a sample mesh with boundary layers added.</p>"
      },
      "Meshing.SubmeshRefinement" : {
        "title" : "Local element size",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "<p>The refinement type <a href='https://www.simscale.com/docs/simulation-setup/meshing/tet-dominant/#local-element-size' target='_blank'><b>local element size</b></a> allows the definition of local mesh sizings on particular faces or solids. This can be used to increase the mesh efficiency by using smaller elements only where needed, for example on contact surfaces, fillets or other regions with potentially large stress gradients.</p><p><img src=\"/spec/resources/help/imgs/local_element_size.png\" class=\"helpPopupImage\"/> The figure shows a mesh of a bolted connection with local refinements on the contact surfaces.</p>\n\nSchema name: SubmeshRefinement",
            "default" : "SUBMESH"
          },
          "name" : {
            "title" : "Name",
            "type" : "string",
            "default" : "Local element size"
          },
          "sizing" : {
            "$ref" : "#/components/schemas/Meshing.OneOf_SubmeshRefinementSizing"
          },
          "allowQuadrangles" : {
            "title" : "Allow quadrangles",
            "type" : "boolean",
            "description" : "<p>This parameter determines if <a href='https://www.simscale.com/docs/simulation-setup/meshing/tet-dominant/#quadrangles' target='_blank'><b>quadrangular surface elements</b></a> shall be allowed. When disabled, only triangles will be used. Meshing with triangles only is usually more robust while quadrangular elements may lead to better results.</p><p><img src=\"/spec/resources/help/imgs/allow_quads_comparison.png\" class=\"helpPopupImage\"/> The figure shows sample meshes with quadrangular surface elements disallowed (left) and allowed (right).</p>",
            "default" : false
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Meshing.TopologicalReference"
          }
        },
        "additionalProperties" : false,
        "description" : "<p>The refinement type <a href='https://www.simscale.com/docs/simulation-setup/meshing/tet-dominant/#local-element-size' target='_blank'><b>local element size</b></a> allows the definition of local mesh sizings on particular faces or solids. This can be used to increase the mesh efficiency by using smaller elements only where needed, for example on contact surfaces, fillets or other regions with potentially large stress gradients.</p><p><img src=\"/spec/resources/help/imgs/local_element_size.png\" class=\"helpPopupImage\"/> The figure shows a mesh of a bolted connection with local refinements on the contact surfaces.</p>"
      },
      "Meshing.HexDominantSnappy" : {
        "title" : "Hex-dominant",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: HexDominantSnappy",
            "default" : "HEX_DOMINANT_SNAPPY_V5"
          },
          "meshingMode" : {
            "title" : "Meshing mode",
            "type" : "string",
            "description" : "<p>The <a href='https://www.simscale.com/docs/simulation-setup/meshing/hex-dominant/#meshing-mode' target='_blank'>meshing mode</a> defines how the mesher should generate the mesh.</p><ul><li>The <b>Internal</b> mode will create the mesh <u>inside</u> of the geometry body. If the CAD consists of multiple solids, the mesher will attempt to create a multiregion mesh which is suitable for conjugate heat transfer analyses. Use this mode if the CAD model already represents the final fluid domain.</li><li><b>External</b> meshing will create the mesh <u>outside</u> of the bodies. The absolute dimensions of the mesh are determined by the <i>Background Mesh Box</i>. Use this mode in case you want to extract the fluid domain around your model.</li><li>The option <b>Material point</b> allows you to define a point inside the domain where the mesh will be placed. It can be used to select which part (or enclosed volume) of the model or should be meshed. The mesh will surround the material point and extend until the boundaries of the body. The location of the material point is defined by the <i>Material Point</i> geometry primitive.</li></ul>",
            "default" : "INTERNAL",
            "enum" : [ "INTERNAL" ]
          },
          "sizing" : {
            "$ref" : "#/components/schemas/Meshing.OneOf_HexDominantSnappySizing"
          },
          "physicsBasedMeshing" : {
            "title" : "Automatic boundary layers",
            "type" : "boolean",
            "description" : "This toggle enables the automatic creation of boundary layers at no-slip walls. When toggled on, the meshing is started together with the simulation run.",
            "default" : true,
            "x-showWhen" : [ "meshingMode == INTERNAL" ]
          },
          "numOfProcessors" : {
            "title" : "Number of processors",
            "type" : "integer",
            "description" : "<p>Selecting more processor cores might speed up the meshing process. Choosing a smaller computation instance will save core hours. <a href='https://www.simscale.com/docs/simulation-setup/meshing/#number-of-processors' target='_blank'>Learn more</a>.</p>",
            "format" : "int64",
            "default" : -1,
            "enum" : [ -1, 4, 8, 16, 32, 48, 64, 96 ]
          },
          "maxMeshingRunTime" : {
            "$ref" : "#/components/schemas/Meshing.Dimensional_Time"
          },
          "refinements" : {
            "title" : "Refinements",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Meshing.OneOf_HexDominantSnappyRefinements"
            }
          }
        },
        "additionalProperties" : false
      },
      "Meshing.AutomaticMeshSizingHexDominantSnappy" : {
        "title" : "Automatic mesh sizing",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: AutomaticMeshSizingHexDominantSnappy",
            "default" : "AUTOMATIC"
          },
          "fineness" : {
            "title" : "Fineness",
            "type" : "string",
            "description" : "<p>This parameter determines the <b>fineness of the mesh</b> and affects the overall number of cells. It is recommended to start with the <i>coarse</i> setting. <a href='https://www.simscale.com/docs/analysis-types/pedestrian-wind-comfort-analysis/mesh-settings/' target='_blank'>Find out more.</a></p><p><b>Note:</b> This setting will impact the accuracy of your results as well as computing time and result size. A finer mesh will be more demanding in terms of machine size and memory but lead to more accurate results in most cases.</p>",
            "default" : "COARSE",
            "enum" : [ "VERY_COARSE", "COARSE", "MODERATE", "FINE", "VERY_FINE" ]
          }
        },
        "additionalProperties" : false
      },
      "Meshing.ManualMeshSizingHexDominantSnappy" : {
        "title" : "Manual mesh sizing",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: ManualMeshSizingHexDominantSnappy",
            "default" : "MANUAL"
          },
          "minimumEdgeLength" : {
            "$ref" : "#/components/schemas/Meshing.Dimensional_Length"
          },
          "maximumEdgeLength" : {
            "$ref" : "#/components/schemas/Meshing.Dimensional_Length"
          }
        },
        "additionalProperties" : false
      },
      "Meshing.SurfaceRefinementHexDominantSnappy" : {
        "title" : "Surface refinement",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "A <a href='https://www.simscale.com/docs/simulation-setup/meshing/hex-dominant/#surface-refinement' target='_blank'><b>surface refinement</b></a> can be used to refine the mesh near the surfaces of assigned faces and/or solids. A surface refinement can also be used to create a <u>cell zone</u>.\n\nSchema name: SurfaceRefinementHexDominantSnappy",
            "default" : "SURFACE_HEX_DOMINANT_SNAPPY_V3"
          },
          "name" : {
            "title" : "Name",
            "type" : "string",
            "default" : "Surface refinement"
          },
          "minLength" : {
            "$ref" : "#/components/schemas/Meshing.Dimensional_Length"
          },
          "maxLength" : {
            "$ref" : "#/components/schemas/Meshing.Dimensional_Length"
          },
          "cellZone" : {
            "$ref" : "#/components/schemas/Meshing.OneOf_SurfaceRefinementHexDominantSnappyCellZone"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Meshing.TopologicalReference"
          }
        },
        "additionalProperties" : false,
        "description" : "A <a href='https://www.simscale.com/docs/simulation-setup/meshing/hex-dominant/#surface-refinement' target='_blank'><b>surface refinement</b></a> can be used to refine the mesh near the surfaces of assigned faces and/or solids. A surface refinement can also be used to create a <u>cell zone</u>."
      },
      "Meshing.WithoutCellZone" : {
        "title" : "Without cell zone",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: WithoutCellZone",
            "default" : "WITHOUT_CELL_ZONE"
          }
        },
        "additionalProperties" : false
      },
      "Meshing.WithCellZone" : {
        "title" : "With cell zone",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: WithCellZone",
            "default" : "WITH_CELL_ZONE_V11"
          },
          "name" : {
            "title" : "Name",
            "type" : "string",
            "default" : "Zone"
          }
        },
        "additionalProperties" : false
      },
      "Meshing.FeatureRefinementHexDominantSnappy" : {
        "title" : "Feature refinement",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "A <a href='https://www.simscale.com/docs/simulation-setup/meshing/hex-dominant/#feature-refinement' target='_blank'><b>feature refinement</b></a> can be used to refine the geometry’s feature edges. All edges whose adjacent surface normals form an angle of less than 150° will be refined.\n\nSchema name: FeatureRefinementHexDominantSnappy",
            "default" : "FEATURE_HEX_DOMINANT_SNAPPY"
          },
          "name" : {
            "title" : "Name",
            "type" : "string",
            "default" : "Feature refinement"
          },
          "distanceRefinementLengths" : {
            "title" : "Distance refinement lengths",
            "type" : "array",
            "description" : "Specify the desired <b>target cell edge length</b> based on the <b>distance</b> to the feature edges. The edge and surface mesh will then be refined up until the specified distance in all directions from the edges.",
            "items" : {
              "$ref" : "#/components/schemas/Meshing.RefinementLength"
            },
            "default" : [ {
              "distance" : {
                "value" : 1,
                "unit" : "m"
              },
              "length" : {
                "value" : 1,
                "unit" : "m"
              }
            } ]
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Meshing.TopologicalReference"
          }
        },
        "additionalProperties" : false,
        "description" : "A <a href='https://www.simscale.com/docs/simulation-setup/meshing/hex-dominant/#feature-refinement' target='_blank'><b>feature refinement</b></a> can be used to refine the geometry’s feature edges. All edges whose adjacent surface normals form an angle of less than 150° will be refined."
      },
      "Meshing.LayerAdditionHexDominantSnappy" : {
        "title" : "Inflate boundary layer",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "<a href='https://www.simscale.com/docs/simulation-setup/meshing/hex-dominant/#layers-refinement' target='_blank'><b>Inflated boundary layers</b></a> are used to resolve the boundary layer near walls (no-slip) which are in contact with the fluid. Using boundary layers is generally recommended for turbulent simulations.\n\nSchema name: LayerAdditionHexDominantSnappy",
            "default" : "LAYER_ADDITION_HEX_DOMINANT_SNAPPY"
          },
          "name" : {
            "title" : "Name",
            "type" : "string",
            "default" : "Inflate boundary layer"
          },
          "layers" : {
            "title" : "Layers",
            "minimum" : 0,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "description" : "The number of <b>layers</b> defines how many boundary layers should be created.",
            "default" : 5
          },
          "expansionRatio" : {
            "title" : "Expansion ratio",
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "description" : "<p>The <b>Expansion ratio</b> determines how the boundary layers grow in thickness from the wall to the internal mesh. The larger the ratio, the larger each cell layer will be in comparison to the neighbouring layer closer to the wall.</p><p><img src=\"/spec/resources/help/imgs/shm_bl_expansion-ratio.png\" class=\"helpPopupImage\"/> The figure shows a ratio of 1.3.</p>",
            "default" : 1.3
          },
          "minThickness" : {
            "title" : "Min thickness",
            "maximum" : 2.0,
            "exclusiveMaximum" : false,
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "description" : "Specifies the <b>overall minimum thickness of all layers combined</b>. In case the overall thickness falls below this minimum thickness, no layers will be added for the affected areas.",
            "default" : 0.0
          },
          "firstLayerThickness" : {
            "title" : "Surface layer relative thickness",
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "description" : "Specifies the height (thickness) of the <b>first layer</b> that is closest to the surface. The first layer thickness is specified <b>relative</b> to the neighboring volume cell size after refinements.",
            "default" : 0.055
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Meshing.TopologicalReference"
          }
        },
        "additionalProperties" : false,
        "description" : "<a href='https://www.simscale.com/docs/simulation-setup/meshing/hex-dominant/#layers-refinement' target='_blank'><b>Inflated boundary layers</b></a> are used to resolve the boundary layer near walls (no-slip) which are in contact with the fluid. Using boundary layers is generally recommended for turbulent simulations."
      },
      "Meshing.Resolution" : {
        "required" : [ "x", "y", "z" ],
        "type" : "object",
        "properties" : {
          "x" : {
            "title" : "X",
            "maximum" : 600,
            "exclusiveMaximum" : false,
            "type" : "integer",
            "description" : "<p>Specify the number of cells in x direction for the <a href='https://www.simscale.com/docs/simulation-setup/meshing/hex-dominant/main-settings-for-hex-dominant-parametric/#main-properties' target='_blank'>base mesh</a>.</p>"
          },
          "y" : {
            "title" : "Y",
            "maximum" : 600,
            "exclusiveMaximum" : false,
            "type" : "integer",
            "description" : "<p>Specify the number of cells in y direction for the <a href='https://www.simscale.com/docs/simulation-setup/meshing/hex-dominant/main-settings-for-hex-dominant-parametric/#main-properties' target='_blank'>base mesh</a>.</p>"
          },
          "z" : {
            "title" : "Z",
            "maximum" : 600,
            "exclusiveMaximum" : false,
            "type" : "integer",
            "description" : "<p><p>Specify the number of cells in z direction for the <a href='https://www.simscale.com/docs/simulation-setup/meshing/hex-dominant/main-settings-for-hex-dominant-parametric/#main-properties' target='_blank'>base mesh</a>.</p>"
          }
        },
        "additionalProperties" : false
      },
      "Meshing.CastellatedMeshControls" : {
        "type" : "object",
        "properties" : {
          "maxLocalCells" : {
            "title" : "Max local cells",
            "maximum" : 2000000000,
            "exclusiveMaximum" : false,
            "minimum" : 0,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "description" : "<p>Define the maximal number of cells per processor during refinement</p>",
            "default" : 40000000
          },
          "maxGlobalCells" : {
            "title" : "Max global cells",
            "maximum" : 2000000000,
            "exclusiveMaximum" : false,
            "minimum" : 0,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "description" : "<p>Define the maximum possible number of cells summed upon all processors. Note that this is before the castellation step (see documentation, so the actual number of cells after castellation might be considerably less.</p>",
            "default" : 100000000
          },
          "minRefinementCells" : {
            "title" : "Min refinement cells",
            "minimum" : 1,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "description" : "<p>If in a refinement iteration the number of cells selected for refinement is under this value, the refinement stops. Provide a small value to ensure that all surfaces are refined to the proper level.</p>",
            "default" : 1
          },
          "maxLoadUnbalance" : {
            "title" : "Max load unbalance",
            "maximum" : 1.0,
            "exclusiveMaximum" : false,
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "description" : "<p>Define a fraction indicating the maximum allowable load imbalance between processors working on this job. A value of 0 will force rebalancing for even a slight imbalance.</p>",
            "default" : 0.2
          },
          "cellsBetweenLevels" : {
            "title" : "Cells between levels",
            "minimum" : 1,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "description" : "<p>This parameter specifies the number of layers of cells between different levels of refinement (see documentation).</p>",
            "default" : 3
          },
          "resolveFeatureAngle" : {
            "title" : "Resolve feature angle",
            "maximum" : 180,
            "exclusiveMaximum" : false,
            "minimum" : 0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "description" : "<p>Cells that face multiple intersections with an intersection angle greater than this angle will be refined to the max level. Use this parameter to resolve sharp features to the maximum level of surface refinement specified (see documentation).</p>",
            "default" : 30
          },
          "allowFreeStandingZoneFaces" : {
            "title" : "Allow free standing zone faces",
            "type" : "boolean",
            "description" : "<p>Decide whether you want to allow zone faces that share the same owner and neighbour cell zone. Allowing this can lead to problem when zone faces are snapped to features. This parameter is ignored when no faceZones are present.</p>",
            "default" : false
          }
        },
        "additionalProperties" : false
      },
      "Meshing.SnapControls" : {
        "type" : "object",
        "properties" : {
          "meshToGeometryConformationIterations" : {
            "title" : "Mesh to geometry conformation iterations",
            "minimum" : 0,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "description" : "<p>Define the max number of iterations to ensure that the mesh conforms to the geometry. Higher values lead to a better conforming mesh.</p>",
            "default" : 5
          },
          "tolerance" : {
            "title" : "Tolerance",
            "minimum" : 0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "description" : "<p>This parameter describes a distance (relative to the local maximum mesh edge length) within which the algorithm looks for a geometry point to snap the mesh to. Higher values lead to better snapping but are costlier.</p>",
            "default" : 2
          },
          "solverIterations" : {
            "title" : "Solver iterations",
            "minimum" : 0,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "description" : "<p>This parameter defines the number of displacement relaxation iterations during the meshing process. Higher values lead to enhanced mesh quality but increase the computing time.</p>",
            "default" : 150
          },
          "relaxIterations" : {
            "title" : "Relax iterations",
            "minimum" : 0,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "description" : "<p>This parameter defines the max number of iterations to remove bad mesh points (see documentation).</p>",
            "default" : 8
          },
          "maxMexConformationIterations" : {
            "title" : "Max mesh conformation iterations",
            "minimum" : 0,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "description" : "<p>This parameter defines the max number of iterations done to ensure that the mesh conforms to the geometry.</p>",
            "default" : 10
          },
          "implicitFeatureSnap" : {
            "title" : "Implicit feature snap",
            "type" : "boolean",
            "description" : "<p>Activating this makes the snapping algorithm detecting geometrical features by sampling the surface. This might be time-consuming. The other option is to create a feature refinement which also enables feature snapping.</p>",
            "default" : true
          },
          "explicitFeatureSnap" : {
            "title" : "Explicit feature snap",
            "type" : "boolean",
            "description" : "<p>Use the explicitly given feature refinements for feature snapping. An explicit feature refinement can be added under 'Mesh refinement'. Specifying a feature refinement results in sharp mesh edges even with a refinement level of zero.</p>",
            "default" : false
          },
          "detectFeaturesBetweenMultipleSurfaces" : {
            "title" : "Detect features between multiple surfaces",
            "type" : "boolean",
            "description" : "<p>Also detect features between multiple surfaces. This is relevant when you want to create a mesh with multiple regions - used for example in the conjugate heat transfer solver. Needs 'Use feature refinement for snapping' turned on!</p>",
            "default" : true
          }
        },
        "additionalProperties" : false
      },
      "Meshing.LayerAddingControls" : {
        "type" : "object",
        "properties" : {
          "relativeSize" : {
            "title" : "Layer size",
            "type" : "boolean",
            "description" : "<p>If turned on, the length parameters for layer refinements (e.g. 'Thickness of the final layer', 'Minimum overall layer thickness') are multiplied by the local cell size outside that layer. Else, they are used as absolute lengths.</p>",
            "default" : true
          },
          "maxCancelledLayersNearSharpFeatures" : {
            "title" : "Max cancelled layers near sharp features",
            "minimum" : 0,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "description" : "<p>If the algorithm faces difficulty generating layers, this is the maximum number of layers that are NOT generated in that region. Such cases might occur near sharp features. Set to 0 to force layer generation for all cases.</p>",
            "default" : 0
          },
          "featureAngle" : {
            "$ref" : "#/components/schemas/Meshing.Dimensional_Angle"
          },
          "slipFeatureAngle" : {
            "$ref" : "#/components/schemas/Meshing.Dimensional_Angle"
          },
          "relaxIterations" : {
            "title" : "Relax iterations",
            "minimum" : 0,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "description" : "<p>Specify the maximum number of relaxation iterations for the snapping process for layers.</p>",
            "default" : 8
          },
          "surfaceNormalsMaxSmoothingIterations" : {
            "title" : "Surface normals max smoothing iterations",
            "minimum" : 0,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "description" : "<p>Specify the maximum number of smoothing iterations for the surface normals.</p>",
            "default" : 2
          },
          "internalMeshMaxSmoothingIterations" : {
            "title" : "Internal mesh max smoothing iterations",
            "minimum" : 0,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "description" : "<p>Specify the number of smoothing iterations for the interior mesh movement. This movement occurs in order to make space for layers.</p>",
            "default" : 5
          },
          "layerThicknessMaxSmoothingIterations" : {
            "title" : "Layer thickness max smoothing iterations",
            "minimum" : 0,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "description" : "<p>This specifies the number of iterations for smoothing of the overall layer thickness over different surface patches.</p>",
            "default" : 10
          },
          "maxFaceThicknessRatio" : {
            "title" : "Max face thickness ratio",
            "minimum" : 0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "description" : "<p>Specify the maximum allowable face aspect ratio beyond which layers will not be added.</p>",
            "default" : 0.5
          },
          "maxThicknessToMedialRatio" : {
            "title" : "Max thickness to medial ratio",
            "minimum" : 0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "description" : "<p>The medial length is a measure of the aspect ratio for a non-quadrilateral face. This parameter prevents layer addition for non-quad faces that are highly anisotropic.</p>",
            "default" : 0.3
          },
          "minMedianAxisAngle" : {
            "$ref" : "#/components/schemas/Meshing.Dimensional_Angle"
          },
          "bufferCellsNoExtrude" : {
            "title" : "Buffer cells between refinement levels",
            "minimum" : 0,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "description" : "<p>This parameter specifies the number of buffer cells to be extruded at cell-faces where layers terminate. Set to < 0 to disable.</p>",
            "default" : 0
          },
          "layerAdditionMaxIterations" : {
            "title" : "Layer addition max iterations",
            "minimum" : 0,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "description" : "<p>Specify the overall layer addition iteration number. The algorithm will abort definitely as soon as this number is reached. In this case, the mesh might be illegal.</p>",
            "default" : 50
          },
          "maxIterationsWithStrictQualityControls" : {
            "title" : "Max iterations with strict quality controls",
            "minimum" : 0,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "description" : "<p>This parameter specifies the maximum number of layer iterations that are done with the mesh quality controls. On exceeding these, the algorithm switches to less strict controls specified in the 'relaxed' category.</p>",
            "default" : 20
          }
        },
        "additionalProperties" : false
      },
      "Meshing.Dimensional_Angle" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "title" : "Value",
            "type" : "number"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "rad", "°" ]
          }
        },
        "additionalProperties" : false
      },
      "Meshing.MeshQualityControls" : {
        "type" : "object",
        "properties" : {
          "maxNonOrthogonality" : {
            "$ref" : "#/components/schemas/Meshing.Dimensional_Angle"
          },
          "maxBoundarySkewness" : {
            "$ref" : "#/components/schemas/Meshing.Dimensional_Angle"
          },
          "maxInternalSkewness" : {
            "$ref" : "#/components/schemas/Meshing.Dimensional_Angle"
          },
          "maxConcaveness" : {
            "$ref" : "#/components/schemas/Meshing.Dimensional_Angle"
          },
          "minVolume" : {
            "$ref" : "#/components/schemas/Meshing.Dimensional_Volume"
          },
          "minTetQuality" : {
            "title" : "Min tet quality",
            "type" : "number",
            "description" : "<p>Define a minimum tetrahedron quality for cells (see documentation). Choose a low negative number to disable this check, e.g. -1e30.</p>",
            "default" : -1000000000000000000000000000000
          },
          "minFaceArea" : {
            "$ref" : "#/components/schemas/Meshing.Dimensional_Area"
          },
          "minFaceTwist" : {
            "title" : "Min face twist",
            "type" : "number",
            "description" : "<p>Define the minimum cosine of face twist allowed (see documentation). Set to a value smaller than -1 to disable. The value results from the dot product of the face normal and the face centre triangles normal.</p>",
            "default" : 0.01
          },
          "minDeterminant" : {
            "title" : "Min determinant",
            "maximum" : 1.0,
            "exclusiveMaximum" : false,
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "description" : "<p>Define the minimum normalised cell determinant. Choose a value between 0 and 1. Hex corresponds to 1.</p>",
            "default" : 0.001
          },
          "minFaceWeight" : {
            "title" : "Min face weight",
            "maximum" : 0.5,
            "exclusiveMaximum" : false,
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "description" : "<p>The face weight specifies the distribution of a face's contribution to its two neighbouring cells. A very small face weight would mean that the neighbouring cells are disproportionately different in size. Choose a value between 0 and 0.5. 0.5 refers to a face with neighbouring cells of the same size.</p>",
            "default" : 0.02
          },
          "minVolumeRatio" : {
            "title" : "Min volume ratio",
            "type" : "number",
            "description" : "<p>This parameter specifies the minimum allowed volume ratio between two adjacent cells. Choose a value between 0 and 1. 1 means that the neighbouring cells have the same volume.</p>",
            "default" : 0.01
          },
          "minTriangleTwist" : {
            "title" : "Min triangle twist",
            "maximum" : 1.0,
            "exclusiveMaximum" : false,
            "type" : "number",
            "description" : "<p>Same as Min Face Twist, but for adjacent triangular faces (see documentation). Choose a value below -1 to disable this feature.</p>",
            "default" : -1
          },
          "errorDistributionIterations" : {
            "title" : "Error distribution iterations",
            "type" : "integer",
            "description" : "<p>Define the number of error distribution iterations.</p>",
            "default" : 4
          },
          "errorReduction" : {
            "title" : "Error reduction",
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "description" : "<p>This parameter specifies how much the displacement is scaled at error locations.</p>",
            "default" : 0.75
          },
          "relaxedMaxNonOrthogonality" : {
            "$ref" : "#/components/schemas/Meshing.Dimensional_Angle"
          },
          "mergeTolerance" : {
            "title" : "Merge tolerance",
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "description" : "<p>This parameters specifies the accuracy of face merging as a fraction of the initial bounding box.</p>",
            "default" : 1.0E-6
          }
        },
        "additionalProperties" : false
      },
      "Meshing.Dimensional_Volume" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "title" : "Value",
            "type" : "number"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "m³", "in³" ]
          }
        },
        "additionalProperties" : false
      },
      "Meshing.Dimensional_Area" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "title" : "Value",
            "type" : "number"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "m²", "in²" ]
          }
        },
        "additionalProperties" : false
      },
      "Meshing.BoundingBoxLayerAddition" : {
        "title" : "Bounding box layer addition",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "This option enables layer refinement on the faces of the bounding box. This refinement is useful if the bounding box itself provides walls of the flow domain. It is often used for external aerodynamic cases where the floor is considered as a wall and hence the mesh should be refined with layers in the vicinity.\n\nSchema name: BoundingBoxLayerAddition",
            "default" : "BOUNDING_BOX_LAYER_ADDITION"
          },
          "name" : {
            "title" : "Name",
            "type" : "string",
            "default" : "Bounding box layer addition"
          },
          "face" : {
            "title" : "Face",
            "type" : "string",
            "description" : "This option selects the face of the bounding box on which layers will be added. A face is selected by its normal (denoted by the respective coordinate system axis) and its position (denoted by min or max).",
            "default" : "XMIN",
            "enum" : [ "XMIN", "XMAX", "YMIN", "YMAX", "ZMIN", "ZMAX" ]
          },
          "layers" : {
            "title" : "Layers",
            "minimum" : 0,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "description" : "The number of <b>layers</b> defines how many boundary layers should be created.",
            "default" : 5
          },
          "expansionRatio" : {
            "title" : "Expansion ratio",
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "description" : "<p>The <b>Expansion ratio</b> determines how the boundary layers grow in thickness from the wall to the internal mesh. The larger the ratio, the larger each cell layer will be in comparison to the neighbouring layer closer to the wall.</p><p><img src=\"/spec/resources/help/imgs/shm_bl_expansion-ratio.png\" class=\"helpPopupImage\"/> The figure shows a ratio of 1.3.</p>",
            "default" : 1.3
          },
          "minThickness" : {
            "$ref" : "#/components/schemas/Meshing.Dimensional_Length"
          },
          "finalThickness" : {
            "$ref" : "#/components/schemas/Meshing.Dimensional_Length"
          }
        },
        "additionalProperties" : false,
        "description" : "This option enables layer refinement on the faces of the bounding box. This refinement is useful if the bounding box itself provides walls of the flow domain. It is often used for external aerodynamic cases where the floor is considered as a wall and hence the mesh should be refined with layers in the vicinity."
      },
      "Meshing.FeatureRefinement" : {
        "title" : "Feature refinement",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "A <a href='https://www.simscale.com/docs/simulation-setup/meshing/hex-dominant/#feature-refinement' target='_blank'><b>feature refinement</b></a> can be used to refine the geometry’s feature edges. All edges whose adjacent surface normals form an angle of less than 150° will be refined.\n\nSchema name: FeatureRefinement",
            "default" : "FEATURE"
          },
          "name" : {
            "title" : "Name",
            "type" : "string",
            "default" : "Feature refinement"
          },
          "includedAngle" : {
            "$ref" : "#/components/schemas/Meshing.Dimensional_Angle"
          },
          "distanceRefinementLevels" : {
            "title" : "Distance refinement levels",
            "type" : "array",
            "description" : "<p>This dynamic table allows you to add refinements to the mesh associated with the features (e.g. edges) in a specific distance to the features. Therefore specify the distance in the left box and the associated refinement level on the right (the higher, the finer). The pair (0,0) would mean that a refinement with level 0 would be introduced directly at the features of the mesh.</p>",
            "items" : {
              "$ref" : "#/components/schemas/Meshing.RefinementLevel"
            },
            "default" : [ {
              "distance" : {
                "value" : 1,
                "unit" : "m"
              },
              "level" : 1
            } ]
          }
        },
        "additionalProperties" : false,
        "description" : "A <a href='https://www.simscale.com/docs/simulation-setup/meshing/hex-dominant/#feature-refinement' target='_blank'><b>feature refinement</b></a> can be used to refine the geometry’s feature edges. All edges whose adjacent surface normals form an angle of less than 150° will be refined."
      },
      "Meshing.RefinementLevel" : {
        "type" : "object",
        "properties" : {
          "distance" : {
            "$ref" : "#/components/schemas/Meshing.Dimensional_Length"
          },
          "level" : {
            "title" : "Level",
            "minimum" : 0,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "default" : 1
          }
        },
        "additionalProperties" : false
      },
      "Meshing.LayerAddition" : {
        "title" : "Inflate boundary layer",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "<a href='https://www.simscale.com/docs/simulation-setup/meshing/hex-dominant/#layers-refinement' target='_blank'><b>Inflated boundary layers</b></a> are used to resolve the boundary layer near walls (no-slip) which are in contact with the fluid. Using boundary layers is generally recommended for turbulent simulations.\n\nSchema name: LayerAddition",
            "default" : "LAYER_ADDITION"
          },
          "name" : {
            "title" : "Name",
            "type" : "string",
            "default" : "Inflate boundary layer"
          },
          "layers" : {
            "title" : "Layers",
            "minimum" : 0,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "description" : "The number of <b>layers</b> defines how many boundary layers should be created.",
            "default" : 5
          },
          "expansionRatio" : {
            "title" : "Expansion ratio",
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "description" : "<p>The <b>Expansion ratio</b> determines how the boundary layers grow in thickness from the wall to the internal mesh. The larger the ratio, the larger each cell layer will be in comparison to the neighbouring layer closer to the wall.</p><p><img src=\"/spec/resources/help/imgs/shm_bl_expansion-ratio.png\" class=\"helpPopupImage\"/> The figure shows a ratio of 1.3.</p>",
            "default" : 1.3
          },
          "minThickness" : {
            "title" : "Min thickness",
            "maximum" : 2.0,
            "exclusiveMaximum" : false,
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "description" : "<p>This is the overall minimum thickness of all added layers. If for any case the overall layer thickness is smaller than this value, the layer addition process is stopped and no layers are added. In case the 'Use relative size for layers?' option in the global settings is set to 'true', this thickness is relative to the undistorted size of the cells in the internal mesh directly next to the boundary layer.</p>",
            "default" : 0.01
          },
          "finalLayerThickness" : {
            "title" : "Final layer thickness",
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "description" : "<p>Specify the desired final layer thickness farthest away from the wall on which the boundary layer is grown. If the 'Layer Size' toggle in the hex-parametric global settings is turned on, this thickness is relative to the undistorted size of the cells in the internal mesh directly next to the boundary layer.</p>",
            "default" : 0.3
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Meshing.TopologicalReference"
          }
        },
        "additionalProperties" : false,
        "description" : "<a href='https://www.simscale.com/docs/simulation-setup/meshing/hex-dominant/#layers-refinement' target='_blank'><b>Inflated boundary layers</b></a> are used to resolve the boundary layer near walls (no-slip) which are in contact with the fluid. Using boundary layers is generally recommended for turbulent simulations."
      },
      "Meshing.RegionRefinementWithLevels" : {
        "title" : "Region refinement",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "A <a href='https://www.simscale.com/docs/simulation-setup/meshing/hex-dominant/#region-refinement' target='_blank'><b>region refinement</b></a> can be used to refine the mesh in a given area. The refinement area needs to be defined either via a geometry primitive or an existing solid (Hex-dominant only).\n\nSchema name: RegionRefinementWithLevels",
            "default" : "REGION_LEVELS"
          },
          "name" : {
            "title" : "Name",
            "type" : "string",
            "default" : "Region refinement"
          },
          "refinement" : {
            "$ref" : "#/components/schemas/Meshing.OneOf_RegionRefinementWithLevelsRefinement"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Meshing.TopologicalReference"
          },
          "geometryPrimitiveUuids" : {
            "title" : "Geometry primitives",
            "type" : "array",
            "items" : {
              "type" : "string",
              "format" : "uuid"
            },
            "x-referencedPrimitivesOptions" : {
              "allowMultiple" : true,
              "pathToPrimitives" : "geometryPrimitives",
              "allowedReferencedPrimitiveTypes" : [ "CARTESIAN_BOX", "CYLINDER", "SPHERE" ]
            }
          }
        },
        "additionalProperties" : false,
        "description" : "A <a href='https://www.simscale.com/docs/simulation-setup/meshing/hex-dominant/#region-refinement' target='_blank'><b>region refinement</b></a> can be used to refine the mesh in a given area. The refinement area needs to be defined either via a geometry primitive or an existing solid (Hex-dominant only)."
      },
      "Meshing.InsideRegionRefinementWithLevels" : {
        "title" : "Inside",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: InsideRegionRefinementWithLevels",
            "default" : "INSIDE"
          },
          "level" : {
            "title" : "Level",
            "type" : "integer",
            "default" : 1
          }
        },
        "additionalProperties" : false
      },
      "Meshing.DistanceRegionRefinementWithLevels" : {
        "title" : "Distance",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: DistanceRegionRefinementWithLevels",
            "default" : "DISTANCE"
          },
          "distanceRefinementLevels" : {
            "title" : "Distance refinement levels",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Meshing.RefinementLevel"
            },
            "default" : [ {
              "distance" : {
                "value" : 1,
                "unit" : "m"
              },
              "level" : 1
            } ]
          }
        },
        "additionalProperties" : false
      },
      "Meshing.OutsideRegionRefinementWithLevels" : {
        "title" : "Outside",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: OutsideRegionRefinementWithLevels",
            "default" : "OUTSIDE"
          },
          "level" : {
            "title" : "Level",
            "type" : "integer",
            "default" : 1
          }
        },
        "additionalProperties" : false
      },
      "Meshing.SurfaceRefinement" : {
        "title" : "Surface refinement",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "A <a href='https://www.simscale.com/docs/simulation-setup/meshing/hex-dominant/#surface-refinement' target='_blank'><b>surface refinement</b></a> can be used to refine the mesh near the surfaces of assigned faces and/or solids. A surface refinement can also be used to create a <u>cell zone</u>.\n\nSchema name: SurfaceRefinement",
            "default" : "SURFACE_V3"
          },
          "name" : {
            "title" : "Name",
            "type" : "string",
            "default" : "Surface refinement"
          },
          "minLevel" : {
            "title" : "Min level",
            "minimum" : 0,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "description" : "<p>Specify surface-wise the minimum refinement level for this surface.</p>",
            "default" : 1
          },
          "maxLevel" : {
            "title" : "Max level",
            "minimum" : 0,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "description" : "<p>Specify surface-wise the maximum refinement level for this surface.</p>",
            "default" : 2
          },
          "cellZone" : {
            "$ref" : "#/components/schemas/Meshing.OneOf_SurfaceRefinementCellZone"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Meshing.TopologicalReference"
          }
        },
        "additionalProperties" : false,
        "description" : "A <a href='https://www.simscale.com/docs/simulation-setup/meshing/hex-dominant/#surface-refinement' target='_blank'><b>surface refinement</b></a> can be used to refine the mesh near the surfaces of assigned faces and/or solids. A surface refinement can also be used to create a <u>cell zone</u>."
      },
      "Meshing.DebugMeshSizingSimmetrix" : {
        "title" : "Debug",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: DebugMeshSizingSimmetrix",
            "default" : "DEBUG"
          },
          "maximumEdgeLength" : {
            "$ref" : "#/components/schemas/Meshing.Dimensional_Length"
          },
          "minimumEdgeLength" : {
            "$ref" : "#/components/schemas/Meshing.Dimensional_Length"
          },
          "chordalError" : {
            "title" : "Chordal error",
            "maximum" : 0.5,
            "exclusiveMaximum" : false,
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "default" : 0.4
          },
          "minCurvRef" : {
            "title" : "Min curv ref",
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "default" : 0.0
          },
          "gradationRate" : {
            "title" : "Gradation rate",
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "default" : 0.66
          },
          "proxRefFactor" : {
            "title" : "Prox ref factor",
            "maximum" : 4.0,
            "exclusiveMaximum" : false,
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "default" : 0.0
          },
          "minProxSize" : {
            "$ref" : "#/components/schemas/Meshing.Dimensional_Length"
          },
          "smallFeatureTol" : {
            "title" : "Small feature tol",
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "default" : 0.0
          },
          "layerAdjustmentBehaviour" : {
            "title" : "Layer adjustment behaviour",
            "type" : "string",
            "default" : "SHRINKING",
            "enum" : [ "SHRINKING", "TRIMMING" ]
          },
          "layerHeightGradationRate" : {
            "title" : "Layer height gradation rate",
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "default" : 0.66
          },
          "surfSkewness" : {
            "title" : "Surf skewness",
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "default" : 0.7
          },
          "volLenRatio" : {
            "title" : "Vol len ratio",
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "default" : 0.15
          }
        },
        "additionalProperties" : false
      },
      "Meshing.PolygridMeshing" : {
        "title" : "Cartesian",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: PolygridMeshing",
            "default" : "POLYGRID_MESHING"
          },
          "sizing" : {
            "$ref" : "#/components/schemas/Meshing.OneOf_PolygridMeshingSizing"
          },
          "refinements" : {
            "title" : "Refinements",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Meshing.OneOf_PolygridMeshingRefinements"
            }
          },
          "numberOfBufferCells" : {
            "title" : "Number of buffer cells",
            "maximum" : 10.0,
            "exclusiveMaximum" : false,
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "description" : "Target number of cells for every cell size level. Higher number of buffer cells ensure smoother cell size transitions, which results in better accuracy but bigger computation costs. On the other hand, lower number of buffer cells will result in smaller computation costs but worse accuracy. <img src=\"/spec/resources/help/imgs/buffer_cells.png\" class=\"helpPopupImage\"/>",
            "default" : 4.0
          },
          "numOfProcessors" : {
            "title" : "Number of processors",
            "type" : "integer",
            "description" : "<p>Selecting more processor cores might speed up the meshing process. Choosing a smaller computation instance will save core hours. <a href='https://www.simscale.com/docs/simulation-setup/meshing/#number-of-processors' target='_blank'>Learn more</a>.</p>",
            "format" : "int64",
            "default" : -1,
            "enum" : [ -1, 4, 8, 16, 32, 64, 96 ]
          },
          "maxMeshingRunTime" : {
            "$ref" : "#/components/schemas/Meshing.Dimensional_Time"
          }
        },
        "additionalProperties" : false
      },
      "Meshing.AutomaticPolygridMeshSizing" : {
        "title" : "Automatic",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: AutomaticPolygridMeshSizing",
            "default" : "AUTOMATIC_POLYGRID_MESH_SIZING"
          },
          "fineness" : {
            "title" : "Fineness",
            "maximum" : 10.0,
            "exclusiveMaximum" : false,
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "description" : "<p>This parameter determines the <b>fineness of the mesh</b> and affects the overall number of cells.</p><p><b>Note:</b> This setting will impact the accuracy of your results as well as computing time and result size. A finer mesh will be more demanding in terms of machine size and memory but lead to more accurate results.</p>",
            "default" : 5.0
          },
          "physicsBasedMeshingIBM" : {
            "title" : "Physics-based meshing",
            "type" : "boolean",
            "description" : "<b>Physics-based meshing</b> takes setup information into account to size the immersed mesh accordingly. Users can expect automatic refinements applied to the following: </p><ul><li><p><b>Boundary faces</b>: All of those which belong to a boundary condition.</p></li> <li><p><b>Advanced concepts</b>: Power and momentum sources, porous regions and thermal resistance networks.</p></li></ul>",
            "default" : true
          }
        },
        "additionalProperties" : false
      },
      "Meshing.ManualPolygridMeshSizing" : {
        "title" : "Manual",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: ManualPolygridMeshSizing",
            "default" : "MANUAL_POLYGRID_MESH_SIZING"
          },
          "maximumEdgeLength" : {
            "$ref" : "#/components/schemas/Meshing.Dimensional_Length"
          },
          "minimumEdgeLength" : {
            "$ref" : "#/components/schemas/Meshing.Dimensional_Length"
          },
          "physicsBasedMeshingIBM" : {
            "title" : "Physics-based meshing",
            "type" : "boolean",
            "description" : "<b>Physics-based meshing</b> takes setup information into account to size the immersed mesh accordingly. Users can expect automatic refinements applied to the following: </p><ul><li><p><b>Boundary faces</b>: All of those which belong to a boundary condition.</p></li> <li><p><b>Advanced concepts</b>: Power and momentum sources, porous regions and thermal resistance networks.</p></li></ul>",
            "default" : true
          }
        },
        "additionalProperties" : false
      },
      "Meshing.CustomPolygridMeshSizing" : {
        "title" : "Custom",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: CustomPolygridMeshSizing",
            "default" : "CUSTOM_POLYGRID_MESH_SIZING"
          },
          "numCellsPerDirection" : {
            "$ref" : "#/components/schemas/Meshing.NumberOfCellsPerDirection"
          },
          "numRefinementLevels" : {
            "title" : "Number of refinement levels",
            "maximum" : 7,
            "exclusiveMaximum" : false,
            "minimum" : 0,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "description" : "Number of refinement levels to refine in the vicinity of all CAD surfaces.",
            "default" : 3,
            "x-divisibleBy" : 1
          },
          "physicsBasedMeshingIBM" : {
            "title" : "Physics-based meshing",
            "type" : "boolean",
            "description" : "<b>Physics-based meshing</b> takes setup information into account to size the immersed mesh accordingly. Users can expect automatic refinements applied to the following: </p><ul><li><p><b>Boundary faces</b>: All of those which belong to a boundary condition.</p></li> <li><p><b>Advanced concepts</b>: Power and momentum sources, porous regions and thermal resistance networks.</p></li></ul>",
            "default" : true
          }
        },
        "additionalProperties" : false
      },
      "Meshing.NumberOfCellsPerDirection" : {
        "title" : "Number of cells",
        "type" : "object",
        "properties" : {
          "x" : {
            "title" : "X",
            "maximum" : 600,
            "exclusiveMaximum" : false,
            "minimum" : 10,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "default" : 40
          },
          "y" : {
            "title" : "Y",
            "maximum" : 600,
            "exclusiveMaximum" : false,
            "minimum" : 10,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "default" : 40
          },
          "z" : {
            "title" : "Z",
            "maximum" : 600,
            "exclusiveMaximum" : false,
            "minimum" : 10,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "default" : 40
          }
        },
        "additionalProperties" : false
      },
      "Meshing.RegionRefinementEBM" : {
        "title" : "Region refinement",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: RegionRefinementEBM",
            "default" : "REGION_REFINEMENT_EBM"
          },
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "refinement" : {
            "$ref" : "#/components/schemas/Meshing.OneOf_RegionRefinementEBMRefinement"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Meshing.TopologicalReference"
          },
          "geometryPrimitiveUuids" : {
            "title" : "Geometry primitives",
            "type" : "array",
            "items" : {
              "type" : "string",
              "format" : "uuid"
            },
            "x-referencedPrimitivesOptions" : {
              "allowMultiple" : true,
              "pathToPrimitives" : "geometryPrimitives",
              "allowedReferencedPrimitiveTypes" : [ "CARTESIAN_BOX", "CYLINDER", "SPHERE" ]
            }
          }
        },
        "additionalProperties" : false
      },
      "Meshing.LocalElementSizeEBM" : {
        "title" : "Local element size",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: LocalElementSizeEBM",
            "default" : "LOCAL_SIZING_EBM"
          },
          "name" : {
            "title" : "Name",
            "type" : "string",
            "default" : "Local element size"
          },
          "maxElementSize" : {
            "$ref" : "#/components/schemas/Meshing.Dimensional_Length"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Meshing.TopologicalReference"
          }
        },
        "additionalProperties" : false
      },
      "Meshing.ManualCfMeshSizing" : {
        "title" : "Manual mesh sizing",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: ManualCfMeshSizing",
            "default" : "MANUAL_CF_MESH_SIZING"
          },
          "maximumEdgeLength" : {
            "$ref" : "#/components/schemas/Meshing.Dimensional_Length"
          },
          "minimumEdgeLength" : {
            "$ref" : "#/components/schemas/Meshing.Dimensional_Length"
          }
        },
        "additionalProperties" : false
      },
      "Meshing.RegionRefinementCfMesh" : {
        "title" : "Volume custom sizing",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: RegionRefinementCfMesh",
            "default" : "REGION_REFINEMENT_CF_MESH"
          },
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "refinement" : {
            "$ref" : "#/components/schemas/Meshing.InsideRegionRefinementWithLength"
          },
          "geometryPrimitiveUuids" : {
            "title" : "Geometry primitives",
            "type" : "array",
            "items" : {
              "type" : "string",
              "format" : "uuid"
            },
            "x-referencedPrimitivesOptions" : {
              "allowMultiple" : true,
              "pathToPrimitives" : "geometryPrimitives",
              "allowedReferencedPrimitiveTypes" : [ "CARTESIAN_BOX", "CYLINDER", "SPHERE" ]
            }
          }
        },
        "additionalProperties" : false
      },
      "Meshing.LocalElementSizeCfMesh" : {
        "title" : "Surface custom sizing",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: LocalElementSizeCfMesh",
            "default" : "LOCAL_SIZING_CF_MESH"
          },
          "name" : {
            "title" : "Name",
            "type" : "string",
            "default" : "Local element size"
          },
          "maxElementSize" : {
            "$ref" : "#/components/schemas/Meshing.Dimensional_Length"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Meshing.TopologicalReference"
          }
        },
        "additionalProperties" : false
      },
      "Meshing.OneOf_SimmetrixThinSectionMeshRefinementDistanceType" : {
        "title" : "Distance type",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "ABSOLUTE" : "#/components/schemas/Meshing.AbsoluteDistance",
            "RELATIVE" : "#/components/schemas/Meshing.RelativeDistance"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Meshing.AbsoluteDistance"
        }, {
          "$ref" : "#/components/schemas/Meshing.RelativeDistance"
        } ],
        "default" : {
          "type" : "ABSOLUTE"
        }
      },
      "Meshing.OneOf_SimmetrixThinSectionMeshRefinementSizingType" : {
        "title" : "Sweep sizing type",
        "description" : "<b>Sweep sizing type</b> allows you to specify either the number of elements or the element thickness along the direction of the sweep. The actual absolute thickness will match the desired value as close as possible, given the length of the sweep region as a constraint.",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "SWEEP_MESHING_ABSOLUTE_SIZE" : "#/components/schemas/Meshing.SweepMeshingAbsoluteSize",
            "SWEEP_MESHING_NUMBER_OF_ELEMENTS" : "#/components/schemas/Meshing.SweepMeshingNumberOfElements"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Meshing.SweepMeshingAbsoluteSize"
        }, {
          "$ref" : "#/components/schemas/Meshing.SweepMeshingNumberOfElements"
        } ],
        "default" : {
          "type" : "SWEEP_MESHING_ABSOLUTE_SIZE"
        }
      },
      "Meshing.OneOf_SurfaceRefinementHexDominantSnappyCellZone" : {
        "title" : "Cell zone",
        "description" : "<p>You can create cell zones in your mesh by assigning this option to one or more of your CAD bodies. They can be later defined as Rotating Zones or Porosity Volumes, among others. Check these options under “Advanced Concepts” in the simulation tree.<p>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "WITHOUT_CELL_ZONE" : "#/components/schemas/Meshing.WithoutCellZone",
            "WITH_CELL_ZONE_V11" : "#/components/schemas/Meshing.WithCellZone"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Meshing.WithoutCellZone"
        }, {
          "$ref" : "#/components/schemas/Meshing.WithCellZone"
        } ]
      },
      "Meshing.OneOf_AutomaticLayerOnLayerType" : {
        "title" : "Layer gradation control",
        "description" : "<p>Define how the layers should be distributed within the overall layer thickness:</p><ul><li><p><b>Specify growth rate:</b> Define the growth rate between adjacent layers. </p></li> <li><p><b>Specify first layer thickness:</b> Define the absolute thickness of the first layer. The remaining layers are distributed automatically. Choose this option for example to strictly control the y+ value. </p></li> <li><p><b>Specify first layer and total absolute thickness:</b> Define the absolute value of the first layer and the total layer thickness. The growth rate is computed automatically using a geometric progression. </p></li></ul>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "FRACTIONAL_HEIGHT_1" : "#/components/schemas/Meshing.FractionalHeight1",
            "FRACTIONAL_HEIGHT_2" : "#/components/schemas/Meshing.FractionalHeight2",
            "GEOMETRIC_GROWTH" : "#/components/schemas/Meshing.GeometricGrowth",
            "FIRST_LAYER_GROWTH" : "#/components/schemas/Meshing.FirstLayerGrowth"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Meshing.FractionalHeight1"
        }, {
          "$ref" : "#/components/schemas/Meshing.FractionalHeight2"
        }, {
          "$ref" : "#/components/schemas/Meshing.GeometricGrowth"
        }, {
          "$ref" : "#/components/schemas/Meshing.FirstLayerGrowth"
        } ],
        "x-conditionalDefaults" : [ {
          "when" : [ "type == CF_MESH_MESHING" ],
          "default" : {
            "type" : "FIRST_LAYER_GROWTH"
          }
        }, {
          "when" : [ "type != CF_MESH_MESHING" ],
          "default" : {
            "type" : "FRACTIONAL_HEIGHT_2"
          }
        } ]
      },
      "Meshing.OneOf_RegionRefinementWithLengthRefinement" : {
        "title" : "Refinement mode",
        "description" : "<p>Choose between the following refinement modes:</p><ul><li><b>Inside:</b> Refines all volume mesh cells inside the selected volumes up to the specified cell edge length.</li><li><b>Outside:</b> Refines the mesh cells outside of the specified area up to the specified cell edge length.</li><li><b>Distance:</b> Refines mesh cells according to the distance to the surface of the assigned volume(s). The <i>Distance</i> mode can accommodate different refinement levels at multiple distances.</li></ul>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "INSIDE" : "#/components/schemas/Meshing.InsideRegionRefinementWithLength",
            "DISTANCE" : "#/components/schemas/Meshing.DistanceRegionRefinementWithLength",
            "OUTSIDE" : "#/components/schemas/Meshing.OutsideRegionRefinementWithLength"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Meshing.InsideRegionRefinementWithLength"
        }, {
          "$ref" : "#/components/schemas/Meshing.DistanceRegionRefinementWithLength"
        }, {
          "$ref" : "#/components/schemas/Meshing.OutsideRegionRefinementWithLength"
        } ],
        "default" : {
          "type" : "INSIDE"
        }
      },
      "Meshing.OneOf_RegionRefinementWithLengthCurvature" : {
        "title" : "Curvature",
        "description" : "The <b>Curvature</b> setting allows the user to specify the mesh refinement on curved features. By default, this is <b>Automatic</b>. Alternatively, the user can specify the curvature in terms of number of mesh nodes in a circle using <b>Relative</b>. Curvature refinement is <b>not</b> supported for Geometry primitive region refinement.",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "AUTOMATIC_CURVATURE" : "#/components/schemas/Meshing.AutomaticCurvature",
            "RELATIVE_CURVATURE" : "#/components/schemas/Meshing.RelativeCurvature"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Meshing.AutomaticCurvature"
        }, {
          "$ref" : "#/components/schemas/Meshing.RelativeCurvature"
        } ],
        "default" : {
          "type" : "AUTOMATIC_CURVATURE"
        },
        "x-showWhen" : [ "type in [SIMMETRIX_MESHING_FLUID_V16,SIMMETRIX_MESHING_SOLID,SIMMETRIX_MESHING_ELECTROMAGNETICS]" ]
      },
      "Meshing.OneOf_SurfaceCustomSizingSizing" : {
        "title" : "Sizing",
        "description" : "<p>Define how to control the overall <a href='https://www.simscale.com/docs/simulation-setup/meshing/standard/#sizing-and-fineness' target='_blank'><b>mesh sizing</b></a>:</p><ul> <li><p><b>Automatic:</b> Element sizing is controlled by <b>automatic fineness levels</b> that take the geometrical properties into account.</p></li> <li><p><b>Manual:</b> Element sizing is controlled by <b>default and minimum size</b>.</p></li></ul>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "AUTOMATIC_V9" : "#/components/schemas/Meshing.AutomaticMeshSizingSimmetrix",
            "CUSTOM" : "#/components/schemas/Meshing.CustomMeshSizingSimmetrix"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Meshing.AutomaticMeshSizingSimmetrix"
        }, {
          "$ref" : "#/components/schemas/Meshing.CustomMeshSizingSimmetrix"
        } ],
        "default" : {
          "type" : "AUTOMATIC_V9"
        }
      },
      "Meshing.OneOf_SurfaceRefinementCellZone" : {
        "title" : "Cell zone",
        "description" : "<p>You can create cell zones in your mesh by assigning this option to one or more of your CAD bodies. They can be later defined as Rotating Zones or Porosity Volumes, among others. Check these options under “Advanced Concepts” in the simulation tree.<p>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "WITHOUT_CELL_ZONE" : "#/components/schemas/Meshing.WithoutCellZone",
            "WITH_CELL_ZONE_V11" : "#/components/schemas/Meshing.WithCellZone"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Meshing.WithoutCellZone"
        }, {
          "$ref" : "#/components/schemas/Meshing.WithCellZone"
        } ]
      },
      "Meshing.OneOf_AutomaticMeshSizingSimmetrixCurvature" : {
        "title" : "Curvature",
        "description" : "The <b>Curvature</b> setting allows the user to specify the mesh refinement on curved features. By default, this is <b>Automatic</b>. Alternatively, the user can specify the curvature in terms of number of mesh nodes in a circle using <b>Relative</b>. Curvature refinement is <b>not</b> supported for Geometry primitive region refinement.",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "AUTOMATIC_CURVATURE" : "#/components/schemas/Meshing.AutomaticCurvature",
            "RELATIVE_CURVATURE" : "#/components/schemas/Meshing.RelativeCurvature"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Meshing.AutomaticCurvature"
        }, {
          "$ref" : "#/components/schemas/Meshing.RelativeCurvature"
        } ],
        "default" : {
          "type" : "AUTOMATIC_CURVATURE"
        }
      },
      "Meshing.OneOf_SimmetrixMeshingSolidSizing" : {
        "title" : "Sizing",
        "description" : "<p>Define how to control the overall <a href='https://www.simscale.com/docs/simulation-setup/meshing/standard/#sizing-and-fineness' target='_blank'><b>mesh sizing</b></a>:</p><ul> <li><p><b>Automatic:</b> Element sizing is controlled by <b>automatic fineness levels</b> that take the geometrical properties into account.</p></li> <li><p><b>Manual:</b> Element sizing is controlled by <b>default and minimum size</b>.</p></li></ul>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "AUTOMATIC_V9" : "#/components/schemas/Meshing.AutomaticMeshSizingSimmetrix",
            "MANUAL" : "#/components/schemas/Meshing.ManualMeshSizingSimmetrix"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Meshing.AutomaticMeshSizingSimmetrix"
        }, {
          "$ref" : "#/components/schemas/Meshing.ManualMeshSizingSimmetrix"
        } ],
        "default" : {
          "type" : "AUTOMATIC_V9"
        }
      },
      "Meshing.OneOf_SimmetrixMeshingSolidRefinements" : {
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "REGION_LENGTH" : "#/components/schemas/Meshing.RegionRefinementWithLength",
            "SURFACE_CUSTOM_SIZING" : "#/components/schemas/Meshing.SurfaceCustomSizing",
            "VOLUME_CUSTOM_SIZING" : "#/components/schemas/Meshing.VolumeCustomSizing",
            "SIMMETRIX_LOCAL_SIZING_V10" : "#/components/schemas/Meshing.SimmetrixLocalSizingRefinement",
            "SIMMETRIX_BOUNDARY_LAYER_V13" : "#/components/schemas/Meshing.SimmetrixBoundaryLayerRefinement",
            "SIMMETRIX_SWEPT_MESH_REFINEMENT" : "#/components/schemas/Meshing.SimmetrixSweptMeshRefinement",
            "SIMMETRIX_THIN_SECTION_MESH_REFINEMENT" : "#/components/schemas/Meshing.SimmetrixThinSectionMeshRefinement",
            "SIMMETRIX_EXTRUSION_MESH_REFINEMENT" : "#/components/schemas/Meshing.SimmetrixExtrusionMeshRefinement"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Meshing.RegionRefinementWithLength"
        }, {
          "$ref" : "#/components/schemas/Meshing.SurfaceCustomSizing"
        }, {
          "$ref" : "#/components/schemas/Meshing.VolumeCustomSizing"
        }, {
          "$ref" : "#/components/schemas/Meshing.SimmetrixLocalSizingRefinement"
        }, {
          "$ref" : "#/components/schemas/Meshing.SimmetrixBoundaryLayerRefinement"
        }, {
          "$ref" : "#/components/schemas/Meshing.SimmetrixSweptMeshRefinement"
        }, {
          "$ref" : "#/components/schemas/Meshing.SimmetrixThinSectionMeshRefinement"
        }, {
          "$ref" : "#/components/schemas/Meshing.SimmetrixExtrusionMeshRefinement"
        } ]
      },
      "Meshing.OneOf_SimmetrixMeshingSolidAutomaticSweepParameters" : {
        "title" : "Automatic extrusion meshing",
        "description" : "This toggle enables the automatic detection and meshing of sweepable bodies.",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "AUTOMATIC_SWEEP_MESHING_ON" : "#/components/schemas/Meshing.AutomaticSweepOn",
            "AUTOMATIC_SWEEP_MESHING_OFF" : "#/components/schemas/Meshing.AutomaticSweepOff"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Meshing.AutomaticSweepOn"
        }, {
          "$ref" : "#/components/schemas/Meshing.AutomaticSweepOff"
        } ],
        "default" : {
          "type" : "AUTOMATIC_SWEEP_MESHING_OFF"
        },
        "x-subtypeBooleanChooser" : {
          "trueOption" : "AUTOMATIC_SWEEP_MESHING_ON",
          "falseOption" : "AUTOMATIC_SWEEP_MESHING_OFF"
        }
      },
      "Meshing.OneOf_VolumeCustomSizingCustomSizingModes" : {
        "title" : "Sizing mode",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "DISTANCE_CUSTOM_SIZING" : "#/components/schemas/Meshing.DistanceVolumeCustomSizing",
            "INSIDE_CUSTOM_SIZING" : "#/components/schemas/Meshing.InsideVolumeCustomSizing"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Meshing.DistanceVolumeCustomSizing"
        }, {
          "$ref" : "#/components/schemas/Meshing.InsideVolumeCustomSizing"
        } ],
        "default" : {
          "type" : "INSIDE_CUSTOM_SIZING"
        }
      },
      "Meshing.OneOf_SimmetrixMeshingFluidSizing" : {
        "title" : "Sizing",
        "description" : "<p>Define how to control the overall <a href='https://www.simscale.com/docs/simulation-setup/meshing/standard/#sizing-and-fineness' target='_blank'><b>mesh sizing</b></a>:</p><ul> <li><p><b>Automatic:</b> Element sizing is controlled by <b>automatic fineness levels</b> that take the geometrical properties into account.</p></li> <li><p><b>Manual:</b> Element sizing is controlled by <b>default and minimum size</b>.</p></li></ul>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "AUTOMATIC_V9" : "#/components/schemas/Meshing.AutomaticMeshSizingSimmetrix",
            "MANUAL" : "#/components/schemas/Meshing.ManualMeshSizingSimmetrix"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Meshing.AutomaticMeshSizingSimmetrix"
        }, {
          "$ref" : "#/components/schemas/Meshing.ManualMeshSizingSimmetrix"
        } ],
        "default" : {
          "type" : "AUTOMATIC_V9"
        }
      },
      "Meshing.OneOf_SimmetrixMeshingFluidRefinements" : {
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "REGION_LENGTH" : "#/components/schemas/Meshing.RegionRefinementWithLength",
            "SURFACE_CUSTOM_SIZING" : "#/components/schemas/Meshing.SurfaceCustomSizing",
            "VOLUME_CUSTOM_SIZING" : "#/components/schemas/Meshing.VolumeCustomSizing",
            "SIMMETRIX_LOCAL_SIZING_V10" : "#/components/schemas/Meshing.SimmetrixLocalSizingRefinement",
            "SIMMETRIX_BOUNDARY_LAYER_V13" : "#/components/schemas/Meshing.SimmetrixBoundaryLayerRefinement",
            "SIMMETRIX_SWEPT_MESH_REFINEMENT" : "#/components/schemas/Meshing.SimmetrixSweptMeshRefinement",
            "SIMMETRIX_THIN_SECTION_MESH_REFINEMENT" : "#/components/schemas/Meshing.SimmetrixThinSectionMeshRefinement",
            "SIMMETRIX_EXTRUSION_MESH_REFINEMENT" : "#/components/schemas/Meshing.SimmetrixExtrusionMeshRefinement"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Meshing.RegionRefinementWithLength"
        }, {
          "$ref" : "#/components/schemas/Meshing.SurfaceCustomSizing"
        }, {
          "$ref" : "#/components/schemas/Meshing.VolumeCustomSizing"
        }, {
          "$ref" : "#/components/schemas/Meshing.SimmetrixLocalSizingRefinement"
        }, {
          "$ref" : "#/components/schemas/Meshing.SimmetrixBoundaryLayerRefinement"
        }, {
          "$ref" : "#/components/schemas/Meshing.SimmetrixSweptMeshRefinement"
        }, {
          "$ref" : "#/components/schemas/Meshing.SimmetrixThinSectionMeshRefinement"
        }, {
          "$ref" : "#/components/schemas/Meshing.SimmetrixExtrusionMeshRefinement"
        } ]
      },
      "Meshing.OneOf_SimmetrixMeshingFluidAutomaticLayerSettings" : {
        "title" : "Automatic boundary layers",
        "description" : "This toggle enables the automatic creation of boundary layers at no-slip walls. When toggled on, the meshing is started together with the simulation run.",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "AUTOMATIC_LAYER_ON" : "#/components/schemas/Meshing.AutomaticLayerOn",
            "AUTOMATIC_LAYER_OFF" : "#/components/schemas/Meshing.AutomaticLayerOff"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Meshing.AutomaticLayerOn"
        }, {
          "$ref" : "#/components/schemas/Meshing.AutomaticLayerOff"
        } ],
        "default" : {
          "type" : "AUTOMATIC_LAYER_ON"
        },
        "x-subtypeBooleanChooser" : {
          "trueOption" : "AUTOMATIC_LAYER_ON",
          "falseOption" : "AUTOMATIC_LAYER_OFF"
        }
      },
      "Meshing.OneOf_SimmetrixMeshingFluidAutomaticSweepParameters" : {
        "title" : "Automatic extrusion meshing",
        "description" : "This toggle enables the automatic detection and meshing of sweepable bodies.",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "AUTOMATIC_SWEEP_MESHING_ON" : "#/components/schemas/Meshing.AutomaticSweepOn",
            "AUTOMATIC_SWEEP_MESHING_OFF" : "#/components/schemas/Meshing.AutomaticSweepOff"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Meshing.AutomaticSweepOn"
        }, {
          "$ref" : "#/components/schemas/Meshing.AutomaticSweepOff"
        } ],
        "default" : {
          "type" : "AUTOMATIC_SWEEP_MESHING_OFF"
        },
        "x-subtypeBooleanChooser" : {
          "trueOption" : "AUTOMATIC_SWEEP_MESHING_ON",
          "falseOption" : "AUTOMATIC_SWEEP_MESHING_OFF"
        }
      },
      "Meshing.OneOf_PolygridMeshingSizing" : {
        "title" : "Sizing",
        "description" : "<p>Define how to control the global mesh sizing:</p><ul> <li><p><b>Automatic:</b> Element sizing is controlled by <b>automatic fineness levels</b> that take the geometrical properties into account.</p></li> <li><p><b>Manual:</b> Element sizing is controlled by <b>maximum and minimum edge length</b>.</p></li>  <li><p><b>Custom:</b> Element sizing is controlled by the specified <b>number of cells in the three spatial directions</b> and the <b>number refinement levels</b> applied on the surfaces.</p></li></ul>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "AUTOMATIC_POLYGRID_MESH_SIZING" : "#/components/schemas/Meshing.AutomaticPolygridMeshSizing",
            "MANUAL_POLYGRID_MESH_SIZING" : "#/components/schemas/Meshing.ManualPolygridMeshSizing",
            "CUSTOM_POLYGRID_MESH_SIZING" : "#/components/schemas/Meshing.CustomPolygridMeshSizing"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Meshing.AutomaticPolygridMeshSizing"
        }, {
          "$ref" : "#/components/schemas/Meshing.ManualPolygridMeshSizing"
        }, {
          "$ref" : "#/components/schemas/Meshing.CustomPolygridMeshSizing"
        } ],
        "default" : {
          "type" : "AUTOMATIC_POLYGRID_MESH_SIZING"
        }
      },
      "Meshing.OneOf_PolygridMeshingRefinements" : {
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "REGION_REFINEMENT_EBM" : "#/components/schemas/Meshing.RegionRefinementEBM",
            "LOCAL_SIZING_EBM" : "#/components/schemas/Meshing.LocalElementSizeEBM"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Meshing.RegionRefinementEBM"
        }, {
          "$ref" : "#/components/schemas/Meshing.LocalElementSizeEBM"
        } ]
      },
      "Meshing.OneOf_SimmetrixMeshingElectromagneticsSizing" : {
        "title" : "Sizing",
        "description" : "<p>Define how to control the overall <a href='https://www.simscale.com/docs/simulation-setup/meshing/standard/#sizing-and-fineness' target='_blank'><b>mesh sizing</b></a>:</p><ul> <li><p><b>Automatic:</b> Element sizing is controlled by <b>automatic fineness levels</b> that take the geometrical properties into account.</p></li> <li><p><b>Manual:</b> Element sizing is controlled by <b>default and minimum size</b>.</p></li></ul>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "AUTOMATIC_V9" : "#/components/schemas/Meshing.AutomaticMeshSizingSimmetrix",
            "MANUAL" : "#/components/schemas/Meshing.ManualMeshSizingSimmetrix"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Meshing.AutomaticMeshSizingSimmetrix"
        }, {
          "$ref" : "#/components/schemas/Meshing.ManualMeshSizingSimmetrix"
        } ],
        "default" : {
          "type" : "AUTOMATIC_V9"
        }
      },
      "Meshing.OneOf_SimmetrixMeshingElectromagneticsRefinements" : {
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "REGION_LENGTH" : "#/components/schemas/Meshing.RegionRefinementWithLength",
            "SURFACE_CUSTOM_SIZING" : "#/components/schemas/Meshing.SurfaceCustomSizing",
            "VOLUME_CUSTOM_SIZING" : "#/components/schemas/Meshing.VolumeCustomSizing",
            "SIMMETRIX_LOCAL_SIZING_V10" : "#/components/schemas/Meshing.SimmetrixLocalSizingRefinement"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Meshing.RegionRefinementWithLength"
        }, {
          "$ref" : "#/components/schemas/Meshing.SurfaceCustomSizing"
        }, {
          "$ref" : "#/components/schemas/Meshing.VolumeCustomSizing"
        }, {
          "$ref" : "#/components/schemas/Meshing.SimmetrixLocalSizingRefinement"
        } ]
      },
      "Meshing.OneOf_SimmetrixExtrusionMeshRefinementSizingType" : {
        "title" : "Sweep sizing type",
        "description" : "<b>Sweep sizing type</b> allows you to specify either the number of elements or the element thickness along the direction of the sweep. The actual absolute thickness will match the desired value as close as possible, given the length of the sweep region as a constraint.",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "SWEEP_MESHING_ABSOLUTE_SIZE" : "#/components/schemas/Meshing.SweepMeshingAbsoluteSize",
            "SWEEP_MESHING_NUMBER_OF_ELEMENTS" : "#/components/schemas/Meshing.SweepMeshingNumberOfElements"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Meshing.SweepMeshingAbsoluteSize"
        }, {
          "$ref" : "#/components/schemas/Meshing.SweepMeshingNumberOfElements"
        } ],
        "default" : {
          "type" : "SWEEP_MESHING_ABSOLUTE_SIZE"
        }
      },
      "Meshing.OneOf_SimmetrixBoundaryLayerRefinementLayerType" : {
        "title" : "Layer gradation control",
        "description" : "<p>Define how the layers should be distributed within the overall layer thickness:</p><ul><li><p><b>Specify growth rate:</b> Define the growth rate between adjacent layers. </p></li> <li><p><b>Specify first layer thickness:</b> Define the absolute thickness of the first layer. The remaining layers are distributed automatically. Choose this option for example to strictly control the y+ value. </p></li> <li><p><b>Specify first layer and total absolute thickness:</b> Define the absolute value of the first layer and the total layer thickness. The growth rate is computed automatically using a geometric progression. </p></li></ul>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "FRACTIONAL_HEIGHT_1" : "#/components/schemas/Meshing.FractionalHeight1",
            "FRACTIONAL_HEIGHT_2" : "#/components/schemas/Meshing.FractionalHeight2",
            "GEOMETRIC_GROWTH" : "#/components/schemas/Meshing.GeometricGrowth",
            "FIRST_LAYER_GROWTH" : "#/components/schemas/Meshing.FirstLayerGrowth"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Meshing.FractionalHeight1"
        }, {
          "$ref" : "#/components/schemas/Meshing.FractionalHeight2"
        }, {
          "$ref" : "#/components/schemas/Meshing.GeometricGrowth"
        }, {
          "$ref" : "#/components/schemas/Meshing.FirstLayerGrowth"
        } ],
        "default" : {
          "type" : "FRACTIONAL_HEIGHT_2"
        }
      },
      "Meshing.OneOf_SimmetrixSweptMeshRefinementSizingType" : {
        "title" : "Sweep sizing type",
        "description" : "<b>Sweep sizing type</b> allows you to specify either the number of elements or the element thickness along the direction of the sweep. The actual absolute thickness will match the desired value as close as possible, given the length of the sweep region as a constraint.",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "SWEEP_MESHING_ABSOLUTE_SIZE" : "#/components/schemas/Meshing.SweepMeshingAbsoluteSize",
            "SWEEP_MESHING_NUMBER_OF_ELEMENTS" : "#/components/schemas/Meshing.SweepMeshingNumberOfElements"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Meshing.SweepMeshingAbsoluteSize"
        }, {
          "$ref" : "#/components/schemas/Meshing.SweepMeshingNumberOfElements"
        } ],
        "default" : {
          "type" : "SWEEP_MESHING_ABSOLUTE_SIZE"
        }
      },
      "Meshing.OneOf_InsideVolumeCustomSizingSizing" : {
        "title" : "Sizing",
        "description" : "<p>Define how to control the overall <a href='https://www.simscale.com/docs/simulation-setup/meshing/standard/#sizing-and-fineness' target='_blank'><b>mesh sizing</b></a>:</p><ul> <li><p><b>Automatic:</b> Element sizing is controlled by <b>automatic fineness levels</b> that take the geometrical properties into account.</p></li> <li><p><b>Manual:</b> Element sizing is controlled by <b>default and minimum size</b>.</p></li></ul>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "AUTOMATIC_V9" : "#/components/schemas/Meshing.AutomaticMeshSizingSimmetrix",
            "CUSTOM" : "#/components/schemas/Meshing.CustomMeshSizingSimmetrix"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Meshing.AutomaticMeshSizingSimmetrix"
        }, {
          "$ref" : "#/components/schemas/Meshing.CustomMeshSizingSimmetrix"
        } ],
        "default" : {
          "type" : "AUTOMATIC_V9"
        }
      },
      "Meshing.OneOf_CustomMeshSizingSimmetrixCurvature" : {
        "title" : "Curvature",
        "description" : "The <b>Curvature</b> setting allows the user to specify the mesh refinement on curved features. By default, this is <b>Automatic</b>. Alternatively, the user can specify the curvature in terms of number of mesh nodes in a circle using <b>Relative</b>. Curvature refinement is <b>not</b> supported for Geometry primitive region refinement.",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "AUTOMATIC_CURVATURE" : "#/components/schemas/Meshing.AutomaticCurvature",
            "RELATIVE_CURVATURE" : "#/components/schemas/Meshing.RelativeCurvature"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Meshing.AutomaticCurvature"
        }, {
          "$ref" : "#/components/schemas/Meshing.RelativeCurvature"
        } ],
        "default" : {
          "type" : "AUTOMATIC_CURVATURE"
        }
      },
      "Meshing.OneOf_RegionRefinementEBMRefinement" : {
        "title" : "Refinement mode",
        "description" : "<p>Choose between the following refinement modes:</p><ul><li><b>Inside:</b> Refines all the mesh cells inside the selected volumes up to the specified cell edge length.</li><li><b>Distance:</b>Refines the mesh cells according to the distance to the surface of the assigned volume(s). The <i>Distance</i> mode can accommodate different refinement levels at multiple distances.</li></ul>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "INSIDE" : "#/components/schemas/Meshing.InsideRegionRefinementWithLength",
            "DISTANCE" : "#/components/schemas/Meshing.DistanceRegionRefinementWithLength"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Meshing.InsideRegionRefinementWithLength"
        }, {
          "$ref" : "#/components/schemas/Meshing.DistanceRegionRefinementWithLength"
        } ],
        "default" : {
          "type" : "INSIDE"
        }
      },
      "Meshing.OneOf_ManualMeshSizingGrading" : {
        "title" : "Grading",
        "description" : "<p>The <b><a href='https://www.simscale.com/docs/simulation-setup/meshing/tet-dominant/#grading' target='_blank'>mesh grading</a></b> specifies how fine details of the geometry are resolved and also influences the quality of the resulting elements.</p><ul><li><p>If you select the <b>automatic</b> grading, you can specify how fine your mesh should be (ranging from <i>1 - very coarse</i> to <i>5 - very fine</i>) and all additional parameters will be set automatically.</li><li><p>For full control over the underlying parameters <i>number of segements per edge</i>, <i>number of segements per radius</i> and <i>growth rate</i> you can choose the <b>manual</b> mesh grading option.</p></li></ul><p><img src=\"/spec/resources/help/imgs/mesh_grading_comparison.png\" class=\"helpPopupImage\"/> The figure shows meshes for grading <i>1 - very coarse</i> (left) and <i>5 - very fine</i> (right).</p>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "AUTOMATIC" : "#/components/schemas/Meshing.AutomaticMeshGrading",
            "MANUAL" : "#/components/schemas/Meshing.ManualMeshGrading"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Meshing.AutomaticMeshGrading"
        }, {
          "$ref" : "#/components/schemas/Meshing.ManualMeshGrading"
        } ],
        "default" : {
          "type" : "AUTOMATIC"
        }
      },
      "Meshing.OneOf_HexDominantSnappySizing" : {
        "title" : "Sizing",
        "description" : "<p>Choose how your mesh element sizes should be defined:</p><ul><li><p>If you select the <b>Automatic</b> sizing, you can specify how fine your mesh should be (ranging from <i>Very coarse</i> to <i>Very fine</i>) and all additional parameters will be set automatically according to the chosen fineness and the geometry features.</ul></p><ul><li><p>For full control over the mesh sizing, select the <b>Manual</b> option. Here you can define the <i>Minimum edge length</i> and <i>Maximum edge length</i>.</ul></p><p><img src=\"/spec/resources/help/imgs/mesh_fineness_comparison.png\" class=\"helpPopupImage\"/> The figure shows meshes with fineness <i>Very coarse</i> (left) and <i>Very fine</i> (right).</p>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "AUTOMATIC" : "#/components/schemas/Meshing.AutomaticMeshSizingHexDominantSnappy",
            "MANUAL" : "#/components/schemas/Meshing.ManualMeshSizingHexDominantSnappy"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Meshing.AutomaticMeshSizingHexDominantSnappy"
        }, {
          "$ref" : "#/components/schemas/Meshing.ManualMeshSizingHexDominantSnappy"
        } ],
        "default" : {
          "type" : "AUTOMATIC"
        }
      },
      "Meshing.OneOf_HexDominantSnappyRefinements" : {
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "REGION_LENGTH" : "#/components/schemas/Meshing.RegionRefinementWithLength",
            "SURFACE_HEX_DOMINANT_SNAPPY_V3" : "#/components/schemas/Meshing.SurfaceRefinementHexDominantSnappy",
            "FEATURE_HEX_DOMINANT_SNAPPY" : "#/components/schemas/Meshing.FeatureRefinementHexDominantSnappy",
            "LAYER_ADDITION_HEX_DOMINANT_SNAPPY" : "#/components/schemas/Meshing.LayerAdditionHexDominantSnappy"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Meshing.RegionRefinementWithLength"
        }, {
          "$ref" : "#/components/schemas/Meshing.SurfaceRefinementHexDominantSnappy"
        }, {
          "$ref" : "#/components/schemas/Meshing.FeatureRefinementHexDominantSnappy"
        }, {
          "$ref" : "#/components/schemas/Meshing.LayerAdditionHexDominantSnappy"
        } ]
      },
      "Meshing.OneOf_SubmeshRefinementSizing" : {
        "title" : "Sizing",
        "description" : "<p>Choose how your mesh element sizes should be defined:</p><ul><li><p>If you select the <b>Automatic</b> sizing, you can specify how fine your mesh should be (ranging from <i>Very coarse</i> to <i>Very fine</i>) and all additional parameters will be set automatically according to the chosen fineness and the geometry features.</ul></p><ul><li><p>For full control over the mesh sizing, select the <b>Manual</b> option. Here you can define the <i>Minimum edge length</i> and <i>Maximum edge length</i>.</ul></p><p><img src=\"/spec/resources/help/imgs/mesh_fineness_comparison.png\" class=\"helpPopupImage\"/> The figure shows meshes with fineness <i>Very coarse</i> (left) and <i>Very fine</i> (right).</p>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "AUTOMATIC" : "#/components/schemas/Meshing.AutomaticMeshSizing",
            "MANUAL" : "#/components/schemas/Meshing.ManualMeshSizing"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Meshing.AutomaticMeshSizing"
        }, {
          "$ref" : "#/components/schemas/Meshing.ManualMeshSizing"
        } ],
        "default" : {
          "type" : "AUTOMATIC"
        }
      },
      "Meshing.OneOf_SimmetrixLocalSizingRefinementCurvature" : {
        "title" : "Curvature",
        "description" : "The <b>Curvature</b> setting allows the user to specify the mesh refinement on curved features. By default, this is <b>Automatic</b>. Alternatively, the user can specify the curvature in terms of number of mesh nodes in a circle using <b>Relative</b>. Curvature refinement is <b>not</b> supported for Geometry primitive region refinement.",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "AUTOMATIC_CURVATURE" : "#/components/schemas/Meshing.AutomaticCurvature",
            "RELATIVE_CURVATURE" : "#/components/schemas/Meshing.RelativeCurvature"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Meshing.AutomaticCurvature"
        }, {
          "$ref" : "#/components/schemas/Meshing.RelativeCurvature"
        } ],
        "default" : {
          "type" : "AUTOMATIC_CURVATURE"
        }
      },
      "Meshing.OneOf_DistanceVolumeCustomSizingCurvature" : {
        "title" : "Curvature",
        "description" : "The <b>Curvature</b> setting allows the user to specify the mesh refinement on curved features. By default, this is <b>Automatic</b>. Alternatively, the user can specify the curvature in terms of number of mesh nodes in a circle using <b>Relative</b>. Curvature refinement is <b>not</b> supported for Geometry primitive region refinement.",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "AUTOMATIC_CURVATURE" : "#/components/schemas/Meshing.AutomaticCurvature",
            "RELATIVE_CURVATURE" : "#/components/schemas/Meshing.RelativeCurvature"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Meshing.AutomaticCurvature"
        }, {
          "$ref" : "#/components/schemas/Meshing.RelativeCurvature"
        } ],
        "default" : {
          "type" : "AUTOMATIC_CURVATURE"
        }
      },
      "Meshing.OneOf_RegionRefinementWithLevelsRefinement" : {
        "title" : "Refinement mode",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "INSIDE" : "#/components/schemas/Meshing.InsideRegionRefinementWithLevels",
            "DISTANCE" : "#/components/schemas/Meshing.DistanceRegionRefinementWithLevels",
            "OUTSIDE" : "#/components/schemas/Meshing.OutsideRegionRefinementWithLevels"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Meshing.InsideRegionRefinementWithLevels"
        }, {
          "$ref" : "#/components/schemas/Meshing.DistanceRegionRefinementWithLevels"
        }, {
          "$ref" : "#/components/schemas/Meshing.OutsideRegionRefinementWithLevels"
        } ],
        "default" : {
          "type" : "INSIDE"
        }
      },
      "Meshing.OneOf_ManualMeshSizingSimmetrixCurvature" : {
        "title" : "Curvature",
        "description" : "The <b>Curvature</b> setting allows the user to specify the mesh refinement on curved features. By default, this is <b>Automatic</b>. Alternatively, the user can specify the curvature in terms of number of mesh nodes in a circle using <b>Relative</b>. Curvature refinement is <b>not</b> supported for Geometry primitive region refinement.",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "AUTOMATIC_CURVATURE" : "#/components/schemas/Meshing.AutomaticCurvature",
            "RELATIVE_CURVATURE" : "#/components/schemas/Meshing.RelativeCurvature"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Meshing.AutomaticCurvature"
        }, {
          "$ref" : "#/components/schemas/Meshing.RelativeCurvature"
        } ],
        "default" : {
          "type" : "AUTOMATIC_CURVATURE"
        }
      },
      "Simulation.Analysis" : {
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "STATIC_ANALYSIS" : "#/components/schemas/Simulation.StaticAnalysis",
            "DYNAMIC_ANALYSIS" : "#/components/schemas/Simulation.DynamicAnalysis",
            "HEAT_TRANSFER" : "#/components/schemas/Simulation.HeatTransfer",
            "THERMAL_MECHANICAL" : "#/components/schemas/Simulation.ThermalMechanical",
            "INCOMPRESSIBLE" : "#/components/schemas/Simulation.Incompressible",
            "INCOMPRESSIBLE_PACEFISH" : "#/components/schemas/Simulation.IncompressiblePacefish",
            "SIMERICS_ANALYSIS" : "#/components/schemas/Simulation.SimericsAnalysis",
            "WIND_COMFORT" : "#/components/schemas/Simulation.WindComfort",
            "COMPRESSIBLE" : "#/components/schemas/Simulation.Compressible",
            "CONVECTIVE_HEAT_TRANSFER" : "#/components/schemas/Simulation.ConvectiveHeatTransfer",
            "COUPLED_CONJUGATE_HEAT_TRANSFER" : "#/components/schemas/Simulation.CoupledConjugateHeatTransfer",
            "EMBEDDED_BOUNDARY" : "#/components/schemas/Simulation.EmbeddedBoundary",
            "MULTIPHASE" : "#/components/schemas/Simulation.Multiphase",
            "CONJUGATE_HEAT_TRANSFER" : "#/components/schemas/Simulation.ConjugateHeatTransfer",
            "HARMONIC_ANALYSIS" : "#/components/schemas/Simulation.HarmonicAnalysis",
            "FREQUENCY_ANALYSIS" : "#/components/schemas/Simulation.FrequencyAnalysis",
            "ELECTROMAGNETIC_ANALYSIS" : "#/components/schemas/Simulation.ElectromagneticAnalysis",
            "MARC_ANALYSIS" : "#/components/schemas/Simulation.MarcAnalysis"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.StaticAnalysis"
        }, {
          "$ref" : "#/components/schemas/Simulation.DynamicAnalysis"
        }, {
          "$ref" : "#/components/schemas/Simulation.HeatTransfer"
        }, {
          "$ref" : "#/components/schemas/Simulation.ThermalMechanical"
        }, {
          "$ref" : "#/components/schemas/Simulation.Incompressible"
        }, {
          "$ref" : "#/components/schemas/Simulation.IncompressiblePacefish"
        }, {
          "$ref" : "#/components/schemas/Simulation.SimericsAnalysis"
        }, {
          "$ref" : "#/components/schemas/Simulation.WindComfort"
        }, {
          "$ref" : "#/components/schemas/Simulation.Compressible"
        }, {
          "$ref" : "#/components/schemas/Simulation.ConvectiveHeatTransfer"
        }, {
          "$ref" : "#/components/schemas/Simulation.CoupledConjugateHeatTransfer"
        }, {
          "$ref" : "#/components/schemas/Simulation.EmbeddedBoundary"
        }, {
          "$ref" : "#/components/schemas/Simulation.Multiphase"
        }, {
          "$ref" : "#/components/schemas/Simulation.ConjugateHeatTransfer"
        }, {
          "$ref" : "#/components/schemas/Simulation.HarmonicAnalysis"
        }, {
          "$ref" : "#/components/schemas/Simulation.FrequencyAnalysis"
        }, {
          "$ref" : "#/components/schemas/Simulation.ElectromagneticAnalysis"
        }, {
          "$ref" : "#/components/schemas/Simulation.MarcAnalysis"
        } ]
      },
      "Simulation.StaticAnalysis" : {
        "title" : "Static",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: StaticAnalysis",
            "default" : "STATIC_ANALYSIS"
          },
          "nonLinearAnalysis" : {
            "title" : "Nonlinear analysis",
            "type" : "boolean",
            "description" : "<p>Choose if your analysis should feature any kind of <b>nonlinearity</b> like <b>physical contacts, nonlinear materials</b> as hyperelasticity or plasticity or <b>large rotations</b> and <b>large deformations, temperature dependant material properties</b> or <b>temperature dependant boundary conditions</b>. For a <b>linear analysis</b> none of those nonlinearities are available.</p>",
            "default" : false
          },
          "connectionGroups" : {
            "title" : "Connection groups",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.OneOf_StaticAnalysisConnectionGroups"
            }
          },
          "connectors" : {
            "title" : "Connectors",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.OneOf_StaticAnalysisConnectors"
            }
          },
          "elementTechnology" : {
            "$ref" : "#/components/schemas/Simulation.SolidElementTechnology"
          },
          "model" : {
            "$ref" : "#/components/schemas/Simulation.SolidModel"
          },
          "materials" : {
            "title" : "Materials",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.SolidMaterial"
            }
          },
          "initialConditions" : {
            "$ref" : "#/components/schemas/Simulation.SolidInitialConditions"
          },
          "boundaryConditions" : {
            "title" : "Boundary conditions",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.OneOf_StaticAnalysisBoundaryConditions"
            }
          },
          "numerics" : {
            "$ref" : "#/components/schemas/Simulation.SolidNumerics"
          },
          "simulationControl" : {
            "$ref" : "#/components/schemas/Simulation.SolidSimulationControl"
          },
          "resultControl" : {
            "$ref" : "#/components/schemas/Simulation.SolidResultControl"
          },
          "meshOrder" : {
            "title" : "Mesh order",
            "type" : "string",
            "default" : "NONE",
            "enum" : [ "FIRST", "SECOND", "NONE" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.Contact" : {
        "title" : "Contact",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: Contact",
            "default" : "CONTACT"
          },
          "nodeMergingBonded" : {
            "title" : "Allow node merging",
            "type" : "boolean",
            "description" : "<p>Allow node merging for bonded contacts where possible to increase contact accuracy and solution efficiency. For contact pairs where nodes cannot be merged, linear relations will be used with the defined position tolerance.</p>",
            "default" : false,
            "x-showWhen" : [ "type in [STATIC_ANALYSIS,DYNAMIC_ANALYSIS,HEAT_TRANSFER,FREQUENCY_ANALYSIS,THERMAL_MECHANICAL,HARMONIC_ANALYSIS]" ]
          },
          "connections" : {
            "title" : "Contacts",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.OneOf_ContactConnections"
            }
          }
        },
        "additionalProperties" : false
      },
      "Simulation.BondedContact" : {
        "title" : "Bonded",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: BondedContact",
            "default" : "BONDED_CONTACT"
          },
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "enableHeatTransfer" : {
            "title" : "Enable heat transfer",
            "type" : "string",
            "default" : "YES",
            "enum" : [ "YES", "NO", "HEAT_TRANSFER_ONLY" ],
            "x-showWhen" : [ "type == THERMAL_MECHANICAL" ]
          },
          "positionTolerance" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_BondedContactPositionTolerance"
          },
          "masterTopologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          },
          "slaveTopologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.SetValuePositionTolerance" : {
        "title" : "Set value",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: SetValuePositionTolerance",
            "default" : "SET_VALUE"
          },
          "tolerance" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Length"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.Dimensional_Length" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "title" : "Value",
            "type" : "number"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "m", "in", "mm", "cm", "ft", "yd" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.OffPositionTolerance" : {
        "title" : "Off",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: OffPositionTolerance",
            "default" : "OFF"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.TopologicalReference" : {
        "type" : "object",
        "properties" : {
          "entities" : {
            "title" : "Entities",
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          },
          "sets" : {
            "title" : "Sets",
            "type" : "array",
            "items" : {
              "type" : "string",
              "format" : "uuid"
            }
          }
        },
        "additionalProperties" : false
      },
      "Simulation.SlidingContact" : {
        "title" : "Sliding",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: SlidingContact",
            "default" : "SLIDING_CONTACT"
          },
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "enableHeatTransfer" : {
            "title" : "Enable heat transfer",
            "type" : "string",
            "default" : "YES",
            "enum" : [ "YES", "NO", "HEAT_TRANSFER_ONLY" ],
            "x-showWhen" : [ "type == THERMAL_MECHANICAL" ]
          },
          "positionTolerance" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_SlidingContactPositionTolerance"
          },
          "masterTopologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          },
          "slaveTopologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.PhysicalContact" : {
        "title" : "Physical contacts",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: PhysicalContact",
            "default" : "PHYSICAL_CONTACT_V36"
          },
          "settings" : {
            "$ref" : "#/components/schemas/Simulation.ConnectionSettingsV36"
          },
          "connections" : {
            "title" : "Physical contacts",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.OneOf_PhysicalContactConnections"
            }
          }
        },
        "additionalProperties" : false
      },
      "Simulation.ConnectionSettingsV36" : {
        "type" : "object",
        "properties" : {
          "nonlinearityResolution" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_ConnectionSettingsV36NonlinearityResolution"
          },
          "friction" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_ConnectionSettingsV36Friction"
          },
          "contactNonLinearityResolution" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_ConnectionSettingsV36ContactNonLinearityResolution"
          },
          "convergenceStabilization" : {
            "title" : "Convergence stabilization",
            "type" : "boolean",
            "default" : true
          },
          "contactSmoothing" : {
            "title" : "Contact smoothing",
            "type" : "boolean",
            "default" : false
          }
        },
        "additionalProperties" : false
      },
      "Simulation.NewtonNonLinearityResolution" : {
        "title" : "Newton",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: NewtonNonLinearityResolution",
            "default" : "NEWTON"
          },
          "iterationCriterion" : {
            "title" : "Iteration criterion",
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "default" : 1.0E-5
          }
        },
        "additionalProperties" : false
      },
      "Simulation.FixedPointNonLinearityResolution" : {
        "title" : "Fixed point",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: FixedPointNonLinearityResolution",
            "default" : "FIXED_POINT"
          },
          "geometryReactualization" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_FixedPointNonLinearityResolutionGeometryReactualization"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.AutomaticReactualization" : {
        "title" : "Automatic",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: AutomaticReactualization",
            "default" : "AUTOMATIC"
          },
          "maxNumIterations" : {
            "title" : "Max num iterations",
            "minimum" : 1,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "default" : 10
          },
          "iterationCriterion" : {
            "title" : "Iteration criterion",
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "default" : 0.05
          }
        },
        "additionalProperties" : false
      },
      "Simulation.ManualReactualization" : {
        "title" : "Manual",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: ManualReactualization",
            "default" : "MANUAL"
          },
          "numIterations" : {
            "title" : "Number of iterations",
            "minimum" : 1,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "default" : 2
          }
        },
        "additionalProperties" : false
      },
      "Simulation.NoneReactualization" : {
        "title" : "No update",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: NoneReactualization",
            "default" : "NONE"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.NoFriction" : {
        "title" : "No friction",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: NoFriction",
            "default" : "NO_FRICTION"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.CoulombFriction" : {
        "title" : "Coulomb",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: CoulombFriction",
            "default" : "COULOMB_FRICTION"
          },
          "nonlinearityResolution" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_CoulombFrictionNonlinearityResolution"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.NewtonFrictionNonLinearityResolution" : {
        "title" : "Newton",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: NewtonFrictionNonLinearityResolution",
            "default" : "NEWTON_V29"
          },
          "iterationCriterion" : {
            "title" : "Iteration criterion",
            "type" : "number",
            "default" : 1.0E-4
          }
        },
        "additionalProperties" : false
      },
      "Simulation.FixedPointFrictionNonLinearityResolution" : {
        "title" : "Fixed point",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: FixedPointFrictionNonLinearityResolution",
            "default" : "FIXED_POINT"
          },
          "maxNumIteration" : {
            "title" : "Max num iteration",
            "type" : "integer",
            "default" : 10
          },
          "iterationCriterion" : {
            "title" : "Iteration criterion",
            "type" : "number",
            "default" : 1.0E-4
          }
        },
        "additionalProperties" : false
      },
      "Simulation.NewtonContactNonLinearityResolution" : {
        "title" : "Newton",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: NewtonContactNonLinearityResolution",
            "default" : "NEWTON"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.FixedPointContactNonLinearityResolution" : {
        "title" : "Fixed point",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: FixedPointContactNonLinearityResolution",
            "default" : "FIXED_POINT"
          },
          "iterationControl" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_FixedPointContactNonLinearityResolutionIterationControl"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.MaximumNumberIterationControl" : {
        "title" : "Maximum number",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: MaximumNumberIterationControl",
            "default" : "MAXIMUM_NUMBER"
          },
          "maxNumIteration" : {
            "title" : "Max num iteration",
            "minimum" : 1,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "default" : 30
          }
        },
        "additionalProperties" : false
      },
      "Simulation.MultipliedSlaveNodesIterationControl" : {
        "title" : "Multiple of slave nodes",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: MultipliedSlaveNodesIterationControl",
            "default" : "MULTIPLIED_SLAVE_NODE"
          },
          "multipleValue" : {
            "title" : "Multiple value",
            "minimum" : 1,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "default" : 4
          }
        },
        "additionalProperties" : false
      },
      "Simulation.FrictionlessContact" : {
        "title" : "Physical contact",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: FrictionlessContact",
            "default" : "FRICTIONLESS_CONTACT"
          },
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "contactSolutionMethod" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_FrictionlessContactContactSolutionMethod"
          },
          "fictitiousClearance" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_FrictionlessContactFictitiousClearance"
          },
          "masterTopologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          },
          "slaveTopologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.AugmentedLagrangeMethod" : {
        "title" : "Augmented Lagrange method",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: AugmentedLagrangeMethod",
            "default" : "AUGMENTED_LAGRANGE"
          },
          "augmentedLagrangeCoefficient" : {
            "title" : "Augmented lagrange coefficient",
            "maximum" : 100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
            "exclusiveMaximum" : false,
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "default" : 100
          }
        },
        "additionalProperties" : false
      },
      "Simulation.PenaltyMethod" : {
        "title" : "Penalty method",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: PenaltyMethod",
            "default" : "PENALTY_METHOD"
          },
          "contactStiffness" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_PenaltyMethodContactStiffness"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.LowContactStiffness" : {
        "title" : "Low",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: LowContactStiffness",
            "default" : "LOW_CONTACT_STIFFNESS"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.ModerateContactStiffness" : {
        "title" : "Moderate",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: ModerateContactStiffness",
            "default" : "MODERATE_CONTACT_STIFFNESS"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.HighContactStiffness" : {
        "title" : "High",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: HighContactStiffness",
            "default" : "HIGH_CONTACT_STIFFNESS"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.CustomContactStiffness" : {
        "title" : "Custom",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: CustomContactStiffness",
            "default" : "CUSTOM_CONTACT_STIFFNESS"
          },
          "penaltyCoefficient" : {
            "title" : "Penalty coefficient",
            "maximum" : 100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
            "exclusiveMaximum" : false,
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "description" : "<p>Define the penalty coefficient for the contact pair. As a good starting point this value should be about 5-50 times as high as the softest of the materials in this contact definition and below 1e16. A higher value reduces interpenetration but may also lead to numerical instabilities and divergence. The independence of the results from this parameter should be checked.</p>",
            "default" : 100000000000
          }
        },
        "additionalProperties" : false
      },
      "Simulation.NoFictitiousClearance" : {
        "title" : "No",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: NoFictitiousClearance",
            "default" : "NO_FICTITIOUS_CLEARANCE"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.WithFictitiousClearance" : {
        "title" : "Yes",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: WithFictitiousClearance",
            "default" : "WITH_FICTITIOUS_CLEARANCE"
          },
          "masterClearance" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_Length"
          },
          "slaveClearance" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_Length"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.DimensionalFunction_Length" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_DimensionalFunction_LengthValue"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "m", "in", "mm", "cm", "ft", "yd" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.ConstantFunction" : {
        "title" : "Constant function",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: ConstantFunction",
            "default" : "CONSTANT"
          },
          "value" : {
            "title" : "Value",
            "type" : "number"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.ExpressionFunction" : {
        "title" : "Expression function",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: ExpressionFunction",
            "default" : "EXPRESSION"
          },
          "expression" : {
            "title" : "Expression",
            "type" : "string"
          },
          "availableVariables" : {
            "title" : "Available variables",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.FunctionParameter"
            }
          }
        },
        "additionalProperties" : false
      },
      "Simulation.FunctionParameter" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "parameter" : {
            "title" : "Parameter",
            "type" : "string"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.PolynomialFunction" : {
        "title" : "Polynomial function",
        "required" : [ "parameterBaseUnit", "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: PolynomialFunction",
            "default" : "POLYNOMIAL"
          },
          "coefficients" : {
            "title" : "Coefficients",
            "type" : "array",
            "items" : {
              "type" : "number"
            }
          },
          "parameterBaseUnit" : {
            "title" : "Parameter base unit",
            "type" : "string"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.TableDefinedFunction" : {
        "title" : "Table defined function",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: TableDefinedFunction",
            "default" : "TABLE_DEFINED"
          },
          "label" : {
            "title" : "Label",
            "type" : "string",
            "default" : "Table"
          },
          "tableId" : {
            "type" : "string",
            "description" : "The ID of the imported table.",
            "format" : "uuid"
          },
          "resultIndex" : {
            "title" : "Result index",
            "type" : "array",
            "description" : "Indicates which column(s) of the table contains the result values. One-based indexing must be used. For example, set this field to '[2]' if the second column of the table contains the dependent variable values.",
            "items" : {
              "type" : "integer"
            }
          },
          "independentVariables" : {
            "title" : "Independent variables",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.TableFunctionParameter"
            }
          },
          "separator" : {
            "title" : "Separator",
            "type" : "string",
            "description" : "Values in each row are separated by this character. Also known as a delimiter.",
            "default" : ","
          },
          "outOfBounds" : {
            "title" : "Out of bounds",
            "type" : "string",
            "default" : "CLAMP",
            "enum" : [ "CLAMP" ],
            "x-showWhen" : [ "type in [INCOMPRESSIBLE,COMPRESSIBLE,CONVECTIVE_HEAT_TRANSFER,CONJUGATE_HEAT_TRANSFER,COUPLED_CONJUGATE_HEAT_TRANSFER,EMBEDDED_BOUNDARY,MULTIPHASE,INCOMPRESSIBLE_PACEFISH]" ]
          },
          "interpolation" : {
            "title" : "Interpolation",
            "type" : "string",
            "default" : "LINEAR",
            "enum" : [ "LINEAR", "LOGARITHMIC" ],
            "x-showWhen" : [ "type in [STATIC_ANALYSIS,DYNAMIC_ANALYSIS,HEAT_TRANSFER,THERMAL_MECHANICAL,HARMONIC_ANALYSIS,FREQUENCY_ANALYSIS]" ]
          },
          "leftExtrapolation" : {
            "title" : "Left extrapolation",
            "type" : "string",
            "default" : "LINEAR",
            "enum" : [ "CONSTANT", "LINEAR", "NONE" ],
            "x-showWhen" : [ "type in [STATIC_ANALYSIS,DYNAMIC_ANALYSIS,HEAT_TRANSFER,THERMAL_MECHANICAL,HARMONIC_ANALYSIS,FREQUENCY_ANALYSIS]" ]
          },
          "rightExtrapolation" : {
            "title" : "Right extrapolation",
            "type" : "string",
            "default" : "LINEAR",
            "enum" : [ "CONSTANT", "LINEAR", "NONE" ],
            "x-showWhen" : [ "type in [STATIC_ANALYSIS,DYNAMIC_ANALYSIS,HEAT_TRANSFER,THERMAL_MECHANICAL,HARMONIC_ANALYSIS,FREQUENCY_ANALYSIS]" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.TableFunctionParameter" : {
        "required" : [ "reference", "unit" ],
        "type" : "object",
        "properties" : {
          "reference" : {
            "title" : "Reference",
            "type" : "integer",
            "description" : "Indicates which column of the table contains the values of this independent variable. One-based indexing must be used. For example, set this property to '1' if the first column of the table contains the values of this independent variable."
          },
          "parameter" : {
            "title" : "Parameter",
            "type" : "string",
            "description" : "The name of the independent variable. Possible values: 'X', 'Y', 'Z', 'HEIGHT', 'Temperature', 'T' (time), 'Q' (mass flow rate), 'V_DOT' (volumetric flow rate), 'F' (frequency), 'E' (strain)"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.VariableGroup_X_Y_Z_TIME" : {
        "type" : "object",
        "properties" : {
          "T" : {
            "$ref" : "#/components/schemas/Simulation.Unit_Time"
          },
          "X" : {
            "$ref" : "#/components/schemas/Simulation.Unit_Length"
          },
          "Y" : {
            "$ref" : "#/components/schemas/Simulation.Unit_Length"
          },
          "Z" : {
            "$ref" : "#/components/schemas/Simulation.Unit_Length"
          }
        }
      },
      "Simulation.Unit_Time" : {
        "type" : "object",
        "properties" : {
          "value" : {
            "title" : "Value",
            "type" : "number"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "s" ]
          }
        }
      },
      "Simulation.Unit_Length" : {
        "type" : "object",
        "properties" : {
          "value" : {
            "title" : "Value",
            "type" : "number"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "m", "in", "mm", "cm", "ft", "yd" ]
          }
        }
      },
      "Simulation.FrictionContact" : {
        "title" : "Physical contact",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: FrictionContact",
            "default" : "FRICTION_CONTACT"
          },
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "contactSolutionMethod" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_FrictionContactContactSolutionMethod"
          },
          "frictionCoefficient" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_FrictionContactFrictionCoefficient"
          },
          "fictitiousClearance" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_FrictionContactFictitiousClearance"
          },
          "masterTopologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          },
          "slaveTopologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.FrictionAugmentedLagrangeCoef" : {
        "title" : "Friction augmentation lagrange coefficient",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: FrictionAugmentedLagrangeCoef",
            "default" : "FRICTION_AUGMENTATION_COEF"
          },
          "frictionAugmentationCoefficient" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_FrictionAugmentation"
          },
          "coulombCoefficient" : {
            "title" : "Coulomb coefficient",
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "default" : 0.1
          }
        },
        "additionalProperties" : false
      },
      "Simulation.Dimensional_FrictionAugmentation" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "title" : "Value",
            "type" : "number"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "1/m", "1/in" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.FrictionPenaltyCoef" : {
        "title" : "Friction penalty coefficient",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: FrictionPenaltyCoef",
            "default" : "FRICTION_PENALTY_COEF"
          },
          "frictionPenaltyCoefficient" : {
            "title" : "Friction penalty coefficient",
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "default" : 100000
          },
          "coulombCoefficient" : {
            "title" : "Coulomb coefficient",
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "default" : 0.1
          }
        },
        "additionalProperties" : false
      },
      "Simulation.PinConnector" : {
        "title" : "Pin connector",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "<p>Connect multiple bodies via a virtual pin <br /><br /><b>Usage</b>: <br /><ul><li>Define a separate pin connector item for each virtual pin</li><li>Assign only cylindrical surfaces</li></ul><b>Behavior</b>:<br /><ul><li>Option to connect bodies to bodies or bodies to the ground via virtual pins</li><li>Bodies freely rotate relative to one another about the virtual pin axis</li><li>Users have full control over axial translation and rotation of the connection with the ability to define torsional and axial spring stiffness</li></ul></p>\n\nSchema name: PinConnector",
            "default" : "PIN_CONNECTOR"
          },
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "interaction" : {
            "title" : "Interaction",
            "type" : "string",
            "description" : "<p>Select an interaction option<br /><ul><li><b>Body to body</b> - Two or more bodies may be connected to each other via a single virtual pin. The pin will move with the bodies.</li><li><b>Body to ground</b> - Two or more bodies may be connected to the ground via a single virtual pin. The pin remains stationary.</li></ul></p>",
            "default" : "BODY_TO_BODY",
            "enum" : [ "BODY_TO_BODY", "BODY_TO_GROUND" ]
          },
          "kinematicBehavior" : {
            "$ref" : "#/components/schemas/Simulation.PinKinematicBehavior"
          },
          "advancedPinSettings" : {
            "$ref" : "#/components/schemas/Simulation.AdvancedConnectorSettings"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          }
        },
        "additionalProperties" : false,
        "description" : "<p>Connect multiple bodies via a virtual pin <br /><br /><b>Usage</b>: <br /><ul><li>Define a separate pin connector item for each virtual pin</li><li>Assign only cylindrical surfaces</li></ul><b>Behavior</b>:<br /><ul><li>Option to connect bodies to bodies or bodies to the ground via virtual pins</li><li>Bodies freely rotate relative to one another about the virtual pin axis</li><li>Users have full control over axial translation and rotation of the connection with the ability to define torsional and axial spring stiffness</li></ul></p>"
      },
      "Simulation.PinKinematicBehavior" : {
        "type" : "object",
        "properties" : {
          "rotation" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_PinKinematicBehaviorRotation"
          },
          "axialTranslation" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_PinKinematicBehaviorAxialTranslation"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.FreeAxialRotation" : {
        "title" : "Free rotation",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: FreeAxialRotation",
            "default" : "FREE"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.RigidAxialRotation" : {
        "title" : "Rigid",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: RigidAxialRotation",
            "default" : "RIGID"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.TorsionalAxialRotation" : {
        "title" : "With torsion spring",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: TorsionalAxialRotation",
            "default" : "TORSIONAL"
          },
          "torsionalStiffness" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_RotationalStiffness"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.Dimensional_RotationalStiffness" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "title" : "Value",
            "type" : "number"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "N·m/rad", "lbf·in/rad" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.FreeAxialTranslation" : {
        "title" : "Free sliding",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: FreeAxialTranslation",
            "default" : "FREE"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.RigidAxialTranslation" : {
        "title" : "Rigid",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: RigidAxialTranslation",
            "default" : "RIGID"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.FlexibleAxialTranslation" : {
        "title" : "With axial spring",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: FlexibleAxialTranslation",
            "default" : "FLEXIBLE"
          },
          "axialStiffness" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Stiffness"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.Dimensional_Stiffness" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "title" : "Value",
            "type" : "number"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "N/m", "lbf/in" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.AdvancedConnectorSettings" : {
        "type" : "object",
        "properties" : {
          "assignedFaceBehavior" : {
            "title" : "Assigned face behaviour",
            "type" : "string",
            "description" : "<p>Choose the deformation behavior of the assigned entity. If <b>deformable</b> is selected, the entity is allowed to deform without applying additional stiffness, selecting <b>undeformable</b> leads to a rigid entity. <a href='https://www.simscale.com/docs/simulation-setup/boundary-conditions/remote-displacement/#deformation-behavior' target='_blank'>Learn more</a></p>",
            "default" : "DEFORMABLE",
            "enum" : [ "DEFORMABLE", "UNDEFORMABLE" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.BoltConnector" : {
        "title" : "Bolt connector",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "<p>Connect multiple bodies via a virtual bolt <br /><br /><b>Usage</b>: <br /><ul><li>Define a separate bolt connector item for each virtual bolt</li><li>Assign entities must be coaxial</li></ul><b>Behavior</b>:<br /><ul><li>Bolt connectors mimic physical bolts using beam formulations. Relative translations and rotations of the connected entities are computed based on the defined bolt mechanical properties</li><li>Ability to apply preload</li></ul></p>\n\nSchema name: BoltConnector",
            "default" : "BOLT_CONNECTOR"
          },
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "boltType" : {
            "title" : "Bolt type",
            "type" : "string",
            "description" : "<p>Select your desired type of fastener<br /><br /><ul><li><b>Bolt and nut</b> - a virtual connection between a bolt head and nut location</li><li><b>Screw</b> - a virtual connection between a screw head location and a cylindrical surface representing a threaded section</li></ul></p>",
            "default" : "BOLT_AND_NUT",
            "enum" : [ "BOLT_AND_NUT", "SCREW" ]
          },
          "shankDiameter" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Length"
          },
          "mechanicalProperties" : {
            "$ref" : "#/components/schemas/Simulation.BoltMechanicalProperties"
          },
          "enableBoltPreload" : {
            "title" : "Enable bolt preload",
            "type" : "boolean",
            "description" : "Enable the definition of pretension within the virtual bolt.",
            "default" : false
          },
          "preload" : {
            "$ref" : "#/components/schemas/Simulation.ForcePreload"
          },
          "advancedBoltSettings" : {
            "$ref" : "#/components/schemas/Simulation.AdvancedConnectorSettings"
          },
          "masterTopologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          },
          "slaveTopologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          }
        },
        "additionalProperties" : false,
        "description" : "<p>Connect multiple bodies via a virtual bolt <br /><br /><b>Usage</b>: <br /><ul><li>Define a separate bolt connector item for each virtual bolt</li><li>Assign entities must be coaxial</li></ul><b>Behavior</b>:<br /><ul><li>Bolt connectors mimic physical bolts using beam formulations. Relative translations and rotations of the connected entities are computed based on the defined bolt mechanical properties</li><li>Ability to apply preload</li></ul></p>"
      },
      "Simulation.BoltMechanicalProperties" : {
        "type" : "object",
        "properties" : {
          "youngsModulus" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Pressure"
          },
          "poissonsRatio" : {
            "title" : "(ν) Poisson's ratio",
            "maximum" : 0.5,
            "exclusiveMaximum" : true,
            "minimum" : -1.0,
            "exclusiveMinimum" : true,
            "type" : "number",
            "description" : "Provide the Poisson's ratio value which describes the compression or elongation of the bolt material transverse to axial strain. Poisson's ratio can have a value within range from -1 to 0.5.",
            "default" : 0.28
          },
          "density" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Density"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.Dimensional_Pressure" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "title" : "Value",
            "type" : "number"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "Pa", "lbf/in²", "hPa", "kPa", "MPa", "atm", "mbar", "bar", "mH2O", "mmH2O", "mmHg", "dyne/cm²", "inH2O", "ftH2O", "inHg", "psf" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.Dimensional_Density" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "title" : "Value",
            "type" : "number"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "kg/m³", "lb/in³", "g/mm³", "g/cm³", "t/mm³", "lb/ft³" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.ForcePreload" : {
        "title" : "Force",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: ForcePreload",
            "default" : "FORCE"
          },
          "force" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Force"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.Dimensional_Force" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "title" : "Value",
            "type" : "number"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "N", "lbf", "dyne", "µN" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.SolidElementTechnology" : {
        "type" : "object",
        "properties" : {
          "elementTechnology3D" : {
            "$ref" : "#/components/schemas/Simulation.ElementTechnology"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.ElementTechnology" : {
        "type" : "object",
        "properties" : {
          "definitionMethod" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_ElementTechnologyDefinitionMethod"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.AutomaticElementDefinitionMethod" : {
        "title" : "Automatic",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: AutomaticElementDefinitionMethod",
            "default" : "AUTOMATIC"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.CustomElementDefinitionMethod" : {
        "title" : "Custom",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: CustomElementDefinitionMethod",
            "default" : "CUSTOM"
          },
          "mechanicalMeshElementOrder" : {
            "title" : "Mechanical mesh order",
            "type" : "string",
            "enum" : [ "FIRST", "SECOND" ],
            "x-showWhen" : [ "type in [STATIC_ANALYSIS,DYNAMIC_ANALYSIS,FREQUENCY_ANALYSIS,HARMONIC_ANALYSIS,THERMAL_MECHANICAL]" ],
            "x-conditionalDefaults" : [ {
              "when" : [ "type == THERMAL_MECHANICAL && nonLinearAnalysis == true", "type == STATIC_ANALYSIS && nonLinearAnalysis == true", "type in [DYNAMIC_ANALYSIS,HEAT_TRANSFER]" ],
              "default" : "FIRST"
            }, {
              "when" : [ "type in [HARMONIC_ANALYSIS,FREQUENCY_ANALYSIS]", "type == STATIC_ANALYSIS && nonLinearAnalysis == false", "type == THERMAL_MECHANICAL && nonLinearAnalysis == false" ],
              "default" : "SECOND"
            } ]
          },
          "thermalMeshElementOrder" : {
            "title" : "Thermal mesh order",
            "type" : "string",
            "default" : "FIRST",
            "enum" : [ "FIRST", "SECOND" ],
            "x-showWhen" : [ "type == THERMAL_MECHANICAL && elementTechnology.elementTechnology3D.definitionMethod.mechanicalMeshElementOrder == SECOND", "type == HEAT_TRANSFER" ]
          },
          "reducedIntegration" : {
            "title" : "Reduced integration",
            "type" : "boolean",
            "default" : false,
            "x-showWhen" : [ "type != HEAT_TRANSFER" ]
          },
          "lumpedMass" : {
            "title" : "Lumped mass",
            "type" : "boolean",
            "default" : false,
            "x-showWhen" : [ "type == HEAT_TRANSFER && elementTechnology.elementTechnology3D.definitionMethod.thermalMeshElementOrder == FIRST", "type == THERMAL_MECHANICAL && elementTechnology.elementTechnology3D.definitionMethod.thermalMeshElementOrder == FIRST", "type == THERMAL_MECHANICAL && elementTechnology.elementTechnology3D.definitionMethod.mechanicalMeshElementOrder == FIRST" ]
          },
          "definitions" : {
            "title" : "Element definitions",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.ElementTechnologyDefinition"
            },
            "x-showWhen" : [ "type in [STATIC_ANALYSIS,DYNAMIC_ANALYSIS,FREQUENCY_ANALYSIS,HARMONIC_ANALYSIS,THERMAL_MECHANICAL]", "type == HEAT_TRANSFER && elementTechnology.elementTechnology3D.definitionMethod.thermalMeshElementOrder == FIRST" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.ElementTechnologyDefinition" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "reducedIntegration" : {
            "title" : "Reduced integration",
            "type" : "boolean",
            "default" : false,
            "x-showWhen" : [ "type in [FREQUENCY_ANALYSIS,HARMONIC_ANALYSIS,STATIC_ANALYSIS,DYNAMIC_ANALYSIS,THERMAL_MECHANICAL] && elementTechnology.elementTechnology3D.definitionMethod.type == CUSTOM", "type != HEAT_TRANSFER" ]
          },
          "lumpedMass" : {
            "title" : "Lumped mass",
            "type" : "boolean",
            "default" : false,
            "x-showWhen" : [ "type == HEAT_TRANSFER && elementTechnology.elementTechnology3D.definitionMethod.type == CUSTOM && elementTechnology.elementTechnology3D.definitionMethod.thermalMeshElementOrder == FIRST", "type == THERMAL_MECHANICAL && elementTechnology.elementTechnology3D.definitionMethod.type == CUSTOM && elementTechnology.elementTechnology3D.definitionMethod.thermalMeshElementOrder == FIRST", "type == THERMAL_MECHANICAL && elementTechnology.elementTechnology3D.definitionMethod.type == CUSTOM && elementTechnology.elementTechnology3D.definitionMethod.mechanicalMeshElementOrder == FIRST" ]
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.SolidModel" : {
        "type" : "object",
        "properties" : {
          "geometricBehavior" : {
            "title" : "Geometric behavior",
            "type" : "string",
            "default" : "NONLINEAR",
            "enum" : [ "LINEAR", "NONLINEAR" ],
            "x-showWhen" : [ "type == DYNAMIC_ANALYSIS", "type == STATIC_ANALYSIS && nonLinearAnalysis == true", "type == THERMAL_MECHANICAL && nonLinearAnalysis == true" ]
          },
          "magnitude" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_Acceleration"
          },
          "e" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalVector_Length"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.DimensionalFunction_Acceleration" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_DimensionalFunction_AccelerationValue"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "m/s²", "in/s²", "G" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.VariableGroup_TIME" : {
        "type" : "object",
        "properties" : {
          "T" : {
            "$ref" : "#/components/schemas/Simulation.Unit_Time"
          }
        }
      },
      "Simulation.DimensionalVector_Length" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "$ref" : "#/components/schemas/Simulation.DecimalVector"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "m", "in", "mm", "cm", "ft", "yd" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.DecimalVector" : {
        "type" : "object",
        "properties" : {
          "x" : {
            "title" : "X",
            "type" : "number"
          },
          "y" : {
            "title" : "Y",
            "type" : "number"
          },
          "z" : {
            "title" : "Z",
            "type" : "number"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.SolidMaterial" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "materialBehavior" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_SolidMaterialMaterialBehavior"
          },
          "density" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_Density"
          },
          "expansion" : {
            "$ref" : "#/components/schemas/Simulation.IsotropicExpansion"
          },
          "conductivity" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_SolidMaterialConductivity"
          },
          "specificHeat" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_SpecificHeat"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          },
          "builtInMaterial" : {
            "type" : "string"
          },
          "materialLibraryReference" : {
            "$ref" : "#/components/schemas/Simulation.MaterialLibraryReference"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.LinearElasticMaterialBehavior" : {
        "title" : "Linear elastic",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "<p>Choose the material behavior for your problem. </p> <br /><br />Important remarks:<br /> <ul><li>Choose <b>Linear elastic</b> if the stress-strain relationship of your material is linear.</li><li>Choose <b>Elasto-plastic</b> if the stress-strain relationship of your material is non-linear after some point e.g. yielding point.</li><li>Choose <b>Hyperelastic</b> if your material responds elastically even at higher deformations.</li></ul> \n\nSchema name: LinearElasticMaterialBehavior",
            "default" : "LINEAR_ELASTIC"
          },
          "directionalDependency" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_LinearElasticMaterialBehaviorDirectionalDependency"
          },
          "damping" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_LinearElasticMaterialBehaviorDamping"
          },
          "creepFormulation" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_LinearElasticMaterialBehaviorCreepFormulation"
          }
        },
        "additionalProperties" : false,
        "description" : "<p>Choose the material behavior for your problem. </p> <br /><br />Important remarks:<br /> <ul><li>Choose <b>Linear elastic</b> if the stress-strain relationship of your material is linear.</li><li>Choose <b>Elasto-plastic</b> if the stress-strain relationship of your material is non-linear after some point e.g. yielding point.</li><li>Choose <b>Hyperelastic</b> if your material responds elastically even at higher deformations.</li></ul> "
      },
      "Simulation.IsotropicDirectionalDependency" : {
        "title" : "Isotropic",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: IsotropicDirectionalDependency",
            "default" : "ISOTROPIC"
          },
          "youngsModulus" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_Pressure"
          },
          "poissonsRatio" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_IsotropicDirectionalDependencyPoissonsRatio"
          },
          "expansionCoefficient" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_ThermalExpansionRate"
          },
          "referenceTemperature" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Temperature"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.DimensionalFunction_Pressure" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_DimensionalFunction_PressureValue"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "Pa", "lbf/in²", "hPa", "kPa", "MPa", "atm", "mbar", "bar", "mH2O", "mmH2O", "mmHg", "dyne/cm²", "inH2O", "ftH2O", "inHg", "psf" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.VariableGroup_TEMP" : {
        "type" : "object",
        "properties" : {
          "Temperature" : {
            "$ref" : "#/components/schemas/Simulation.Unit_Temperature"
          }
        }
      },
      "Simulation.Unit_Temperature" : {
        "type" : "object",
        "properties" : {
          "value" : {
            "title" : "Value",
            "type" : "number"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "°C", "°F", "K" ]
          }
        }
      },
      "Simulation.DimensionalFunction_ThermalExpansionRate" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_DimensionalFunction_ThermalExpansionRateValue"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "1/K", "1/°F" ],
            "x-MissingConversions" : true
          }
        },
        "additionalProperties" : false
      },
      "Simulation.Dimensional_Temperature" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "title" : "Value",
            "type" : "number"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "°C", "°F", "K" ],
            "x-MissingConversions" : true
          }
        },
        "additionalProperties" : false
      },
      "Simulation.OrthotropicDirectionalDependency" : {
        "title" : "Orthotropic",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: OrthotropicDirectionalDependency",
            "default" : "ORTHOTROPIC"
          },
          "youngsModulusX" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_Pressure"
          },
          "youngsModulusY" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_Pressure"
          },
          "youngsModulusZ" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_Pressure"
          },
          "poissonsRatioXY" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_OrthotropicDirectionalDependencyPoissonsRatioXY"
          },
          "poissonsRatioYZ" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_OrthotropicDirectionalDependencyPoissonsRatioYZ"
          },
          "poissonsRatioXZ" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_OrthotropicDirectionalDependencyPoissonsRatioXZ"
          },
          "shearModulusXY" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_Pressure"
          },
          "shearModulusYZ" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_Pressure"
          },
          "shearModulusXZ" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_Pressure"
          },
          "expansionCoefficientX" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_ThermalExpansionRate"
          },
          "expansionCoefficientY" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_ThermalExpansionRate"
          },
          "expansionCoefficientZ" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_ThermalExpansionRate"
          },
          "referenceTemperature" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Temperature"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.NoneDamping" : {
        "title" : "None",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: NoneDamping",
            "default" : "NONE"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.RayleighDamping" : {
        "title" : "Rayleigh damping",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: RayleighDamping",
            "default" : "RAYLEIGH"
          },
          "stiffnessProportionalCoefficient" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Time"
          },
          "massProportionalCoefficient" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Frequency"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.Dimensional_Time" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "title" : "Value",
            "type" : "number"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "s" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.Dimensional_Frequency" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "title" : "Value",
            "type" : "number"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "1/s", "RPM", "Hz" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.HystereticDamping" : {
        "title" : "Structural damping",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: HystereticDamping",
            "default" : "HYSTERETIC"
          },
          "dampingLevel" : {
            "title" : "Damping level (%)",
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "description" : "Specify the level of damping to be applied as a percentage of critical damping.",
            "default" : 1.0
          }
        },
        "additionalProperties" : false
      },
      "Simulation.GlobalDampingValue" : {
        "title" : "Use global value",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: GlobalDampingValue",
            "default" : "GLOBAL_DAMPING_VALUE"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.NortonCreepFormulation" : {
        "title" : "Norton",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: NortonCreepFormulation",
            "default" : "NORTON"
          },
          "a" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_StrainRate"
          },
          "n" : {
            "title" : "N",
            "maximum" : 10.0,
            "exclusiveMaximum" : false,
            "minimum" : 1.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "description" : "<p>Define the parameter <b>n</b> of the Norton creep formulation: <ul><b>&epsilon;&#775; = A*&sigma;<sup>n</sup></b></ul></p>",
            "x-showWhen" : [ "type == STATIC_ANALYSIS && nonLinearAnalysis == true", "type == THERMAL_MECHANICAL && nonLinearAnalysis == true", "type == DYNAMIC_ANALYSIS" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.Dimensional_StrainRate" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "title" : "Value",
            "type" : "number"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "1/s" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.NoCreepFormulation" : {
        "title" : "No creep",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: NoCreepFormulation",
            "default" : "NO_CREEP"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.StrainHardeningCreepFormulation" : {
        "title" : "Strain hardening",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: StrainHardeningCreepFormulation",
            "default" : "STRAIN_HARDENING"
          },
          "a" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_StrainRate"
          },
          "n" : {
            "title" : "N",
            "maximum" : 10.0,
            "exclusiveMaximum" : false,
            "minimum" : 1.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "description" : "<p>Define the parameter <b>n</b> of the Strain Hardening creep formulation: <ul><b>&epsilon;&#775; = A*&sigma;<sup>n</sup>*&epsilon;<sup>m</sup></b></ul></p>",
            "x-showWhen" : [ "type == STATIC_ANALYSIS && nonLinearAnalysis == true", "type == THERMAL_MECHANICAL && nonLinearAnalysis == true", "type == DYNAMIC_ANALYSIS" ]
          },
          "m" : {
            "title" : "M",
            "maximum" : 0.0,
            "exclusiveMaximum" : false,
            "minimum" : -1.0,
            "exclusiveMinimum" : true,
            "type" : "number",
            "description" : "<p>Define the parameter <b>m</b> of the Strain Hardening creep formulation: <ul><b>&epsilon;&#775; = A*&sigma;<sup>n</sup>*&epsilon;<sup>m</sup></b></ul></p>",
            "x-showWhen" : [ "type == STATIC_ANALYSIS && nonLinearAnalysis == true", "type == THERMAL_MECHANICAL && nonLinearAnalysis == true", "type == DYNAMIC_ANALYSIS" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.TimeHardeningCreepFormulation" : {
        "title" : "Time hardening",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: TimeHardeningCreepFormulation",
            "default" : "TIME_HARDENING"
          },
          "a" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_StrainRate"
          },
          "n" : {
            "title" : "N",
            "maximum" : 10.0,
            "exclusiveMaximum" : false,
            "minimum" : 1.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "description" : "<p>Define the parameter <b>n</b> of the Time Hardening creep formulation: <ul><b>&epsilon;&#775; = A*&sigma;<sup>n</sup>*t<sup>m</sup></b></ul></p>",
            "x-showWhen" : [ "type == STATIC_ANALYSIS && nonLinearAnalysis == true", "type == THERMAL_MECHANICAL && nonLinearAnalysis == true", "type == DYNAMIC_ANALYSIS" ]
          },
          "m" : {
            "title" : "M",
            "maximum" : 0.0,
            "exclusiveMaximum" : false,
            "minimum" : -1.0,
            "exclusiveMinimum" : true,
            "type" : "number",
            "description" : "<p>Define the parameter <b>m</b> of the Time Hardening creep formulation: <ul><b>&epsilon;&#775; = A*&sigma;<sup>n</sup>*t<sup>m</sup></b></ul></p>",
            "x-showWhen" : [ "type == STATIC_ANALYSIS && nonLinearAnalysis == true", "type == THERMAL_MECHANICAL && nonLinearAnalysis == true", "type == DYNAMIC_ANALYSIS" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.HyperElasticMaterialBehavior" : {
        "title" : "Hyper elastic",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "<p>Choose the material behavior for your problem. </p> <br /><br />Important remarks:<br /> <ul><li>Choose <b>Linear elastic</b> if the stress-strain relationship of your material is linear.</li><li>Choose <b>Elasto-plastic</b> if the stress-strain relationship of your material is non-linear after some point e.g. yielding point.</li><li>Choose <b>Hyperelastic</b> if your material responds elastically even at higher deformations.</li></ul> \n\nSchema name: HyperElasticMaterialBehavior",
            "default" : "HYPER_ELASTIC"
          },
          "hyperElasticModel" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_HyperElasticMaterialBehaviorHyperElasticModel"
          }
        },
        "additionalProperties" : false,
        "description" : "<p>Choose the material behavior for your problem. </p> <br /><br />Important remarks:<br /> <ul><li>Choose <b>Linear elastic</b> if the stress-strain relationship of your material is linear.</li><li>Choose <b>Elasto-plastic</b> if the stress-strain relationship of your material is non-linear after some point e.g. yielding point.</li><li>Choose <b>Hyperelastic</b> if your material responds elastically even at higher deformations.</li></ul> "
      },
      "Simulation.MooneyRivlinHyperElasticModel" : {
        "title" : "Mooney Rivlin",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: MooneyRivlinHyperElasticModel",
            "default" : "MOONEY_RIVLIN"
          },
          "c10" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Pressure"
          },
          "c01" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Pressure"
          },
          "d1" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_InvPressure"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.Dimensional_InvPressure" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "title" : "Value",
            "type" : "number"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "1/Pa", "in²/lbf" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.NeoHookeHyperElasticModel" : {
        "title" : "Neo Hooke",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: NeoHookeHyperElasticModel",
            "default" : "NEO_HOOKE"
          },
          "c10" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Pressure"
          },
          "d1" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_InvPressure"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.SignoriniHyperElasticModel" : {
        "title" : "Signorini",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: SignoriniHyperElasticModel",
            "default" : "SIGNORINI"
          },
          "c10" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Pressure"
          },
          "c01" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Pressure"
          },
          "c20" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Pressure"
          },
          "d1" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_InvPressure"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.YeohHyperElasticModel" : {
        "title" : "Yeoh",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: YeohHyperElasticModel",
            "default" : "YEOH"
          },
          "c10" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Pressure"
          },
          "c20" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Pressure"
          },
          "c30" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Pressure"
          },
          "d1" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_InvPressure"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.OgdenHyperElasticModel" : {
        "title" : "Ogden",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "<p>Choose the hyperelastic material model that should be used. All models derive the stress-strain relation from a strain energy function defined by the material model parameters.</p>\n\nSchema name: OgdenHyperElasticModel",
            "default" : "OGDEN"
          },
          "order" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_OgdenHyperElasticModelOrder"
          },
          "d1" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_InvPressure"
          }
        },
        "additionalProperties" : false,
        "description" : "<p>Choose the hyperelastic material model that should be used. All models derive the stress-strain relation from a strain energy function defined by the material model parameters.</p>"
      },
      "Simulation.FirstOrderOgden" : {
        "title" : "First order",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: FirstOrderOgden",
            "default" : "FIRST_ORDER_OGDEN"
          },
          "mu1" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Pressure"
          },
          "alpha1" : {
            "title" : "α<1>",
            "type" : "number",
            "description" : "<p>Provide a parameter value for the Ogden coefficient <b>&alpha;<sub>1</sub></b>. </p>"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.SecondOrderOgden" : {
        "title" : "Second order",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: SecondOrderOgden",
            "default" : "SECOND_ORDER_OGDEN"
          },
          "mu1" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Pressure"
          },
          "alpha1" : {
            "title" : "α<1>",
            "type" : "number",
            "description" : "<p>Provide a parameter value for the Ogden coefficient <b>&alpha;<sub>1</sub></b>. </p>"
          },
          "mu2" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Pressure"
          },
          "alpha2" : {
            "title" : "α<2>",
            "type" : "number",
            "description" : "<p>Provide a parameter value for the Ogden coefficient <b>&alpha;<sub>2</sub></b>. </p>"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.ThirdOrderOgden" : {
        "title" : "Third order",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: ThirdOrderOgden",
            "default" : "THIRD_ORDER_OGDEN"
          },
          "mu1" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Pressure"
          },
          "alpha1" : {
            "title" : "α<1>",
            "type" : "number",
            "description" : "<p>Provide a parameter value for the Ogden coefficient <b>&alpha;<sub>1</sub></b>. </p>"
          },
          "mu2" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Pressure"
          },
          "alpha2" : {
            "title" : "α<2>",
            "type" : "number",
            "description" : "<p>Provide a parameter value for the Ogden coefficient <b>&alpha;<sub>2</sub></b>. </p>"
          },
          "mu3" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Pressure"
          },
          "alpha3" : {
            "title" : "α<3>",
            "type" : "number",
            "description" : "<p>Provide a parameter value for the Ogden coefficient <b>&alpha;<sub>3</sub></b>. </p>"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.PlasticMaterialBehavior" : {
        "title" : "Elasto-plastic",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "<p>Choose the material behavior for your problem. </p> <br /><br />Important remarks:<br /> <ul><li>Choose <b>Linear elastic</b> if the stress-strain relationship of your material is linear.</li><li>Choose <b>Elasto-plastic</b> if the stress-strain relationship of your material is non-linear after some point e.g. yielding point.</li><li>Choose <b>Hyperelastic</b> if your material responds elastically even at higher deformations.</li></ul> \n\nSchema name: PlasticMaterialBehavior",
            "default" : "PLASTIC"
          },
          "elastoPlasticModel" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_PlasticMaterialBehaviorElastoPlasticModel"
          }
        },
        "additionalProperties" : false,
        "description" : "<p>Choose the material behavior for your problem. </p> <br /><br />Important remarks:<br /> <ul><li>Choose <b>Linear elastic</b> if the stress-strain relationship of your material is linear.</li><li>Choose <b>Elasto-plastic</b> if the stress-strain relationship of your material is non-linear after some point e.g. yielding point.</li><li>Choose <b>Hyperelastic</b> if your material responds elastically even at higher deformations.</li></ul> "
      },
      "Simulation.BilinearElastoPlasticModel" : {
        "title" : "Bilinear",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: BilinearElastoPlasticModel",
            "default" : "BILINEAR"
          },
          "youngsModulus" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_Pressure"
          },
          "poissonsRatio" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_BilinearElastoPlasticModelPoissonsRatio"
          },
          "hardeningModel" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_BilinearElastoPlasticModelHardeningModel"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.StrainHardeningModel" : {
        "title" : "Strain hardening",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: StrainHardeningModel",
            "default" : "STRAIN_HARDENING"
          },
          "yieldStress" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_Pressure"
          },
          "ultimateStress" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_Pressure"
          },
          "ultimateStrain" : {
            "$ref" : "#/components/schemas/Simulation.ConstantFunction"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.PerfectPlasticityModel" : {
        "title" : "Perfect plasticity",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: PerfectPlasticityModel",
            "default" : "PERFECT_PLASTICITY"
          },
          "yieldStress" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_Pressure"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.MultilinearElastoPlasticModel" : {
        "title" : "Multilinear",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: MultilinearElastoPlasticModel",
            "default" : "MULTILINEAR"
          },
          "plasticHardening" : {
            "$ref" : "#/components/schemas/Simulation.IsotropicPlasticHardening"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.IsotropicPlasticHardening" : {
        "title" : "Isotropic",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "<p>Define the plastic hardening type of the material.</p>\n\nSchema name: IsotropicPlasticHardening",
            "default" : "ISOTROPIC"
          },
          "youngsModulus" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_Pressure"
          },
          "poissonsRatio" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_IsotropicPlasticHardeningPoissonsRatio"
          },
          "vonMisesStress" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_Pressure"
          }
        },
        "additionalProperties" : false,
        "description" : "<p>Define the plastic hardening type of the material.</p>"
      },
      "Simulation.VariableGroup_STRAIN" : {
        "type" : "object",
        "properties" : {
          "E" : {
            "$ref" : "#/components/schemas/Simulation.Unit_Dimensionless"
          }
        }
      },
      "Simulation.Unit_Dimensionless" : {
        "type" : "object",
        "properties" : {
          "value" : {
            "title" : "Value",
            "type" : "number"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "", "%" ]
          }
        }
      },
      "Simulation.VariableGroup_TEMP_STRAIN" : {
        "type" : "object",
        "properties" : {
          "E" : {
            "$ref" : "#/components/schemas/Simulation.Unit_Dimensionless"
          },
          "Temperature" : {
            "$ref" : "#/components/schemas/Simulation.Unit_Temperature"
          }
        }
      },
      "Simulation.JohnsonCookElastoPlasticModel" : {
        "title" : "Johnson-Cook",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: JohnsonCookElastoPlasticModel",
            "default" : "JOHNSON_COOK"
          },
          "youngsModulus" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_Pressure"
          },
          "poissonsRatio" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_JohnsonCookElastoPlasticModelPoissonsRatio"
          },
          "initialYieldStress" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_Pressure"
          },
          "hardeningCoefficient" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_Pressure"
          },
          "hardeningExponent" : {
            "title" : "(n) Hardening exponent",
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "description" : "The strain hardening exponent describes the rate at which the material hardens with respect to plastic strain."
          },
          "strainRateEffect" : {
            "title" : "Enable strain rate hardening",
            "type" : "boolean",
            "description" : "This term indicates how the flow stress increases with increasing strain rate.",
            "default" : false,
            "x-showWhen" : [ "type == STATIC_ANALYSIS && nonLinearAnalysis == true", "type == THERMAL_MECHANICAL && nonLinearAnalysis == true", "type == DYNAMIC_ANALYSIS" ]
          },
          "strainRateHardeningCoefficient" : {
            "title" : "(C) Strain rate hardening coefficient",
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "description" : "The strain rate hardening coefficient describes the sensitivity of the material's flow stress to changes in the strain rate.",
            "default" : 0.0,
            "x-showWhen" : [ "1/strainRateEffect == true" ]
          },
          "referenceStrainRate" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_StrainRate"
          },
          "thermalSofteningEffect" : {
            "title" : "Enable thermal softening",
            "type" : "boolean",
            "description" : "This term indicates how the material softens with increasing temperature.",
            "default" : false,
            "x-showWhen" : [ "type == THERMAL_MECHANICAL && nonLinearAnalysis == true" ]
          },
          "thermalSofteningExponent" : {
            "title" : "(m) Thermal softening exponent",
            "minimum" : 0.0,
            "exclusiveMinimum" : true,
            "type" : "number",
            "description" : "The thermal softening exponent describes the rate at which the material's strength decreases with increasing temperature.",
            "x-showWhen" : [ "1/thermalSofteningEffect == true" ]
          },
          "referenceTemperatureJC" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Temperature"
          },
          "meltingTemperatureJC" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Temperature"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.DimensionalFunction_Density" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_DimensionalFunction_DensityValue"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "kg/m³", "lb/in³", "g/mm³", "g/cm³", "t/mm³", "lb/ft³" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.IsotropicExpansion" : {
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "<p>Define the directional dependency of this property. Isotropic means directionally independent.</p>\n\nSchema name: IsotropicExpansion",
            "default" : "ISOTROPIC"
          },
          "expansionCoefficient" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_ThermalExpansionRate"
          },
          "referenceTemperature" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Temperature"
          }
        },
        "additionalProperties" : false,
        "description" : "<p>Define the directional dependency of this property. Isotropic means directionally independent.</p>"
      },
      "Simulation.IsotropicConductivity" : {
        "title" : "Isotropic",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "<p>Define the directional dependency of this property. Isotropic means directionally independent. Orthotropic means directionally dependent.</p>\n\nSchema name: IsotropicConductivity",
            "default" : "ISOTROPIC"
          },
          "thermalConductivity" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_ThermalConductivity"
          },
          "thermalConductivityFunction" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_ThermalConductivity"
          }
        },
        "additionalProperties" : false,
        "description" : "<p>Define the directional dependency of this property. Isotropic means directionally independent. Orthotropic means directionally dependent.</p>"
      },
      "Simulation.DimensionalFunction_ThermalConductivity" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_DimensionalFunction_ThermalConductivityValue"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "W/(m·K)", "Btu/(s·in·°F)", "W/(mm·K)", "W/(cm·K)", "Btu/(min·in·°F)", "Btu/(h·in·°F)", "Btu/(s·ft·°F)", "Btu/(min·ft·°F)", "Btu/(h·ft·°F)" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.VariableGroup_EMPTY" : {
        "type" : "object",
        "properties" : { }
      },
      "Simulation.OrthotropicConductivity" : {
        "title" : "Orthotropic",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "<p>Define the directional dependency of this property. Isotropic means directionally independent. Orthotropic means directionally dependent.</p>\n\nSchema name: OrthotropicConductivity",
            "default" : "ORTHOTROPIC"
          },
          "thermalConductivityX" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_ThermalConductivity"
          },
          "thermalConductivityY" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_ThermalConductivity"
          },
          "thermalConductivityZ" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_ThermalConductivity"
          }
        },
        "additionalProperties" : false,
        "description" : "<p>Define the directional dependency of this property. Isotropic means directionally independent. Orthotropic means directionally dependent.</p>"
      },
      "Simulation.DimensionalFunction_SpecificHeat" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_DimensionalFunction_SpecificHeatValue"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "J/(kg·K)", "Btu/(lb·°F)" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.MaterialLibraryReference" : {
        "type" : "object",
        "properties" : {
          "materialGroupId" : {
            "type" : "string"
          },
          "materialId" : {
            "type" : "string"
          },
          "interpolationParameters" : {
            "type" : "object",
            "additionalProperties" : {
              "$ref" : "#/components/schemas/Simulation.InterpolationParameter"
            }
          }
        },
        "additionalProperties" : false
      },
      "Simulation.InterpolationParameter" : {
        "required" : [ "unit", "value" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "title" : "Value",
            "type" : "number"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.SolidInitialConditions" : {
        "type" : "object",
        "properties" : {
          "displacement" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalVectorFunctionInitialConditionWithDomains_Length"
          },
          "velocity" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalVectorFunctionInitialConditionWithDomains_Speed"
          },
          "acceleration" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalVectorFunctionInitialConditionWithDomains_Acceleration"
          },
          "stress" : {
            "$ref" : "#/components/schemas/Simulation.StressInitialConditionDomains"
          },
          "temperature" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunctionInitialConditionDomains_Temperature"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.DimensionalVectorFunctionInitialConditionWithDomains_Length" : {
        "type" : "object",
        "properties" : {
          "global" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalVectorFunction_Length"
          },
          "subdomains" : {
            "title" : "Subdomains",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.SubdomainBasedDimensionalVectorFunctionInitialCondition_Length"
            }
          }
        },
        "additionalProperties" : false
      },
      "Simulation.DimensionalVectorFunction_Length" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_DimensionalVectorFunction_LengthValue"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "m", "in", "mm", "cm", "ft", "yd" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.ComponentVectorFunction" : {
        "title" : "Component vector function",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: ComponentVectorFunction",
            "default" : "COMPONENT"
          },
          "x" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_ComponentVectorFunctionX"
          },
          "y" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_ComponentVectorFunctionY"
          },
          "z" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_ComponentVectorFunctionZ"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.TableDefinedVectorFunction" : {
        "title" : "Table defined vector function",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: TableDefinedVectorFunction",
            "default" : "TABLE_DEFINED"
          },
          "label" : {
            "title" : "Label",
            "type" : "string",
            "default" : "Table"
          },
          "tableId" : {
            "type" : "string",
            "description" : "The ID of the imported table.",
            "format" : "uuid"
          },
          "resultIndex" : {
            "title" : "Result index",
            "type" : "array",
            "description" : "Indicates which column(s) of the table contains the result values. One-based indexing must be used. For example, set this field to '[2]' if the second column of the table contains the dependent variable values.",
            "items" : {
              "type" : "integer"
            }
          },
          "independentVariables" : {
            "title" : "Independent variables",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.TableFunctionParameter"
            }
          },
          "separator" : {
            "title" : "Separator",
            "type" : "string",
            "description" : "Values in each row are separated by this character. Also known as a delimiter.",
            "default" : ","
          },
          "outOfBounds" : {
            "title" : "Out of bounds",
            "type" : "string",
            "default" : "CLAMP",
            "enum" : [ "CLAMP" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.VariableGroup_X_Y_Z" : {
        "type" : "object",
        "properties" : {
          "X" : {
            "$ref" : "#/components/schemas/Simulation.Unit_Length"
          },
          "Y" : {
            "$ref" : "#/components/schemas/Simulation.Unit_Length"
          },
          "Z" : {
            "$ref" : "#/components/schemas/Simulation.Unit_Length"
          }
        }
      },
      "Simulation.SubdomainBasedDimensionalVectorFunctionInitialCondition_Length" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "subdomainValue" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalVectorFunction_Length"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.DimensionalVectorFunctionInitialConditionWithDomains_Speed" : {
        "type" : "object",
        "properties" : {
          "global" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalVectorFunction_Speed"
          },
          "subdomains" : {
            "title" : "Subdomains",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.SubdomainBasedDimensionalVectorFunctionInitialCondition_Speed"
            }
          }
        },
        "additionalProperties" : false
      },
      "Simulation.DimensionalVectorFunction_Speed" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_DimensionalVectorFunction_SpeedValue"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "m/s", "in/s", "m/min", "m/h", "mm/s", "mm/min", "mm/h", "cm/s", "cm/min", "cm/h", "km/h", "ft/s", "ft/min", "ft/h", "in/min", "in/h", "mph", "kn" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.SubdomainBasedDimensionalVectorFunctionInitialCondition_Speed" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "subdomainValue" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalVectorFunction_Speed"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.DimensionalVectorFunctionInitialConditionWithDomains_Acceleration" : {
        "type" : "object",
        "properties" : {
          "global" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalVectorFunction_Acceleration"
          },
          "subdomains" : {
            "title" : "Subdomains",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.SubdomainBasedDimensionalVectorFunctionInitialCondition_Acceleration"
            }
          }
        },
        "additionalProperties" : false
      },
      "Simulation.DimensionalVectorFunction_Acceleration" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_DimensionalVectorFunction_AccelerationValue"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "m/s²", "in/s²", "G" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.SubdomainBasedDimensionalVectorFunctionInitialCondition_Acceleration" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "subdomainValue" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalVectorFunction_Acceleration"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.StressInitialConditionDomains" : {
        "type" : "object",
        "properties" : {
          "global" : {
            "$ref" : "#/components/schemas/Simulation.StressTensor_Pressure"
          },
          "subdomains" : {
            "title" : "Subdomains",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.SubdomainStressInitialCondition"
            }
          }
        },
        "additionalProperties" : false
      },
      "Simulation.StressTensor_Pressure" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "sigmaXX" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_StressTensor_PressureSigmaXX"
          },
          "sigmaYY" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_StressTensor_PressureSigmaYY"
          },
          "sigmaZZ" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_StressTensor_PressureSigmaZZ"
          },
          "sigmaYZ" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_StressTensor_PressureSigmaYZ"
          },
          "sigmaXZ" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_StressTensor_PressureSigmaXZ"
          },
          "sigmaXY" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_StressTensor_PressureSigmaXY"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "Pa", "lbf/in²", "hPa", "kPa", "MPa", "atm", "mbar", "bar", "mH2O", "mmH2O", "mmHg", "dyne/cm²", "inH2O", "ftH2O", "inHg", "psf" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.SubdomainStressInitialCondition" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "subdomainValue" : {
            "$ref" : "#/components/schemas/Simulation.StressTensor_Pressure"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.DimensionalFunctionInitialConditionDomains_Temperature" : {
        "type" : "object",
        "properties" : {
          "global" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_Temperature"
          },
          "subdomains" : {
            "title" : "Subdomains",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.SubdomainDimensionalFunctionInitialCondition_Temperature"
            }
          }
        },
        "additionalProperties" : false
      },
      "Simulation.DimensionalFunction_Temperature" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_DimensionalFunction_TemperatureValue"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "°C", "°F", "K" ],
            "x-MissingConversions" : true
          }
        },
        "additionalProperties" : false
      },
      "Simulation.SubdomainDimensionalFunctionInitialCondition_Temperature" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "subdomainValue" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_Temperature"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.BoltPreloadBC" : {
        "title" : "Bolt preload",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "<b>Bolt preload</b> boundary condition helps to model pre-stressed bolts in a CAD geometry for structural analysis. Enter a preload <i>force</i> to be assigned to cylindrical faces representing the shank of the bolt. <br><b>Note:</b><ul><li>These faces should be continuous and not be assigned to contact definitions.</li><li>Each bolt gets only one load, if multiple faces for the same bolt are assigned, they get ignored.</li><li>The applied load <b>does not get</b> distributed if multiple bolts are assigned.</li></ul> <img src=\"/spec/resources/help/imgs/bolt_preload_help_text.png\" class=\"helpPopupImage\"/> <a href='https://www.simscale.com/docs/simulation-setup/boundary-conditions/bolt-preload/' target='_blank'>Learn more</a>.\n\nSchema name: BoltPreloadBC",
            "default" : "BOLT_PRELOAD"
          },
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "preload" : {
            "$ref" : "#/components/schemas/Simulation.ForcePreload"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          }
        },
        "additionalProperties" : false,
        "description" : "<b>Bolt preload</b> boundary condition helps to model pre-stressed bolts in a CAD geometry for structural analysis. Enter a preload <i>force</i> to be assigned to cylindrical faces representing the shank of the bolt. <br><b>Note:</b><ul><li>These faces should be continuous and not be assigned to contact definitions.</li><li>Each bolt gets only one load, if multiple faces for the same bolt are assigned, they get ignored.</li><li>The applied load <b>does not get</b> distributed if multiple bolts are assigned.</li></ul> <img src=\"/spec/resources/help/imgs/bolt_preload_help_text.png\" class=\"helpPopupImage\"/> <a href='https://www.simscale.com/docs/simulation-setup/boundary-conditions/bolt-preload/' target='_blank'>Learn more</a>."
      },
      "Simulation.ElasticSupportBC" : {
        "title" : "Elastic support",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "<p>The <b>elastic support</b> constraint can be used to model an <b>elastic foundation</b> between the assigned surfaces and the rigid ground. Additionally it can be used to <b>prevent rigid body motions</b> in a nonlinear analysis. The constraint acts on tension and compression forces and all stiffness values are expressed in the global coordinate system.<br><a href='https://www.simscale.com/docs/simulation-setup/boundary-conditions/elastic-support/' target='_blank'>Learn more</a>.</p>\n\nSchema name: ElasticSupportBC",
            "default" : "ELASTIC_SUPPORT"
          },
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "springStiffness" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_ElasticSupportBCSpringStiffness"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          }
        },
        "additionalProperties" : false,
        "description" : "<p>The <b>elastic support</b> constraint can be used to model an <b>elastic foundation</b> between the assigned surfaces and the rigid ground. Additionally it can be used to <b>prevent rigid body motions</b> in a nonlinear analysis. The constraint acts on tension and compression forces and all stiffness values are expressed in the global coordinate system.<br><a href='https://www.simscale.com/docs/simulation-setup/boundary-conditions/elastic-support/' target='_blank'>Learn more</a>.</p>"
      },
      "Simulation.IsotropicSpringStiffness" : {
        "title" : "Isotropic",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: IsotropicSpringStiffness",
            "default" : "ISOTROPIC"
          },
          "stiffnessDefinition" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_IsotropicSpringStiffnessStiffnessDefinition"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.TotalIsotropicStiffnessDefinition" : {
        "title" : "Total",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: TotalIsotropicStiffnessDefinition",
            "default" : "TOTAL_ISOTROPIC"
          },
          "total" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_SurfaceTension"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.Dimensional_SurfaceTension" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "title" : "Value",
            "type" : "number"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "N/m", "lbf/in" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.DistributedIsotropicStiffnessDefinition" : {
        "title" : "Distributed",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: DistributedIsotropicStiffnessDefinition",
            "default" : "DISTRIBUTED_ISOTROPIC"
          },
          "distributed" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_VolumeForce"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.Dimensional_VolumeForce" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "title" : "Value",
            "type" : "number"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "N/m³", "lbf/in³" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.OrthotropicSpringStiffness" : {
        "title" : "Orthotropic",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: OrthotropicSpringStiffness",
            "default" : "ORTHOTROPIC"
          },
          "stiffnessDefinition" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_OrthotropicSpringStiffnessStiffnessDefinition"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.TotalOrthotropicStiffnessDefinition" : {
        "title" : "Total",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: TotalOrthotropicStiffnessDefinition",
            "default" : "TOTAL_ORTHOTROPIC"
          },
          "total" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalVector_SurfaceTension"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.DimensionalVector_SurfaceTension" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "$ref" : "#/components/schemas/Simulation.DecimalVector"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "N/m", "lbf/in" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.DistributedOrthotropicStiffnessDefinition" : {
        "title" : "Distributed",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: DistributedOrthotropicStiffnessDefinition",
            "default" : "DISTRIBUTED_ORTHOTROPIC"
          },
          "distributed" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalVector_VolumeForce"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.DimensionalVector_VolumeForce" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "$ref" : "#/components/schemas/Simulation.DecimalVector"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "N/m³", "lbf/in³" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.FixedSupportBC" : {
        "title" : "Fixed support",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "<p>If a <b>fixed support</b> boundary condition is used, all degrees of freedom of the selected entities are fixed at zero. This constraint is often used to model a fixation to the ground or an undeformable part.<br><a href='https://www.simscale.com/docs/simulation-setup/boundary-conditions/fixed-support-constraint-type/' target='_blank'>Learn more</a>.</p>\n\nSchema name: FixedSupportBC",
            "default" : "FIXED_SUPPORT"
          },
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          }
        },
        "additionalProperties" : false,
        "description" : "<p>If a <b>fixed support</b> boundary condition is used, all degrees of freedom of the selected entities are fixed at zero. This constraint is often used to model a fixation to the ground or an undeformable part.<br><a href='https://www.simscale.com/docs/simulation-setup/boundary-conditions/fixed-support-constraint-type/' target='_blank'>Learn more</a>.</p>"
      },
      "Simulation.FixedValueBC" : {
        "title" : "Fixed value",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "This is a boundary condition for the <b>displacement vector</b> variable. You can define prescribed values for the displacement of the assigned groups in every coordinate direction (x,y,z) or leave it unconstrained in order to let the entity move freely. <br /><br />Important remarks: <br /><ul><li>Choose 0 as value in order to fix your selection.</li><li>Do not constrain entities in directions where a load boundary condition is applied.</li><li>Do not constrain entities with multiple Dirichlet boundary conditions in one direction (overconstrained).</li><li>Do not constrain slave entities of <b>Contact Constraints</b> as they are constrained by the master in that direction (overconstrained).</li></ul><a href= https://www.simscale.com/docs/simulation-setup/boundary-conditions/fixed-value-boundary-condition-type/' target='_blank'>Learn more</a>.\n\nSchema name: FixedValueBC",
            "default" : "FIXED_VALUE"
          },
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "displacement" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalPartialVectorFunction_Length"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          }
        },
        "additionalProperties" : false,
        "description" : "This is a boundary condition for the <b>displacement vector</b> variable. You can define prescribed values for the displacement of the assigned groups in every coordinate direction (x,y,z) or leave it unconstrained in order to let the entity move freely. <br /><br />Important remarks: <br /><ul><li>Choose 0 as value in order to fix your selection.</li><li>Do not constrain entities in directions where a load boundary condition is applied.</li><li>Do not constrain entities with multiple Dirichlet boundary conditions in one direction (overconstrained).</li><li>Do not constrain slave entities of <b>Contact Constraints</b> as they are constrained by the master in that direction (overconstrained).</li></ul><a href= https://www.simscale.com/docs/simulation-setup/boundary-conditions/fixed-value-boundary-condition-type/' target='_blank'>Learn more</a>."
      },
      "Simulation.DimensionalPartialVectorFunction_Length" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "$ref" : "#/components/schemas/Simulation.PartialVectorFunction"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "m", "in", "mm", "cm", "ft", "yd" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.PartialVectorFunction" : {
        "type" : "object",
        "properties" : {
          "x" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_PartialVectorFunctionX"
          },
          "y" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_PartialVectorFunctionY"
          },
          "z" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_PartialVectorFunctionZ"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.PrescribedOptionalFunction" : {
        "title" : "Prescribed optional function",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: PrescribedOptionalFunction",
            "default" : "PRESCRIBED"
          },
          "value" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_PrescribedOptionalFunctionValue"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.UnconstrainedOptionalFunction" : {
        "title" : "Unconstrained optional function",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: UnconstrainedOptionalFunction",
            "default" : "UNCONSTRAINED"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.PointMassBC" : {
        "title" : "Point mass",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "<p>Define a <b>Point mass</b> boundary condition in order to insert an additional mass on a specific location of the active model.</p>\n\nSchema name: PointMassBC",
            "default" : "POINT_MASS"
          },
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "mass" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Mass"
          },
          "massMomentOfInertia" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalVector_MomentOfInertia"
          },
          "externalPoint" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalVector_Length"
          },
          "deformationBehavior" : {
            "title" : "Deformation behavior",
            "type" : "string",
            "description" : "<p>Choose the deformation behavior of the entity which the point mass is connected to. If <b>deformable</b> is selected, the entity is allowed to deform, selecting <b>undeformable</b> leads to a rigid entity.</p>",
            "default" : "DEFORMABLE",
            "enum" : [ "DEFORMABLE", "UNDEFORMABLE" ]
          },
          "enableSearchRadius" : {
            "title" : "Enable search radius",
            "type" : "boolean",
            "default" : false
          },
          "searchRadius" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Length"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          }
        },
        "additionalProperties" : false,
        "description" : "<p>Define a <b>Point mass</b> boundary condition in order to insert an additional mass on a specific location of the active model.</p>"
      },
      "Simulation.Dimensional_Mass" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "title" : "Value",
            "type" : "number"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "kg", "lb", "t" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.DimensionalVector_MomentOfInertia" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "$ref" : "#/components/schemas/Simulation.DecimalVector"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "kg·m²", "lb·in²" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.DistributedMassBC" : {
        "title" : "Distributed mass",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "<p>Define a <b>Distributed mass</b> boundary condition in order to insert an additional mass on a specific face of the active model.</p>\n\nSchema name: DistributedMassBC",
            "default" : "DISTRIBUTED_MASS"
          },
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "massDefinition" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_DistributedMassBCMassDefinition"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          }
        },
        "additionalProperties" : false,
        "description" : "<p>Define a <b>Distributed mass</b> boundary condition in order to insert an additional mass on a specific face of the active model.</p>"
      },
      "Simulation.TotalMass" : {
        "title" : "Total",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: TotalMass",
            "default" : "TOTAL_MASS"
          },
          "mass" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Mass"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.AreaDensityMass" : {
        "title" : "Area density",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: AreaDensityMass",
            "default" : "AREA_DENSITY_MASS"
          },
          "mass" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_MassAreaDensity"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.Dimensional_MassAreaDensity" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "title" : "Value",
            "type" : "number"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "kg/m²", "lb/in²", "g/m²", "gr/ft²" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.RemoteDisplacementLoadBC" : {
        "title" : "Remote displacement",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "This boundary condition restrains the displacement of a face or edge relative to a specified remote point. Therefore the assignment is connected to the remote point with RBE3 (deformable) or MPC (undeformable) conditions and the defined constraints are applied to the remote point.<br /><br />Important remarks: <br /><ul><li>As the assignments are connected to the remote point, additional constraints on these nodes may lead to overconstrained systems.</li><li>If the number of nodes of the assigment is large (>1000), it is recommended to use the <b>MUMPS</b> or <b>PETSC</b> solver.</li><li>This boundary condition is only valid for small rotations. For large rotations, please use <b>Rotating motion</b> boundary conditions.</li></ul><a href= https://www.simscale.com/docs/simulation-setup/boundary-conditions/remote-displacement/' target='_blank'>Learn more</a>. \n\nSchema name: RemoteDisplacementLoadBC",
            "default" : "REMOTE_DISPLACEMENT_LOAD"
          },
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "displacement" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalPartialVectorFunction_Length"
          },
          "rotation" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalPartialVectorFunction_Angle"
          },
          "externalPoint" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalVector_Length"
          },
          "deformationBehavior" : {
            "title" : "Deformation behavior",
            "type" : "string",
            "description" : "<p>Choose the deformation behavior of the assigned entity. If <b>deformable</b> is selected, the entity is allowed to deform, selecting <b>undeformable</b> leads to a rigid entity.</p>",
            "default" : "DEFORMABLE",
            "enum" : [ "DEFORMABLE", "UNDEFORMABLE" ]
          },
          "enableSearchRadius" : {
            "title" : "Enable search radius",
            "type" : "boolean",
            "default" : false
          },
          "searchRadius" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Length"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          }
        },
        "additionalProperties" : false,
        "description" : "This boundary condition restrains the displacement of a face or edge relative to a specified remote point. Therefore the assignment is connected to the remote point with RBE3 (deformable) or MPC (undeformable) conditions and the defined constraints are applied to the remote point.<br /><br />Important remarks: <br /><ul><li>As the assignments are connected to the remote point, additional constraints on these nodes may lead to overconstrained systems.</li><li>If the number of nodes of the assigment is large (>1000), it is recommended to use the <b>MUMPS</b> or <b>PETSC</b> solver.</li><li>This boundary condition is only valid for small rotations. For large rotations, please use <b>Rotating motion</b> boundary conditions.</li></ul><a href= https://www.simscale.com/docs/simulation-setup/boundary-conditions/remote-displacement/' target='_blank'>Learn more</a>. "
      },
      "Simulation.DimensionalPartialVectorFunction_Angle" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "$ref" : "#/components/schemas/Simulation.PartialVectorFunction"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "rad", "°" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.RotatingMotionBC" : {
        "title" : "Rotating motion",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "<p>The <b>rotating motion</b> constraint applies a predefined rigid body rotation to the assigned entities. The rotation axis, the base point, and the rotation angle needs to be specified. Each component can be defined with a formula or table input.<br /><br />Important remarks: <br /><ul><li>If a component of the rotation axis is input via formula or table, then ensure that the length of the axis vector is always positive.</li><li>If a continuous, transient rotation is required, then the rotation angle has to be given either as a formula or table value.</li></ul></p><a href= https://www.simscale.com/docs/simulation-setup/boundary-conditions/rotating-motion/' target='_blank'>Learn more</a>.\n\nSchema name: RotatingMotionBC",
            "default" : "ROTATING_MOTION"
          },
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "rotationOrigin" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalVectorFunction_Length"
          },
          "rotationAxis" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalVectorFunction_Length"
          },
          "omega" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_Angle"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          }
        },
        "additionalProperties" : false,
        "description" : "<p>The <b>rotating motion</b> constraint applies a predefined rigid body rotation to the assigned entities. The rotation axis, the base point, and the rotation angle needs to be specified. Each component can be defined with a formula or table input.<br /><br />Important remarks: <br /><ul><li>If a component of the rotation axis is input via formula or table, then ensure that the length of the axis vector is always positive.</li><li>If a continuous, transient rotation is required, then the rotation angle has to be given either as a formula or table value.</li></ul></p><a href= https://www.simscale.com/docs/simulation-setup/boundary-conditions/rotating-motion/' target='_blank'>Learn more</a>."
      },
      "Simulation.DimensionalFunction_Angle" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_DimensionalFunction_AngleValue"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "rad", "°" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.SymmetryPlaneBC" : {
        "title" : "Symmetry plane",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "This boundary condition restrains the displacement of a face in its normal direction in order to represent a symmetry plane of the structure. Use this boundary condition to reduce the model size significantly if the geometry and the loading conditions are symmetric.<br /><br />Important remarks: <br /><ul><li>The solver uses linear relations between all three DOFs to constrian the normal movement, thus overcontraint conditions may appear if the edges of the selected faces are constrained by other displacement boundary conditions.</li><li>If the assigned faces are orthogonal to a global coordinate axes, it is recommended to directly specifiy the symmetry conditions with a <b>Fixed value</b> boundary condition.</li></ul><a href= https://www.simscale.com/docs/simulation-setup/boundary-conditions/symmetry/#symmetry-plane-boundary-condition-fea' target='_blank'>Learn more</a>.\n\nSchema name: SymmetryPlaneBC",
            "default" : "SYMMETRY_PLANE"
          },
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          }
        },
        "additionalProperties" : false,
        "description" : "This boundary condition restrains the displacement of a face in its normal direction in order to represent a symmetry plane of the structure. Use this boundary condition to reduce the model size significantly if the geometry and the loading conditions are symmetric.<br /><br />Important remarks: <br /><ul><li>The solver uses linear relations between all three DOFs to constrian the normal movement, thus overcontraint conditions may appear if the edges of the selected faces are constrained by other displacement boundary conditions.</li><li>If the assigned faces are orthogonal to a global coordinate axes, it is recommended to directly specifiy the symmetry conditions with a <b>Fixed value</b> boundary condition.</li></ul><a href= https://www.simscale.com/docs/simulation-setup/boundary-conditions/symmetry/#symmetry-plane-boundary-condition-fea' target='_blank'>Learn more</a>."
      },
      "Simulation.CyclicSymmetryBC" : {
        "title" : "Cyclic symmetry",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "<p>The <b>cyclic symmetry</b> constraint enables to model only a sector of a 360° cyclic periodic structure and reduces the computation time and memory consumption considerably. The user defines the center and axis of the cyclic symmetry as well as the sector angle. The <b>master</b> and <b>slave</b> surfaces define the cyclic periodicity boundaries. <br /><br />Important remarks: <br /><ul><li>All DOFs of the slave nodes will be constrained, adding an additional constraint on those nodes may lead to an overconstrained system.</li><li>This is a <b>linear</b> constraint, so no large rotations or large deformations are allowed in the proximity of cyclic symmetry boundaries.</li></ul></li></ul> <img src=\"/spec/resources/help/imgs/cyclic_symmetry.png\" class=\"helpPopupImage\"/> <a href='https://www.simscale.com/knowledge-base/how-to-apply-cyclic-symmetry-fea' target='_blank'>Learn more</a>.</p>\n\nSchema name: CyclicSymmetryBC",
            "default" : "CYCLIC_SYMMETRY"
          },
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "enableHeatTransfer" : {
            "title" : "Enable heat transfer",
            "type" : "string",
            "description" : "<p>Define if heat transfer should be allowed across the contact. If <b>yes</b> is chosen a perfectly bonded heat contact is assumed whereas if <b>no</b> is selected no heat transfer across the contact is allowed. Mechanical contact stays with both options active. With the selection of <b>heat transfer only</b> no mechanical contact is activated but only a bonded heat contact.</p>",
            "default" : "YES",
            "enum" : [ "YES", "NO", "HEAT_TRANSFER_ONLY" ],
            "x-showWhen" : [ "type == THERMAL_MECHANICAL" ]
          },
          "axisOrigin" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalVector_Length"
          },
          "axisDirection" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalVector_Length"
          },
          "sectorAngle" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Angle"
          },
          "masterTopologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          },
          "slaveTopologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          }
        },
        "additionalProperties" : false,
        "description" : "<p>The <b>cyclic symmetry</b> constraint enables to model only a sector of a 360° cyclic periodic structure and reduces the computation time and memory consumption considerably. The user defines the center and axis of the cyclic symmetry as well as the sector angle. The <b>master</b> and <b>slave</b> surfaces define the cyclic periodicity boundaries. <br /><br />Important remarks: <br /><ul><li>All DOFs of the slave nodes will be constrained, adding an additional constraint on those nodes may lead to an overconstrained system.</li><li>This is a <b>linear</b> constraint, so no large rotations or large deformations are allowed in the proximity of cyclic symmetry boundaries.</li></ul></li></ul> <img src=\"/spec/resources/help/imgs/cyclic_symmetry.png\" class=\"helpPopupImage\"/> <a href='https://www.simscale.com/knowledge-base/how-to-apply-cyclic-symmetry-fea' target='_blank'>Learn more</a>.</p>"
      },
      "Simulation.Dimensional_Angle" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "title" : "Value",
            "type" : "number"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "rad", "°" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.CentrifugalForceBC" : {
        "title" : "Centrifugal force",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "<p>This is a <b>centrifugal force</b> boundary condition. Each volume element of the selection is loaded with a centrifugal force which is calculated depending on its volume, the density of the assigned material, its distance from the axis of rotation and the defined rotational velocity.<br /><a href= https://www.simscale.com/docs/simulation-setup/boundary-conditions/centrifugal-force/' target='_blank'>Learn more</a>.</p>\n\nSchema name: CentrifugalForceBC",
            "default" : "CENTRIFUGAL_FORCE"
          },
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "rotation" : {
            "$ref" : "#/components/schemas/Simulation.AngularRotation"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          }
        },
        "additionalProperties" : false,
        "description" : "<p>This is a <b>centrifugal force</b> boundary condition. Each volume element of the selection is loaded with a centrifugal force which is calculated depending on its volume, the density of the assigned material, its distance from the axis of rotation and the defined rotational velocity.<br /><a href= https://www.simscale.com/docs/simulation-setup/boundary-conditions/centrifugal-force/' target='_blank'>Learn more</a>.</p>"
      },
      "Simulation.AngularRotation" : {
        "title" : "Angular rotation",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: AngularRotation",
            "default" : "ANGULAR_ROTATION"
          },
          "rotationCenter" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalVector_Length"
          },
          "rotationAxis" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalVector_Length"
          },
          "angularVelocity" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_RotationSpeed"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.DimensionalFunction_RotationSpeed" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_DimensionalFunction_RotationSpeedValue"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "rad/s", "°/s", "RPM" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.VariableGroup_F" : {
        "type" : "object",
        "properties" : {
          "F" : {
            "$ref" : "#/components/schemas/Simulation.Unit_Frequency"
          }
        }
      },
      "Simulation.Unit_Frequency" : {
        "type" : "object",
        "properties" : {
          "value" : {
            "title" : "Value",
            "type" : "number"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "1/s", "RPM", "Hz" ]
          }
        }
      },
      "Simulation.FollowerPressureBC" : {
        "title" : "Follower pressure",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "In contrast to ordinary pressure, the <b>follower pressure</b> boundary condition is applied normal to the surface of all face elements in the <b>deformed state</b>. This is a nonlinear boundary condition as the update of the geometry is required. In a linear analysis it becomes a simple <b>pressure</b> boundary condition.<br /><br />The following conditions are taken into account: <br /><ul><li>The current deformed state of the surface.</li><li>Any changes in the direction of the normals of assigned entities.</li><li>Changes in the surface area of the assigned faces.</li></ul><a href= https://www.simscale.com/docs/simulation-setup/boundary-conditions/follower-pressure/' target='_blank'>Learn more</a>.\n\nSchema name: FollowerPressureBC",
            "default" : "FOLLOWER_PRESSURE"
          },
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "pressure" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_Pressure"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          }
        },
        "additionalProperties" : false,
        "description" : "In contrast to ordinary pressure, the <b>follower pressure</b> boundary condition is applied normal to the surface of all face elements in the <b>deformed state</b>. This is a nonlinear boundary condition as the update of the geometry is required. In a linear analysis it becomes a simple <b>pressure</b> boundary condition.<br /><br />The following conditions are taken into account: <br /><ul><li>The current deformed state of the surface.</li><li>Any changes in the direction of the normals of assigned entities.</li><li>Changes in the surface area of the assigned faces.</li></ul><a href= https://www.simscale.com/docs/simulation-setup/boundary-conditions/follower-pressure/' target='_blank'>Learn more</a>."
      },
      "Simulation.ForceLoadBC" : {
        "title" : "Force",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "<p>This is a <b>force</b> boundary condition representing a <b>distributed force on the selection</b>. The total force is defined in the global coordinate system and each element of the assignment is loaded with a surface traction depending on the area of the element.<br /><a href= https://www.simscale.com/docs/simulation-setup/boundary-conditions/force/' target='_blank'>Learn more</a>.</p>\n\nSchema name: ForceLoadBC",
            "default" : "FORCE_LOAD"
          },
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "force" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalVectorFunction_Force"
          },
          "scaling" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_Dimensionless"
          },
          "phaseAngle" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Angle"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          }
        },
        "additionalProperties" : false,
        "description" : "<p>This is a <b>force</b> boundary condition representing a <b>distributed force on the selection</b>. The total force is defined in the global coordinate system and each element of the assignment is loaded with a surface traction depending on the area of the element.<br /><a href= https://www.simscale.com/docs/simulation-setup/boundary-conditions/force/' target='_blank'>Learn more</a>.</p>"
      },
      "Simulation.DimensionalVectorFunction_Force" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_DimensionalVectorFunction_ForceValue"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "N", "lbf", "dyne", "µN" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.DimensionalFunction_Dimensionless" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_DimensionalFunction_DimensionlessValue"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "", "%" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.NodalLoadBC" : {
        "title" : "Nodal load",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "This is a <b>force</b> boundary condition representing an equal point force on <b>each node of the assignment</b>. The total force applied on the assignment is calculated as the user defined forces times the number of nodes in the assignment.<br /><br />Important remarks: <br /><ul><li>Currently, it only works on <a href= https://www.simscale.com/docs/simulation-setup/meshing/mesh-upload/' target='_blank'>uploaded meshes</a></li><li>As the total load is depending on the number of nodes, and thus the mesh fineness, it is recommended only for loads on single nodes.</li><li>In most cases point loads are unphysical and distributed loads should be used instead.</li></ul>\n\nSchema name: NodalLoadBC",
            "default" : "NODAL_LOAD"
          },
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "force" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalVectorFunction_Force"
          },
          "scaling" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_Dimensionless"
          },
          "phaseAngle" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Angle"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          }
        },
        "additionalProperties" : false,
        "description" : "This is a <b>force</b> boundary condition representing an equal point force on <b>each node of the assignment</b>. The total force applied on the assignment is calculated as the user defined forces times the number of nodes in the assignment.<br /><br />Important remarks: <br /><ul><li>Currently, it only works on <a href= https://www.simscale.com/docs/simulation-setup/meshing/mesh-upload/' target='_blank'>uploaded meshes</a></li><li>As the total load is depending on the number of nodes, and thus the mesh fineness, it is recommended only for loads on single nodes.</li><li>In most cases point loads are unphysical and distributed loads should be used instead.</li></ul>"
      },
      "Simulation.PressureBC" : {
        "title" : "Pressure",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "This is a <b>pressure</b> boundary condition representing a distributed load on the selection. It is applied normal to the surface of all face elements.<br /><br />Important remarks: <br /><ul><li>The applied total force depends on the surface area of the selection.</li><li>The normal direction of the faces is computed only in the undeformed state and not updated for large deformations.</li><li>For transient analyses you may define a <b>time dependent</b> value by uploading a table (csv-file).</li></ul><a href= https://www.simscale.com/docs/simulation-setup/boundary-conditions/pressure/' target='_blank'>Learn more</a>.\n\nSchema name: PressureBC",
            "default" : "PRESSURE"
          },
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "pressure" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_Pressure"
          },
          "phaseAngle" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Angle"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          }
        },
        "additionalProperties" : false,
        "description" : "This is a <b>pressure</b> boundary condition representing a distributed load on the selection. It is applied normal to the surface of all face elements.<br /><br />Important remarks: <br /><ul><li>The applied total force depends on the surface area of the selection.</li><li>The normal direction of the faces is computed only in the undeformed state and not updated for large deformations.</li><li>For transient analyses you may define a <b>time dependent</b> value by uploading a table (csv-file).</li></ul><a href= https://www.simscale.com/docs/simulation-setup/boundary-conditions/pressure/' target='_blank'>Learn more</a>."
      },
      "Simulation.RemoteForceLoadBC" : {
        "title" : "Remote force",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "This is a <b>remote force</b> boundary condition where the load is applied on the assignment via a remote point. Therefore the assignment is connected to the remote point with RBE3 (deformable) or MPC (undeformable) conditions and the defined force is applied to the remote point.<br /><br />Important remarks: <br /><ul><li>The total force will be <b>distributed on the selection</b>.</li><li>As the assignments are connected to the remote point, additional constraints on these nodes may lead to overconstrained systems.</li><li>If the number of nodes of the assignment is large (>1000), it is recommended to use the <b>MUMPS</b> or <b>PETSC</b> solver.</li><li>This boundary condition is only valid for small rotations. </li></ul><a href= https://www.simscale.com/docs/simulation-setup/boundary-conditions/remote-force/' target='_blank'>Learn more</a>.\n\nSchema name: RemoteForceLoadBC",
            "default" : "REMOTE_FORCE_LOAD"
          },
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "force" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalVectorFunction_Force"
          },
          "moment" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalVectorFunction_Torque"
          },
          "scaling" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_Dimensionless"
          },
          "phaseAngle" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Angle"
          },
          "remotePoint" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalVector_Length"
          },
          "deformationBehavior" : {
            "title" : "Deformation behavior",
            "type" : "string",
            "description" : "<p>Choose the deformation behavior of the assigned entity. If <b>deformable</b> is selected, the entitiy is allowed to deform without applying additional stiffness, selecting <b>undeformable</b> leads to a rigid entity.</p>",
            "default" : "DEFORMABLE",
            "enum" : [ "DEFORMABLE", "UNDEFORMABLE" ]
          },
          "enableSearchRadius" : {
            "title" : "Enable search radius",
            "type" : "boolean",
            "default" : false
          },
          "searchRadius" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Length"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          }
        },
        "additionalProperties" : false,
        "description" : "This is a <b>remote force</b> boundary condition where the load is applied on the assignment via a remote point. Therefore the assignment is connected to the remote point with RBE3 (deformable) or MPC (undeformable) conditions and the defined force is applied to the remote point.<br /><br />Important remarks: <br /><ul><li>The total force will be <b>distributed on the selection</b>.</li><li>As the assignments are connected to the remote point, additional constraints on these nodes may lead to overconstrained systems.</li><li>If the number of nodes of the assignment is large (>1000), it is recommended to use the <b>MUMPS</b> or <b>PETSC</b> solver.</li><li>This boundary condition is only valid for small rotations. </li></ul><a href= https://www.simscale.com/docs/simulation-setup/boundary-conditions/remote-force/' target='_blank'>Learn more</a>."
      },
      "Simulation.DimensionalVectorFunction_Torque" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_DimensionalVectorFunction_TorqueValue"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "N·m", "lbf·in", "lbf·ft" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.SurfaceLoadBC" : {
        "title" : "Surface load",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "This is a <b>surface load</b> boundary condition representing a distributed load on the selection. It is applied as surface traction in the global coordinate system.<br /><br />Important remarks: <br /><ul><li>The applied total force depends on the surface area of the selection</li></ul><a href= https://www.simscale.com/docs/simulation-setup/boundary-conditions/surface-load/' target='_blank'>Learn more</a>.\n\nSchema name: SurfaceLoadBC",
            "default" : "SURFACE_LOAD"
          },
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "load" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalVectorFunction_Pressure"
          },
          "scaling" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_Dimensionless"
          },
          "phaseAngle" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Angle"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          }
        },
        "additionalProperties" : false,
        "description" : "This is a <b>surface load</b> boundary condition representing a distributed load on the selection. It is applied as surface traction in the global coordinate system.<br /><br />Important remarks: <br /><ul><li>The applied total force depends on the surface area of the selection</li></ul><a href= https://www.simscale.com/docs/simulation-setup/boundary-conditions/surface-load/' target='_blank'>Learn more</a>."
      },
      "Simulation.DimensionalVectorFunction_Pressure" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_DimensionalVectorFunction_PressureValue"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "Pa", "lbf/in²", "hPa", "kPa", "MPa", "atm", "mbar", "bar", "mH2O", "mmH2O", "mmHg", "dyne/cm²", "inH2O", "ftH2O", "inHg", "psf" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.VolumeLoadBC" : {
        "title" : "Volume load",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "This is a <b>volume load</b> boundary condition representing a distributed load on the selected volumes applied in the global coordinate system and each element of the assignment is loaded with a volume force depending on the volume of the element.<br /><br />Important remarks: <br /><ul><li>The applied total force depends on the volume of the selection.</li></ul><a href= https://www.simscale.com/docs/simulation-setup/boundary-conditions/volume-load/' target='_blank'>Learn more</a>.\n\nSchema name: VolumeLoadBC",
            "default" : "VOLUME_LOAD"
          },
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "load" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalVectorFunction_VolumeForce"
          },
          "scaling" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_Dimensionless"
          },
          "phaseAngle" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Angle"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          }
        },
        "additionalProperties" : false,
        "description" : "This is a <b>volume load</b> boundary condition representing a distributed load on the selected volumes applied in the global coordinate system and each element of the assignment is loaded with a volume force depending on the volume of the element.<br /><br />Important remarks: <br /><ul><li>The applied total force depends on the volume of the selection.</li></ul><a href= https://www.simscale.com/docs/simulation-setup/boundary-conditions/volume-load/' target='_blank'>Learn more</a>."
      },
      "Simulation.DimensionalVectorFunction_VolumeForce" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_DimensionalVectorFunction_VolumeForceValue"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "N/m³", "lbf/in³" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.HingeConstraintBC" : {
        "title" : "Hinge constraint",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Replicate the behaviour of a freely rotating hinge fixed to the ground. Note that only a single face assignment is allowed. The assigned surface is constrained such that only rotational motion around the hinge axis is free. SimScale can automatically detect the axis of the hinge based on an assigned cylindrical surface, but the boundary condition also allows for a user-defined input.\n\nSchema name: HingeConstraintBC",
            "default" : "HINGE_CONSTRAINT"
          },
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "axisDefinition" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_HingeConstraintBCAxisDefinition"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          }
        },
        "additionalProperties" : false,
        "description" : "Replicate the behaviour of a freely rotating hinge fixed to the ground. Note that only a single face assignment is allowed. The assigned surface is constrained such that only rotational motion around the hinge axis is free. SimScale can automatically detect the axis of the hinge based on an assigned cylindrical surface, but the boundary condition also allows for a user-defined input."
      },
      "Simulation.CustomAxisDefinition" : {
        "title" : "Custom",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: CustomAxisDefinition",
            "default" : "CUSTOM"
          },
          "axisOrigin" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalVector_Length"
          },
          "axisDirection" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalVector_Dimensionless"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.DimensionalVector_Dimensionless" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "$ref" : "#/components/schemas/Simulation.DecimalVector"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "", "%" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.AutomaticAxisDefinition" : {
        "title" : "Automatic",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: AutomaticAxisDefinition",
            "default" : "AUTOMATIC"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.SolidNumerics" : {
        "type" : "object",
        "properties" : {
          "harmonicSolutionMethod" : {
            "title" : "Solution method",
            "type" : "string",
            "description" : "Select the basis for the computation of the harmonic analysis.",
            "default" : "DIRECT",
            "enum" : [ "MODAL_BASED", "DIRECT" ],
            "x-showWhen" : [ "type == HARMONIC_ANALYSIS" ]
          },
          "solver" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_SolidNumericsSolver"
          },
          "solveModel" : {
            "$ref" : "#/components/schemas/Simulation.SolverModel"
          },
          "eigenSolver" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_SolidNumericsEigenSolver"
          },
          "calculateFrequency" : {
            "$ref" : "#/components/schemas/Simulation.CalculateFrequency"
          },
          "eigenMode" : {
            "$ref" : "#/components/schemas/Simulation.EigenModeVerification"
          },
          "enhancedAccuracy" : {
            "title" : "Enhanced accuracy",
            "type" : "boolean",
            "description" : "Further increase the accuracy of the results by running two simulations. The results of the first one will be used as input for the second one to fine-tune the setup.",
            "default" : false,
            "x-showWhen" : [ "type == FREQUENCY_ANALYSIS" ]
          },
          "modalBase" : {
            "$ref" : "#/components/schemas/Simulation.ModalSolver"
          },
          "harmonicResponse" : {
            "$ref" : "#/components/schemas/Simulation.HarmonicResponse"
          },
          "mechanicalTimeIntegrationType" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_SolidNumericsMechanicalTimeIntegrationType"
          },
          "mechanicalResolutionType" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_SolidNumericsMechanicalResolutionType"
          },
          "mechanicalLineSearch" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_SolidNumericsMechanicalLineSearch"
          },
          "thermalTimeIntegrationType" : {
            "$ref" : "#/components/schemas/Simulation.ThetaMethodTimeIntegrationType"
          },
          "thermalResolutionType" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_SolidNumericsThermalResolutionType"
          },
          "thermalLineSearch" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_SolidNumericsThermalLineSearch"
          },
          "remotePointStiffnessMultiplier" : {
            "title" : "Remote point stiffness multiplier",
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "default" : 0
          }
        },
        "additionalProperties" : false
      },
      "Simulation.MUMPSSolver" : {
        "title" : "Direct (MUMPS)",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: MUMPSSolver",
            "default" : "MUMPS"
          },
          "advancedMumpsSettings" : {
            "$ref" : "#/components/schemas/Simulation.AdvancedMUMPSSettings"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.AdvancedMUMPSSettings" : {
        "type" : "object",
        "properties" : {
          "forceSymmetric" : {
            "title" : "Force symmetric",
            "type" : "boolean",
            "description" : "Choose if you want to enforce a symmetric matrix.",
            "default" : false,
            "x-showWhen" : [ "type == DYNAMIC_ANALYSIS", "type == STATIC_ANALYSIS && nonLinearAnalysis == true", "type == HEAT_TRANSFER && nonLinearAnalysis == true", "type == THERMAL_MECHANICAL && nonLinearAnalysis == true" ]
          },
          "enableSingularityDetection" : {
            "title" : "Enable singularity detection",
            "type" : "boolean",
            "description" : "Enable the check for singularities in the model. This is helpful for debugging, to spot problems with the setup.",
            "default" : true,
            "x-showWhen" : [ "type in [STATIC_ANALYSIS,DYNAMIC_ANALYSIS,HEAT_TRANSFER,THERMAL_MECHANICAL]", "type == HARMONIC_ANALYSIS && numerics.harmonicSolutionMethod == DIRECT" ]
          },
          "precisionSingularityDetection" : {
            "title" : "Precision singularity detection",
            "maximum" : 13,
            "exclusiveMaximum" : false,
            "minimum" : 6,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "description" : "Define the precision value for the detection of a singular matrix. Positive values enable the check, with 9 being a good starting point. Smaller values make the check more strict. This is an advanced option that should only be used to debug a model.",
            "default" : 9,
            "x-showWhen" : [ "type == FREQUENCY_ANALYSIS", "type == HARMONIC_ANALYSIS && numerics.harmonicSolutionMethod == MODAL_BASED", "1/enableSingularityDetection == true" ]
          },
          "stopIfSingular" : {
            "title" : "Stop if singular",
            "type" : "boolean",
            "description" : "Choose if the calculation should be stopped if the problem turns out to be singular.",
            "default" : false,
            "x-showWhen" : [ "type == FREQUENCY_ANALYSIS", "type == HARMONIC_ANALYSIS && numerics.harmonicSolutionMethod == MODAL_BASED", "1/enableSingularityDetection == true" ]
          },
          "matrixType" : {
            "title" : "Matrix type",
            "type" : "string",
            "description" : "<p>Choose the type of your system matrix by directly selecting the appropriate type or using the <b>automatic detection</b>. With the selection <b>automatic detection</b> the matrix type <b>symmetric positive indefinite</b> is selected if a symmetric system matrix is detected, and <b>asymmetric</b> otherwise.",
            "default" : "AUTOMATIC_DETECTION",
            "enum" : [ "ASYMMETRIC", "AUTOMATIC_DETECTION", "SYMMETRIC_POSITIVE_INDEFINITE" ]
          },
          "memoryPercentageForPivoting" : {
            "title" : "Memory for pivoting (%)",
            "type" : "number",
            "description" : "Define how much additional memory should be reserved for the pivoting operations. If MUMPS estimates that the necessary space for factorising the matrix would be 100, choosing a value of 20 would mean that MUMPS allocates a memory space of 120.",
            "default" : 20
          },
          "linearSystemRelativeResidual" : {
            "title" : "Linear system relative residual",
            "type" : "number",
            "description" : "Set the maximum allowable numerical error in solving the linear equation system. Use -1 if you do not wish to carry out a check on the solution error (not recommended).",
            "default" : 1.0E-5,
            "x-showWhen" : [ "type == STATIC_ANALYSIS && nonLinearAnalysis == false", "type == HEAT_TRANSFER && nonLinearAnalysis == false", "type == THERMAL_MECHANICAL && nonLinearAnalysis == false" ]
          },
          "matrixFilteringThreshold" : {
            "title" : "Matrix filtering threshold",
            "type" : "number",
            "description" : "This parameter allows a filtration of the matrix entries that are saved and possibly passed to the nonlinear algorithm (Newton) and is similar to a relaxation mechanism. If the given threshold value is strictly positive, MUMPS only saves the matrix entries that satisfy the following condition: |K<sub>ij</sub>| value*(|K<sub>ii</sub>|+|K<sub>jj</sub>|). Thus using this functionality might save computation time as well as memory consumption, but the effects strongly depend on the given value and is only advised for the experienced user.",
            "default" : -1,
            "x-showWhen" : [ "type == DYNAMIC_ANALYSIS", "type == STATIC_ANALYSIS && nonLinearAnalysis == true", "type == HEAT_TRANSFER && nonLinearAnalysis == true", "type == THERMAL_MECHANICAL && nonLinearAnalysis == true" ]
          },
          "singlePrecision" : {
            "title" : "Single precision",
            "type" : "boolean",
            "description" : "If this option is activated the matrix factorisation is done with single precision and thus a reduction in memory consumption (often about 50%) and computation time is gained if the problem is well conditioned. If the problem is ill-conditioned one risks that in a nonlinear computation the newton algorithm fails to converge.",
            "default" : false,
            "x-showWhen" : [ "type == DYNAMIC_ANALYSIS", "type == STATIC_ANALYSIS && nonLinearAnalysis == true", "type == HEAT_TRANSFER && nonLinearAnalysis == true", "type == THERMAL_MECHANICAL && nonLinearAnalysis == true" ]
          },
          "preprocessing" : {
            "title" : "Preprocessing",
            "type" : "boolean",
            "description" : "If this option is activated MUMPS performs a pre-processing on order to identify the best parameter setting for some internal parameters adapted to the current problem.",
            "default" : true
          },
          "renumberingMethod" : {
            "title" : "Renumbering method",
            "type" : "string",
            "description" : "Choose the renumbering method for the system matrix entries. The choice of the renumbering method has a big impact on the memory consumption and the solution time. Currently supported are:<ul><li><p><b>SCOTCH</b> is a powerful renumbering tool, suited for most scenarios and the standard choice for MUMPS.</p></ul><ul><li><p><b>PORD</b> is a renumbering tool that comes with MUMPS.</p></ul><ul><li><p><b>AMD</b> uses the <i>Approximate Minimum Degree</i> method.</p></ul><ul><li><p><b>AMF</b> uses the <i>Approximate Minimum Fill</i> method.</p></ul><ul><li><p><b>QAMD</b> is a variant of AMD with automatic detection of quasi-dense matrix lines.</p></ul>If <b>automatic</b> is selected the user let MUMPS choose the renumbering tool. The methods AMD, AMF and QAMD are generally inferior to the more sophisticated methods SCOTCH and PORD but may be a better choice in some cases.",
            "default" : "AUTOMATIC",
            "enum" : [ "AMD", "SCOTCH", "AMF", "PORD", "QAMD", "AUTOMATIC" ]
          },
          "postprocessing" : {
            "title" : "Postprocessing",
            "type" : "string",
            "description" : "With this option the user can control the iterative refinement of the linear system solution. This option only has an effect if the value of the <b> linear system relative residual</b> given by the user is greater than zero, otherwise it is ignored. If it is <b>activate</b> MUMPS carries out at least one additional iteration of the linear system resolution and at most 10 iterations. The process is stopped if the residual isn't reduced by at least a factor of 5. If this option is set to be <b>inactive</b> no additional iteration is done and if <b>automatic</b> is chosen MUMPS automatically decides if additional iterations should be done and the maximum number of iterations is set to 4.",
            "default" : "AUTOMATIC",
            "x-conditionalEnum" : [ {
              "value" : "INACTIVE"
            }, {
              "value" : "ACTIVE",
              "when" : [ "type == STATIC_ANALYSIS && nonLinearAnalysis == false", "type == HEAT_TRANSFER && nonLinearAnalysis == false", "type == THERMAL_MECHANICAL && nonLinearAnalysis == false" ]
            }, {
              "value" : "AUTOMATIC"
            }, {
              "value" : "MINI"
            } ],
            "x-conditionalDefaults" : [ {
              "when" : [ "type == STATIC_ANALYSIS && nonLinearAnalysis == false", "type == HEAT_TRANSFER && nonLinearAnalysis == false", "type == THERMAL_MECHANICAL && nonLinearAnalysis == false" ],
              "default" : "ACTIVE"
            } ]
          },
          "mumpsAcceleration" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_AdvancedMUMPSSettingsMumpsAcceleration"
          },
          "distributedMatrixStorage" : {
            "title" : "Distributed matrix storage",
            "type" : "boolean",
            "description" : "Choose this parameter as <b>true</b> to ensure that the system matrix saving is distributed among the processors of the computation. If multiple cores are used only the relevant part for each core is saved. If it is set to false the whole matrix is saved for each processor. Enabling this can significantly reductions in memory consumption, but introduces numerical instability in rare occasions.",
            "default" : true,
            "x-showWhen" : [ "type in [STATIC_ANALYSIS,DYNAMIC_ANALYSIS,THERMAL_MECHANICAL]" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.AutomaticAcceleration" : {
        "title" : "Automatic",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: AutomaticAcceleration",
            "default" : "AUTOMATIC"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.FullRankAcceleration" : {
        "title" : "Full rank",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: FullRankAcceleration",
            "default" : "FULL_RANK"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.LowRankAcceleration" : {
        "title" : "Low rank",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: LowRankAcceleration",
            "default" : "LOW_RANK"
          },
          "lowRankThreshold" : {
            "title" : "Low rank threshold",
            "type" : "number",
            "default" : 0.0
          }
        },
        "additionalProperties" : false
      },
      "Simulation.MultifrontalSolver" : {
        "title" : "Direct (Multifrontal)",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: MultifrontalSolver",
            "default" : "MULTIFRONT"
          },
          "renumberingMethod" : {
            "title" : "Renumbering method",
            "type" : "string",
            "description" : "Choose a renumbering method for the solution process.<br/>For large models around and above 50000 degrees of freedom you should consider using MDA.",
            "default" : "MDA",
            "enum" : [ "MDA", "MD" ]
          },
          "forceSymmetric" : {
            "title" : "Force symmetric",
            "type" : "boolean",
            "description" : "Choose if you want to enforce a symmetric matrix.",
            "default" : false,
            "x-showWhen" : [ "type == DYNAMIC_ANALYSIS", "type == STATIC_ANALYSIS && nonLinearAnalysis == true", "type == HEAT_TRANSFER && nonLinearAnalysis == true", "type == THERMAL_MECHANICAL && nonLinearAnalysis == true" ]
          },
          "precisionSingularityDetection" : {
            "title" : "Precision singularity detection",
            "type" : "integer",
            "description" : "Define the precision value for the detection of a singular matrix. Positive values enable the check, with 9 being a good starting point. Smaller values make the check more strict. This is an advanced option that should only be used to debug a model.",
            "default" : 8
          },
          "stopIfSingular" : {
            "title" : "Stop if singular",
            "type" : "boolean",
            "description" : "Choose if the calculation should be stopped if the problem turns out to be singular.",
            "default" : true
          },
          "eliminateLagrangeMultipliers" : {
            "title" : "Eliminate lagrange multipliers",
            "type" : "boolean",
            "description" : "This option makes it possible to eliminate the Lagrange Multipliers which are introduced by generalized boundary conditions like bonded contact, remote boundary conditions and symmetry conditions. If activated, this option removes the Lagrange Multipliers which leads to a reduction of the total number of unknowns and can increase the robustness of iterative solvers.",
            "default" : false
          }
        },
        "additionalProperties" : false
      },
      "Simulation.PETSCSolver" : {
        "title" : "Iterative (PETSC)",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: PETSCSolver",
            "default" : "PETSC"
          },
          "convergenceThreshold" : {
            "title" : "Convergence threshold",
            "minimum" : 0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "description" : "Set the threshold value for convergence detection for the relative convergence criteria.",
            "default" : 1.0E-5
          },
          "maxIterations" : {
            "title" : "Max iterations",
            "minimum" : 0,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "description" : "Set the maximum number of iterations for the iterative solver. If set to 0 PETSC sets an estimate of the maximum number of iterations.",
            "default" : 0
          },
          "advancedPetscSettings" : {
            "$ref" : "#/components/schemas/Simulation.AdvancedPETSCSettings"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.AdvancedPETSCSettings" : {
        "type" : "object",
        "properties" : {
          "forceSymmetric" : {
            "title" : "Force symmetric",
            "type" : "boolean",
            "description" : "Choose if you want to enforce a symmetric matrix.",
            "default" : false,
            "x-showWhen" : [ "type == DYNAMIC_ANALYSIS", "type == STATIC_ANALYSIS && nonLinearAnalysis == true", "type == HEAT_TRANSFER && nonLinearAnalysis == true", "type == THERMAL_MECHANICAL && nonLinearAnalysis == true" ]
          },
          "algorithm" : {
            "title" : "Algorithm",
            "type" : "string",
            "description" : "Choose the iterative solver method: <ul><li><p><b>FGMRES</b>: <i>Flexible Minimal Generalised RESidual</i>, best compromise between robustness and computational speed.</p></ul><ul><li><p><b>CG</b>: <i>Conjugate Gradient</i>, only useful for symmetric matrices</p></ul><ul><li><p><b>CR</b>: <i>Conjugate Residual</i>, only useful for symmetric matrices</p></ul><ul><li><p><b>GCR</b>: <i>Generalised Conjugate Residual</i>, treats general matrices</p></ul>All available methods are of <i>Krylov</i> type.",
            "default" : "GMRES",
            "enum" : [ "CG", "CR", "GCR", "GMRES" ]
          },
          "preconditioner" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_AdvancedPETSCSettingsPreconditioner"
          },
          "distributedMatrixStorage" : {
            "title" : "Distributed matrix storage",
            "type" : "boolean",
            "description" : "Choose this parameter as <b>true</b> to ensure that the system matrix saving is distributed among the processors of the computation. If multiple cores are used only the relevant part for each core is saved. If it is set to false the whole matrix is saved for each processor. Enabling this can significantly reductions in memory consumption, but introduces numerical instability in rare occasions.",
            "default" : true,
            "x-showWhen" : [ "type in [STATIC_ANALYSIS,DYNAMIC_ANALYSIS,THERMAL_MECHANICAL]" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.MUMPSPreconditoner" : {
        "title" : "MUMPS LDLT",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: MUMPSPreconditoner",
            "default" : "MUMPS_LDLT"
          },
          "actualisationRate" : {
            "title" : "Update rate",
            "type" : "integer",
            "description" : "Set the reactualisation intervall for the preconditioner matrix P. If this value is set to 30 the preconditioner is recomputed just every 30th iteration. This preconditioner is computionally more expensive than the incomplete LDLT factorization but nearer to the exact solution. This setting makes it possible to save computation time by taking advantage of this fact.",
            "default" : 30
          },
          "memoryPercentageForPivoting" : {
            "title" : "Memory for pivoting (%)",
            "type" : "number",
            "description" : "Define how much additional memory should be reserved for the pivoting operations. If MUMPS estimates that the necessary space for factorising the matrix would be 100, choosing a value of 20 would mean that MUMPS allocates a memory space of 120.",
            "default" : 20
          }
        },
        "additionalProperties" : false
      },
      "Simulation.IncompletePreconditionerV33" : {
        "title" : "Incomplete LDLT",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: IncompletePreconditionerV33",
            "default" : "INCOMPLETE_LDLT_V33"
          },
          "matrixCompleteness" : {
            "title" : "Matrix completeness",
            "type" : "integer",
            "description" : "Set the level of completeness for the incomplete Cholesky decomposition. The larger this value is, the better the preconditioning Matrix P approximates K<sup>-1</sup>, but also the memory usage and computation time increase. If the solution does not converge or uses a lot of iterations it could help to increase this parameter.",
            "default" : 0
          },
          "preconditionerMatrixGrowth" : {
            "title" : "Preconditioner matrix growth",
            "type" : "number",
            "description" : "Set the growth rate of the filling for the incomplete decomposition matrix. If this parameter is set to 1.0 PETSc estimates the matrix storage size from the first level of completeness. If this estimate is too low, PETSC increases the allocated memory on the fly, but this is more expensive.",
            "default" : 1
          }
        },
        "additionalProperties" : false
      },
      "Simulation.JacobiPreconditioner" : {
        "title" : "Jacobi",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: JacobiPreconditioner",
            "default" : "JACOBI"
          },
          "renumberingMethod" : {
            "title" : "Renumbering method",
            "type" : "string",
            "description" : "Choose the renumbering method for the system matrix entries:<ul><li><p><b>RCMK</b> uses the algorithm of <i>Reverse Cuthill-MacKee</i> for the renumbering. It often effectively reduces the matrig storage space and the matrix factorization time.</p></ul><ul><li><p>When <b>inactive</b> is selected no renumbering is done. This option should only be chosen for testing purposes.</p></ul>",
            "default" : "INACTIVE",
            "enum" : [ "RCMK", "INACTIVE" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.SorPreconditioner" : {
        "title" : "SOR",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: SorPreconditioner",
            "default" : "SOR"
          },
          "renumberingMethod" : {
            "title" : "Renumbering method",
            "type" : "string",
            "description" : "Choose the renumbering method for the system matrix entries:<ul><li><p><b>RCMK</b> uses the algorithm of <i>Reverse Cuthill-MacKee</i> for the renumbering. It often effectively reduces the matrig storage space and the matrix factorization time.</p></ul><ul><li><p>When <b>inactive</b> is selected no renumbering is done. This option should only be chosen for testing purposes.</p></ul>",
            "default" : "INACTIVE",
            "enum" : [ "RCMK", "INACTIVE" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.InactivePreconditioner" : {
        "title" : "Inactive",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: InactivePreconditioner",
            "default" : "INACTIVE"
          },
          "renumberingMethod" : {
            "title" : "Renumbering method",
            "type" : "string",
            "description" : "Choose the renumbering method for the system matrix entries:<ul><li><p><b>RCMK</b> uses the algorithm of <i>Reverse Cuthill-MacKee</i> for the renumbering. It often effectively reduces the matrig storage space and the matrix factorization time.</p></ul><ul><li><p>When <b>inactive</b> is selected no renumbering is done. This option should only be chosen for testing purposes.</p></ul>",
            "default" : "INACTIVE",
            "enum" : [ "RCMK", "INACTIVE" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.ChronosSolver" : {
        "title" : "Iterative (Chronos)",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: ChronosSolver",
            "default" : "CHRONOS"
          },
          "convergenceThreshold" : {
            "title" : "Convergence threshold",
            "minimum" : 0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "description" : "Select the convergence tolerance. Can be smaller than with PETSc, and has a big impact on the newton convergence. It is recommended to start with a smaller value in case of convergence problems e.g. 1e-8 - 1e-10.",
            "default" : 1.0E-6
          },
          "maxIterations" : {
            "title" : "Max iterations",
            "minimum" : 0,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "description" : "Maximum number of iterations for Chronos. Should be 1000 for AMG (max 3000), and 5000 with FSAI (max 10000).",
            "default" : 1000
          },
          "nonConvergenceAction" : {
            "title" : "When not converged",
            "type" : "string",
            "description" : "Choose what happens if the linear solution with Chronos fails. Either stop the simulation, or rerun it with a direct solver (MUMPS)",
            "default" : "SWITCH_TO_DIRECT_SOLVER",
            "enum" : [ "STOP", "SWITCH_TO_DIRECT_SOLVER" ],
            "x-showWhen" : [ "type == STATIC_ANALYSIS && nonLinearAnalysis == false" ]
          },
          "advancedSettings" : {
            "$ref" : "#/components/schemas/Simulation.AdvancedChronosSettings"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.AdvancedChronosSettings" : {
        "type" : "object",
        "properties" : {
          "forceFsai" : {
            "title" : "Force FSAI preconditioner",
            "type" : "boolean",
            "description" : "Force the usage of <b>FSAI</b> preconditioning. This can make sense for small and simple problems, because setting up the problem might be faster with FSAI than with AMG.<br>Otherwise, Chronos selects itself the most suitable preconditioner, depending on the characteristics of the problem. In this case, <b>AMG</b> is preferred over <b>FSAI</b>.",
            "default" : false
          },
          "algorithm" : {
            "title" : "Algorithm",
            "type" : "string",
            "description" : "The algorithm for the prolongation becomes more elaborate from Jacobi over light, medium to heavy FSAI. The stability increases as well as the computational cost. It is recommended to increase it when the problem has distored elements, is ill-conditioned  or has incompressible materials.",
            "default" : "FSAI_LIGHT",
            "enum" : [ "FSAI_LIGHT", "FSAI_MEDIUM", "FSAI_HEAVY" ],
            "x-showWhen" : [ "1/forceFsai == true" ]
          },
          "smoother" : {
            "title" : "Smoother",
            "type" : "string",
            "description" : "The algorithm for the prolongation becomes more elaborate from Jacobi over light, medium to heavy FSAI. The stability increases as well as the computational cost. It is recommended to increase it when the problem has distored elements, is ill-conditioned  or has incompressible materials.",
            "enum" : [ "JACOBI", "FSAI_LIGHT", "FSAI_MEDIUM", "FSAI_HEAVY" ],
            "x-showWhen" : [ "1/forceFsai == false" ],
            "x-conditionalDefaults" : [ {
              "when" : [ "type == STATIC_ANALYSIS && nonLinearAnalysis == false", "type == THERMAL_MECHANICAL && nonLinearAnalysis == false" ],
              "default" : "FSAI_LIGHT"
            }, {
              "when" : [ "type == STATIC_ANALYSIS && nonLinearAnalysis == true", "type == DYNAMIC_ANALYSIS", "type == THERMAL_MECHANICAL && nonLinearAnalysis == true" ],
              "default" : "FSAI_HEAVY"
            } ]
          },
          "prolongation" : {
            "title" : "Prolongation",
            "type" : "string",
            "description" : "The algorithm for the prolongation becomes more elaborate from unsmoothed, smoothed to energy-minimization. The stability increases as well as the computational cost. It is recommended to increase it when the problem has small number of BCs and large number of elements",
            "default" : "ENERGY_MINIMIZATION",
            "enum" : [ "UNSMOOTHED", "SMOOTHED", "ENERGY_MINIMIZATION" ],
            "x-showWhen" : [ "1/forceFsai == false" ]
          },
          "improveTestSpace" : {
            "title" : "Improve test space",
            "type" : "boolean",
            "description" : "This should be enabled only for very complex/ill-conditioned problems, e.g. highly constrained with many BCs, incompressible/hyperelastic materials.",
            "x-showWhen" : [ "1/forceFsai == false" ],
            "x-conditionalDefaults" : [ {
              "when" : [ "type == STATIC_ANALYSIS && nonLinearAnalysis == false", "type == THERMAL_MECHANICAL && nonLinearAnalysis == false" ],
              "default" : false
            }, {
              "when" : [ "type == STATIC_ANALYSIS && nonLinearAnalysis == true", "type == DYNAMIC_ANALYSIS", "type == THERMAL_MECHANICAL && nonLinearAnalysis == true" ],
              "default" : true
            } ]
          },
          "testSpaceIterations" : {
            "title" : "Test space iterations",
            "minimum" : 0,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "description" : "Defaults to 20, can be increased to 50 for complicated cases.",
            "default" : 100,
            "x-showWhen" : [ "1/improveTestSpace == true" ]
          },
          "preconditionerRecycling" : {
            "title" : "Preconditioner recycling",
            "maximum" : 2.0,
            "exclusiveMaximum" : false,
            "minimum" : -1.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "description" : "Specify the recycling of the preconditioner. This can have a significant impact on the performance. The input is as follows: <ul><li><p><b> < 0.0</b> Never recycle the preconditioner.</p></ul><ul><li><p><b>0.0</b> Recycle the preconditioner every second iteration.</p></ul><ul><li><p><b>< 1.0</b> Recycle the preconditioner more often than the optimal way.</p></ul><ul><li><p><b>== 1.0</b> recycle the preconditioner in the optimal way.</p></ul><ul><li><p><b>> 1.0</b> recycle the preconditioner less often than the optimal way.</p></ul>",
            "default" : 1.0
          },
          "restartGmres" : {
            "title" : "Restart iterations GMRES",
            "minimum" : 0,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "description" : "Choose after how many iterations the GMRES solver should be restarted.<br>By default, Chronos uses a <b>PCG</b> iterative solution method. Depending on the characteristics of the problem, it might internally switch to <b>GMRES</b>. With GMRES, the iterations become more expensive the more they grow. Therefore, it is restarted if a certain threshold is reached. Default is 50, can be increased to 100 for complicated cases.",
            "default" : 50
          },
          "distributedMatrixStorage" : {
            "title" : "Distributed matrix storage",
            "type" : "boolean",
            "description" : "Choose this parameter as <b>true</b> to ensure that the system matrix saving is distributed among the processors of the computation. If multiple cores are used only the relevant part for each core is saved. If it is set to false the whole matrix is saved for each processor. Enabling this can significantly reductions in memory consumption, but introduces numerical instability in rare occasions.",
            "default" : true
          },
          "numOfThreads" : {
            "title" : "Number of threads",
            "maximum" : 192,
            "exclusiveMaximum" : false,
            "minimum" : 0,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "description" : "Sets the number of threads for Chronos to be used for shared memory parallelization.<br>The shared memory parallelization of Chronos is independent of the shared memory parallelization of Code_Aster.<br>Ideally, the number of threads multiplied with the number of (MPI) processes (Number of parallel processes under Simulation control) should be set to the number of cores available on the machine.<br>Set it to 0 to automatically choose the best setting.<br>Note that reducing the number of MPI-processes and increasing the number of threads can significantly reduce memory and disk space consumption.",
            "default" : 0
          },
          "verbosity" : {
            "title" : "Verbosity",
            "maximum" : 3,
            "exclusiveMaximum" : false,
            "minimum" : 0,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "description" : "This is a DEVELOPER option to specify the amount of output from Chronos. Its only purpose is debugging. Don't use it for regular runs, as it will slow down the simulation a lot! 0 means no output, 1-3 means more and more output.",
            "default" : 0
          },
          "writeCoordsAndMatrix" : {
            "title" : "Write coordinates and matrix",
            "maximum" : 5,
            "exclusiveMaximum" : false,
            "minimum" : 0,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "description" : "This is a DEVELOPER option to output the coordinates and the matrix to a file. Its only purpose is debugging. Don't use it for regular runs, as it will slow down the simulation a lot! 0 means no output, 1 means to output the latest coords/matrix, and 2 means to output the coords/matrix for every solve (aka every iteration).",
            "default" : 0
          }
        },
        "additionalProperties" : false
      },
      "Simulation.SolverModel" : {
        "type" : "object",
        "properties" : { },
        "additionalProperties" : false
      },
      "Simulation.IRAMSorensen" : {
        "title" : "IRAM - Sorensen",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: IRAMSorensen",
            "default" : "SORENSEN"
          },
          "precSoren" : {
            "title" : "Sorensen precision",
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "default" : 0.0
          },
          "nmaxIterSoren" : {
            "title" : "Max number of iterations",
            "minimum" : 1,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "default" : 20
          },
          "subspaceSettings" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_IRAMSorensenSubspaceSettings"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.AutomaticSubspaceSettings" : {
        "title" : "Automatic",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: AutomaticSubspaceSettings",
            "default" : "AUTOMATIC"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.SubspaceDimension" : {
        "title" : "Dimension",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: SubspaceDimension",
            "default" : "SUBSPACE_DIMENSION"
          },
          "subspaceDimension" : {
            "title" : "Subspace dimension",
            "minimum" : 0,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "description" : "Specify the subspace dimension. It is recommended to check the error log to get a hint for how to select it. It must be larger than the number of computed frequencies, it is ignored otherwise.",
            "default" : 0
          }
        },
        "additionalProperties" : false
      },
      "Simulation.SubspaceCoefficient" : {
        "title" : "Coefficient",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: SubspaceCoefficient",
            "default" : "SUBSPACE_COEFFICIENT"
          },
          "subspaceCoefficient" : {
            "title" : "Subspace coefficient",
            "minimum" : 0,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "description" : "<p>Choose a coefficient (<i>c<sub>ss</sub></i>) with which the subspace dimension (<i>d<sub>ss</sub></i>) is calculated, depending on the number of computed frequencies (<i>n<sub>f</sub></i>):<br> <li><b>IRAM Sorensen</b>: <i>d<sub>ss</sub> = <i>max(2 + n<sub>f</sub> , c<sub>ss</sub> * n<sub>f</sub></i>).</li><li><b>Lanczos & Bathe - Wilson</b>: <i>d<sub>ss</sub> = <i>max(7 + n<sub>f</sub> , c<sub>ss</sub> * n<sub>f</sub></i>).</li></p>",
            "x-conditionalDefaults" : [ {
              "when" : [ "2/type != TRI_DIAG" ],
              "default" : 2
            }, {
              "when" : [ "2/type == TRI_DIAG" ],
              "default" : 4
            } ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.Lanczos" : {
        "title" : "Lanczos",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: Lanczos",
            "default" : "TRI_DIAG"
          },
          "precOrtho" : {
            "title" : "Orthogonality precision",
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "default" : 1.0E-12
          },
          "nmaxIterOrtho" : {
            "title" : "Max Orthogonality iterations",
            "minimum" : 0,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "default" : 5
          },
          "precLanczos" : {
            "title" : "Lanczos precision",
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "default" : 1.0E-8
          },
          "maxIterQR" : {
            "title" : "Max QR iterations",
            "minimum" : 0,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "default" : 30
          },
          "modeRigid" : {
            "title" : "Rigid Body Modes Detection",
            "type" : "boolean",
            "default" : true
          },
          "subspaceSettings" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_LanczosSubspaceSettings"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.BatheWilson" : {
        "title" : "Bathe - Wilson",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: BatheWilson",
            "default" : "JACOBI"
          },
          "precBathe" : {
            "title" : "Bathe precision",
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "default" : 1.0E-10
          },
          "nmaxIterBathe" : {
            "title" : "Max Bathe iterations",
            "minimum" : 0,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "default" : 40
          },
          "precJacobi" : {
            "title" : "Jacobi precision",
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "default" : 0.01
          },
          "maxIterJacobi" : {
            "title" : "Max Jacobi iterations",
            "minimum" : 0,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "default" : 12
          },
          "subspaceSettings" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_BatheWilsonSubspaceSettings"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.QZ" : {
        "title" : "QZ",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: QZ",
            "default" : "QZ"
          },
          "typeQZ" : {
            "title" : "Type",
            "type" : "string",
            "default" : "QZ_SIMPLE",
            "enum" : [ "QZ_SIMPLE", "QZ_EQUI", "QZ_QR" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.CalculateFrequency" : {
        "type" : "object",
        "properties" : {
          "precShift" : {
            "title" : "Shift precision",
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "default" : 0.05
          },
          "maxIterShift" : {
            "title" : "Max shift iterations",
            "minimum" : 0,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "default" : 3
          },
          "thresholdFrequency" : {
            "title" : "Uniqueness threshold",
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "default" : 0.01
          }
        },
        "additionalProperties" : false
      },
      "Simulation.EigenModeVerification" : {
        "type" : "object",
        "properties" : {
          "threshold" : {
            "title" : "Verification threshold",
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "default" : 1.0E-6
          },
          "precisionShift" : {
            "title" : "Shift precision",
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "default" : 0.05
          }
        },
        "additionalProperties" : false
      },
      "Simulation.ModalSolver" : {
        "type" : "object",
        "properties" : {
          "solver" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_ModalSolverSolver"
          },
          "solverModel" : {
            "$ref" : "#/components/schemas/Simulation.SolverModel"
          },
          "eigenSolver" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_ModalSolverEigenSolver"
          },
          "calculateFrequency" : {
            "$ref" : "#/components/schemas/Simulation.CalculateFrequency"
          },
          "eigenMode" : {
            "$ref" : "#/components/schemas/Simulation.EigenModeVerification"
          },
          "enhancedAccuracy" : {
            "title" : "Enhanced accuracy",
            "type" : "boolean",
            "description" : "Further increase the accuracy of the results by running two simulations. The results of the first one will be used as input for the second one to fine-tune the setup.",
            "default" : false
          }
        },
        "additionalProperties" : false
      },
      "Simulation.HarmonicResponse" : {
        "type" : "object",
        "properties" : {
          "solver" : {
            "$ref" : "#/components/schemas/Simulation.MUMPSSolver"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.ImplicitTimeIntegrationType" : {
        "title" : "Implicit",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "<p>Choose the time integration scheme type</p><br /><br />Important remarks:<br /><ul><li>Choose <b>implicit</b> if the problem is static or dynamic but not so complex. Implicit analysis takes more solution time but can solve the problem easily with larger timesteps. Therefore, it is always recommended to use implicit time integration scheme. </li><i>Choose <b>explicit</b> if the problem is only dynamic and highly complex. Explicit analysis takes less solution time but also needs more refined (small) timesteps to solve the problem. Therefore, in most of the cases it's not recommended due to convergence problems. </i></ul> \n\nSchema name: ImplicitTimeIntegrationType",
            "default" : "IMPLICIT"
          },
          "scheme" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_ImplicitTimeIntegrationTypeScheme"
          },
          "schemeFormulation" : {
            "title" : "Scheme formulation",
            "type" : "string",
            "description" : "<p>Choose the primary variable for the time integration scheme.</p>",
            "default" : "DISPLACEMENT",
            "enum" : [ "DISPLACEMENT" ]
          },
          "massMatrixShift" : {
            "title" : "Mass matrix shift",
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "description" : "<p>This parameter c<sub>K</sub> allows the shifting of the mass matrix with the stiffness matrix multiplied by c<sub>K</sub>: <b>M</b><sup>'</sup>=<b>M</b> + c<sub>K</sub>*<b>K</b>. This makes it possible to strongly improve convergence in dynamics with implicit time scheme by imposing a cut-off frequency inversely proportional to the value of c<sub>K</sub> (at the cost of a light distortion of all the eigen frequencies of the system).</p>",
            "default" : 0
          }
        },
        "additionalProperties" : false,
        "description" : "<p>Choose the time integration scheme type</p><br /><br />Important remarks:<br /><ul><li>Choose <b>implicit</b> if the problem is static or dynamic but not so complex. Implicit analysis takes more solution time but can solve the problem easily with larger timesteps. Therefore, it is always recommended to use implicit time integration scheme. </li><i>Choose <b>explicit</b> if the problem is only dynamic and highly complex. Explicit analysis takes less solution time but also needs more refined (small) timesteps to solve the problem. Therefore, in most of the cases it's not recommended due to convergence problems. </i></ul> "
      },
      "Simulation.HhtTimeIntegrationScheme" : {
        "title" : "Hilber-Hughes-Taylor (HHT)",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: HhtTimeIntegrationScheme",
            "default" : "HHT"
          },
          "alpha" : {
            "title" : "(α) Alpha",
            "maximum" : 0.0,
            "exclusiveMaximum" : false,
            "minimum" : -0.33333,
            "exclusiveMinimum" : false,
            "type" : "number",
            "description" : "The parameter <b>&alpha;</b> is given by a negative value. The larger |<b>&alpha;</b>| is, the more numerical damping is induced.",
            "default" : -0.1
          },
          "method" : {
            "title" : "Method",
            "type" : "string",
            "description" : "Choose the mode of the HHT method. Compared to the <b>average acceleration</b> scheme the induced numerical damping of the <b>alpha method</b> is more selective: it is weaker for low frequencies and it will increase with the frequencies.",
            "default" : "ALPHA_METHOD",
            "enum" : [ "AVERAGE_ACCELERATION", "ALPHA_METHOD" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.NewmarkTimeIntegrationScheme" : {
        "title" : "Newmark",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: NewmarkTimeIntegrationScheme",
            "default" : "NEWMARK"
          },
          "beta" : {
            "title" : "(β) Beta",
            "maximum" : 1.0,
            "exclusiveMaximum" : false,
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "description" : "<p>The choice of the values for the parameters <b>&alpha;</b> and <b>&beta;</b> influences the stability, accuracy and numerical damping of the <i>Newmark Sheme</i>.</v>",
            "default" : 0.25
          },
          "gamma" : {
            "title" : "(γ) Gamma",
            "maximum" : 1.0,
            "exclusiveMaximum" : false,
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "description" : "<p>The choice of the values for the parameters <b>&alpha;</b> and <b>&beta;</b> influences the stability, accuracy and numerical damping of the <i>Newmark Sheme</i>.</v>",
            "default" : 0.5
          }
        },
        "additionalProperties" : false
      },
      "Simulation.ExplicitTimeIntegrationType" : {
        "title" : "Explicit",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "<p>Choose the time integration scheme type</p><br /><br />Important remarks:<br /><ul><li>Choose <b>implicit</b> if the problem is static or dynamic but not so complex. Implicit analysis takes more solution time but can solve the problem easily with larger timesteps. Therefore, it is always recommended to use implicit time integration scheme. </li><i>Choose <b>explicit</b> if the problem is only dynamic and highly complex. Explicit analysis takes less solution time but also needs more refined (small) timesteps to solve the problem. Therefore, in most of the cases it's not recommended due to convergence problems. </i></ul> \n\nSchema name: ExplicitTimeIntegrationType",
            "default" : "EXPLICIT"
          },
          "scheme" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_ExplicitTimeIntegrationTypeScheme"
          },
          "schemeFormulation" : {
            "title" : "Scheme formulation",
            "type" : "string",
            "description" : "<p>Choose the primary variable for the time integration scheme.</p>",
            "default" : "ACCELERATION",
            "enum" : [ "ACCELERATION" ]
          },
          "stopOnCFLCriterion" : {
            "title" : "Stop on CFL criterion",
            "type" : "boolean",
            "description" : "<p>If activated the simulation run is stopped when at some point the Courant-Friedrichs-Lewy (CFL) condition is violated.</p>",
            "default" : true
          },
          "massMatrixShift" : {
            "title" : "Mass matrix shift",
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "description" : "<p>This parameter c<sub>K</sub> allows the shifting of the mass matrix with the stiffness matrix multiplied by c<sub>K</sub>: <b>M</b><sup>'</sup>=<b>M</b> + c<sub>K</sub>*<b>K</b>. This makes it possible to strongly improve convergence in dynamics with implicit time scheme by imposing a cut-off frequency inversely proportional to the value of c<sub>K</sub> (at the cost of a light distortion of all the eigen frequencies of the system).</p>",
            "default" : 0
          }
        },
        "additionalProperties" : false,
        "description" : "<p>Choose the time integration scheme type</p><br /><br />Important remarks:<br /><ul><li>Choose <b>implicit</b> if the problem is static or dynamic but not so complex. Implicit analysis takes more solution time but can solve the problem easily with larger timesteps. Therefore, it is always recommended to use implicit time integration scheme. </li><i>Choose <b>explicit</b> if the problem is only dynamic and highly complex. Explicit analysis takes less solution time but also needs more refined (small) timesteps to solve the problem. Therefore, in most of the cases it's not recommended due to convergence problems. </i></ul> "
      },
      "Simulation.CentralDiffTimeIntegrationScheme" : {
        "title" : "Central differences",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: CentralDiffTimeIntegrationScheme",
            "default" : "CENTRAL_DIFF"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.TchamwaTimeIntegrationScheme" : {
        "title" : "Tchamwa time integration scheme",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: TchamwaTimeIntegrationScheme",
            "default" : "TCHAMWA"
          },
          "phi" : {
            "title" : "(φ) Phi",
            "minimum" : 1.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "description" : "<p>The parameter <b>&phi;</b> allows inducing numerical damping. For <b>&phi;</b> = 1.0 there is no numerical damping whereas for <b>&phi;</b> > 1.0</p> the damping grows with the parameter value. It is thus not recommended to use a value for <b>&phi;</b> greater than 1.1.</p>",
            "default" : 1.05
          }
        },
        "additionalProperties" : false
      },
      "Simulation.NewtonResolutionType" : {
        "title" : "Newton",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "<p>Choose how the nonlinearities are solved. Currently for direct solvers only the Newton-Raphson method is available via the selection <b>Newton</b>. For iterative solvers also an inexact version of the Newton-Raphson method is available via the selection <b>Newton-Krylov</b>.</p>\n\nSchema name: NewtonResolutionType",
            "default" : "NEWTON"
          },
          "convergenceCriteria" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_NewtonResolutionTypeConvergenceCriteria"
          },
          "predictionMatrix" : {
            "title" : "Prediction matrix",
            "type" : "string",
            "description" : "<p>Select which stiffnes matrix should be used in the prediction phase of the Newton method. A good choice leads to a good starting point for the first Newton iteration and thus a faster convergence.</p>",
            "default" : "TANGENT",
            "enum" : [ "TANGENT", "ELASTIC" ],
            "x-showWhen" : [ "type in [STATIC_ANALYSIS,DYNAMIC_ANALYSIS]", "type == THERMAL_MECHANICAL && 1# == mechanicalResolutionType" ]
          },
          "jacobianMatrix" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_NewtonResolutionTypeJacobianMatrix"
          }
        },
        "additionalProperties" : false,
        "description" : "<p>Choose how the nonlinearities are solved. Currently for direct solvers only the Newton-Raphson method is available via the selection <b>Newton</b>. For iterative solvers also an inexact version of the Newton-Raphson method is available via the selection <b>Newton-Krylov</b>.</p>"
      },
      "Simulation.AdaptiveConvergenceCriteria" : {
        "title" : "Adaptive",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: AdaptiveConvergenceCriteria",
            "default" : "ADAPTIVE"
          },
          "relativeTolerance" : {
            "title" : "Relative tolerance",
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "description" : "<p>Set the threshold value for the relative convergence criterion. With this criterion, the solver considers a time step as converged if the maximum relative residual -- the maximum absolute residual divided by external loads and support reactions -- in a Newton iteration falls below the given value.</p>Important remarks: This value is a compromise between solution time and accuracy. A larger value leads to a faster solution time at the cost of losing accuracy in each Newton iteration and possibly causing convergence problems in the following steps. We recommend an upper limit of 1<sup>-3</sup>.",
            "default" : 5.0E-5
          },
          "absoluteTolerance" : {
            "title" : "Absolute tolerance",
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "description" : "<p>Set the threshold value for the absolute convergence criterion (measured in Newtons). With this criterion, the solver considers a time step as converged if the maximum absolute residual in a Newton iteration falls below the given value.</p>Important remarks: This value is a compromise between solution time and accuracy. A larger value leads to a faster solution time at the cost of losing accuracy in each Newton iteration and possibly causing convergence problems in the following steps.",
            "x-conditionalDefaults" : [ {
              "when" : [ "type in [STATIC_ANALYSIS,DYNAMIC_ANALYSIS]" ],
              "default" : 1.0E-4
            }, {
              "when" : [ "type in [HEAT_TRANSFER,THERMAL_MECHANICAL]" ],
              "default" : 0.001
            } ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.RelativeConvergenceCriteria" : {
        "title" : "Relative",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: RelativeConvergenceCriteria",
            "default" : "RELATIVE"
          },
          "tolerance" : {
            "title" : "Tolerance",
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "description" : "<p>Set the threshold value for the relative convergence criterion. With this criterion, the solver considers a time step as converged if the maximum relative residual -- the maximum absolute residual divided by external loads and support reactions -- in a Newton iteration falls below the given value.</p>Important remarks: This value is a compromise between solution time and accuracy. A larger value leads to a faster solution time at the cost of losing accuracy in each Newton iteration and possibly causing convergence problems in the following steps. We recommend an upper limit of 1<sup>-3</sup>.",
            "default" : 5.0E-5
          }
        },
        "additionalProperties" : false
      },
      "Simulation.AbsoluteConvergenceCriteria" : {
        "title" : "Absolute",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: AbsoluteConvergenceCriteria",
            "default" : "ABSOLUTE"
          },
          "tolerance" : {
            "title" : "Tolerance",
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "description" : "<p>Set the threshold value for the absolute convergence criterion (measured in Newtons). With this criterion, the solver considers a time step as converged if the maximum absolute residual in a Newton iteration falls below the given value.</p>Important remarks: This value is a compromise between solution time and accuracy. A larger value leads to a faster solution time at the cost of losing accuracy in each Newton iteration and possibly causing convergence problems in the following steps.",
            "x-conditionalDefaults" : [ {
              "when" : [ "type in [STATIC_ANALYSIS,DYNAMIC_ANALYSIS]" ],
              "default" : 1.0E-4
            }, {
              "when" : [ "type in [HEAT_TRANSFER,THERMAL_MECHANICAL]" ],
              "default" : 0.001
            } ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.TangentJacobianMatrix" : {
        "title" : "Tangent",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "<p>Select which stiffnes matrix should be used for computing the Jacobian of the Newton method. Choosing the tangent stiffnes matrix via <b>tangent matrix</b> allows a full Newton approach whereas the selection of the <b>elastic matrix</b> results in a quasi-Newton approach.</p>\n\nSchema name: TangentJacobianMatrix",
            "default" : "TANGENT"
          },
          "maxNewtonIteration" : {
            "title" : "Max Newton iterations",
            "type" : "integer",
            "description" : "<p>Maximum number of allowed Newton iterations per time increment. If this value is reached the simulation is considered non-converging. If an automatic time stepping is activated the time increment is reduced in order to reach convergence.</p>",
            "default" : 35
          },
          "reactualizationIteration" : {
            "title" : "Update every nth iteration",
            "type" : "integer",
            "description" : "<p>Select how often the Jacobian matrix should be recomputed. If this parameter is set to 10, the Jacobian matrix is recomputed every 10th iteration within a given time step. If it is set to 0, the Jacobian matrix is not updated within any time step.</p>",
            "x-conditionalDefaults" : [ {
              "when" : [ "type in [STATIC_ANALYSIS,DYNAMIC_ANALYSIS,THERMAL_MECHANICAL,HEAT_TRANSFER]" ],
              "default" : 1
            } ]
          },
          "reactualizationIncrement" : {
            "title" : "Update every nth increment",
            "type" : "integer",
            "description" : "<p>Select how often the Jacobian matrix should be recomputed. If this parameter is set to 10, the Jacobian matrix is recomputed every 10th time step. If it is set to 0, the Jacobian matrix is never updated.</p>",
            "default" : 1,
            "x-showWhen" : [ "type in [STATIC_ANALYSIS,DYNAMIC_ANALYSIS]", "type == THERMAL_MECHANICAL && 2# == mechanicalResolutionType" ]
          },
          "changeJacobianMatrix" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_TangentJacobianMatrixChangeJacobianMatrix"
          }
        },
        "additionalProperties" : false,
        "description" : "<p>Select which stiffnes matrix should be used for computing the Jacobian of the Newton method. Choosing the tangent stiffnes matrix via <b>tangent matrix</b> allows a full Newton approach whereas the selection of the <b>elastic matrix</b> results in a quasi-Newton approach.</p>"
      },
      "Simulation.TrueChangeJacobianMatrix" : {
        "title" : "True",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "<p>Choose if the Jacobian matrix should automatically change from tangent stiffnes matrix to elastic matrix if the time increment is falling below a given threshold. On the assumption that below a given time increment value the nonlinearities are not evolving within the time step one can strongly save computation time by switching to the elastic matrix.</p>\n\nSchema name: TrueChangeJacobianMatrix",
            "default" : "TRUE"
          },
          "thresholdTimeStepValue" : {
            "title" : "Threshold time increment",
            "type" : "number",
            "description" : "<p>Set the threshold value of the Jacobian matrix changing. If the time increment is lower than this value the elastic matrix is used.</p>",
            "default" : 1.0E-6
          },
          "matrixReactualizationIteration" : {
            "title" : "Elastic matrix update every nth iteration",
            "type" : "integer",
            "description" : "<p>Set how often the elastic stiffness matrix should be recomputed. If this parameter is set to 10, the elastic matrix is recomputed every 10th iteration within a given time step. If it is set to 0, the elastic stiffness matrix is not updated within any time step.</p>",
            "default" : 0
          },
          "maxNewtonIterations" : {
            "title" : "Max Newton iterations (Elastic Jacobian)",
            "type" : "integer",
            "description" : "<p>Maximum number of allowed Newton iterations per time increment. If this value is reached the simulation is considered non-converging. If an automatic time stepping is activated the time increment is reduced in order to reach convergence.</p>",
            "default" : 35
          }
        },
        "additionalProperties" : false,
        "description" : "<p>Choose if the Jacobian matrix should automatically change from tangent stiffnes matrix to elastic matrix if the time increment is falling below a given threshold. On the assumption that below a given time increment value the nonlinearities are not evolving within the time step one can strongly save computation time by switching to the elastic matrix.</p>"
      },
      "Simulation.FalseChangeJacobianMatrix" : {
        "title" : "False",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "<p>Choose if the Jacobian matrix should automatically change from tangent stiffnes matrix to elastic matrix if the time increment is falling below a given threshold. On the assumption that below a given time increment value the nonlinearities are not evolving within the time step one can strongly save computation time by switching to the elastic matrix.</p>\n\nSchema name: FalseChangeJacobianMatrix",
            "default" : "FALSE"
          }
        },
        "additionalProperties" : false,
        "description" : "<p>Choose if the Jacobian matrix should automatically change from tangent stiffnes matrix to elastic matrix if the time increment is falling below a given threshold. On the assumption that below a given time increment value the nonlinearities are not evolving within the time step one can strongly save computation time by switching to the elastic matrix.</p>"
      },
      "Simulation.ElasticJacobianMatrix" : {
        "title" : "Elastic",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "<p>Select which stiffnes matrix should be used for computing the Jacobian of the Newton method. Choosing the tangent stiffnes matrix via <b>tangent matrix</b> allows a full Newton approach whereas the selection of the <b>elastic matrix</b> results in a quasi-Newton approach.</p>\n\nSchema name: ElasticJacobianMatrix",
            "default" : "ELASTIC"
          },
          "maxNewtonIteration" : {
            "title" : "Max Newton iterations",
            "type" : "integer",
            "description" : "<p>Maximum number of allowed Newton iterations per time increment. If this value is reached the simulation is considered non-converging. If an automatic time stepping is activated the time increment is reduced in order to reach convergence.</p>",
            "default" : 35
          }
        },
        "additionalProperties" : false,
        "description" : "<p>Select which stiffnes matrix should be used for computing the Jacobian of the Newton method. Choosing the tangent stiffnes matrix via <b>tangent matrix</b> allows a full Newton approach whereas the selection of the <b>elastic matrix</b> results in a quasi-Newton approach.</p>"
      },
      "Simulation.NewtonKrylovResolutionType" : {
        "title" : "Newton-Krylov",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "<p>Choose how the nonlinearities are solved. Currently for direct solvers only the Newton-Raphson method is available via the selection <b>Newton</b>. For iterative solvers also an inexact version of the Newton-Raphson method is available via the selection <b>Newton-Krylov</b>.</p>\n\nSchema name: NewtonKrylovResolutionType",
            "default" : "NEWTON_KRYLOV"
          },
          "convergenceCriteria" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_NewtonKrylovResolutionTypeConvergenceCriteria"
          },
          "predictionMatrix" : {
            "title" : "Prediction matrix",
            "type" : "string",
            "description" : "<p>Select which stiffnes matrix should be used in the prediction phase of the Newton method. A good choice leads to a good starting point for the first Newton iteration and thus a faster convergence.</p>",
            "default" : "TANGENT",
            "enum" : [ "TANGENT", "ELASTIC" ]
          },
          "jacobianMatrix" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_NewtonKrylovResolutionTypeJacobianMatrix"
          }
        },
        "additionalProperties" : false,
        "description" : "<p>Choose how the nonlinearities are solved. Currently for direct solvers only the Newton-Raphson method is available via the selection <b>Newton</b>. For iterative solvers also an inexact version of the Newton-Raphson method is available via the selection <b>Newton-Krylov</b>.</p>"
      },
      "Simulation.FalseLineSearch" : {
        "title" : "False",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "<p>Line search can be used to improve convergence for nonlinear calculations with the Newton method.</p>\n\nSchema name: FalseLineSearch",
            "default" : "FALSE"
          }
        },
        "additionalProperties" : false,
        "description" : "<p>Line search can be used to improve convergence for nonlinear calculations with the Newton method.</p>"
      },
      "Simulation.TrueLineSearch" : {
        "title" : "True",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "<p>Line search can be used to improve convergence for nonlinear calculations with the Newton method.</p>\n\nSchema name: TrueLineSearch",
            "default" : "TRUE"
          },
          "method" : {
            "title" : "Method",
            "type" : "string",
            "description" : "<p>Choose the method of the line search algorithm. The <b>Secant method</b> is a simple one dimensional search algorithm. The <b>mixed method</b> is a more elaborate algorithm that uses variable bounds.</p>",
            "default" : "SECANT",
            "enum" : [ "SECANT", "MIXED" ],
            "x-showWhen" : [ "type in [STATIC_ANALYSIS,DYNAMIC_ANALYSIS,THERMAL_MECHANICAL] && 1# == mechanicalLineSearch" ]
          },
          "residual" : {
            "title" : "Residual",
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "description" : "<p>Set the residual for the line search convergence</p>",
            "default" : 0.001
          },
          "maxIterations" : {
            "title" : "Max iterations",
            "maximum" : 999,
            "exclusiveMaximum" : false,
            "minimum" : 1,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "description" : "<p>Set the maximum number for line search iterations. Typically a sinlge-digit number should be sufficient.</p>",
            "default" : 3
          }
        },
        "additionalProperties" : false,
        "description" : "<p>Line search can be used to improve convergence for nonlinear calculations with the Newton method.</p>"
      },
      "Simulation.ThetaMethodTimeIntegrationType" : {
        "title" : "Theta method",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "<p>Choose the time integration scheme type</p>\n\nSchema name: ThetaMethodTimeIntegrationType",
            "default" : "THETA_METHOD"
          },
          "theta" : {
            "title" : "(θ) Theta",
            "maximum" : 1.0,
            "exclusiveMaximum" : false,
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "description" : "The parameter <b>&theta;</b> must be ranging between 0.0 (explicit method) and 1.0 (completely implicit method). The standard value of <b>&theta;</b> = 0.57 is chosen a little higher than <b>&theta;</b> = 0.5 which would lead to the <i>Crank-Nicolson</i> scheme of order 2.",
            "default" : 0.57
          }
        },
        "additionalProperties" : false,
        "description" : "<p>Choose the time integration scheme type</p>"
      },
      "Simulation.SolidSimulationControl" : {
        "type" : "object",
        "properties" : {
          "timestepDefinition" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_SolidSimulationControlTimestepDefinition"
          },
          "pseudoTimeStepping" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_SolidSimulationControlPseudoTimeStepping"
          },
          "autoLoadRamping" : {
            "title" : "Automatic boundary condition ramping",
            "type" : "boolean",
            "description" : "Loads and enforced motions will be ramped linearly over the simulation interval to aid solution convergence. Automatic ramping will only be applied if all boundary conditions (including gravity) are applied with constant values and if no creep formulation has been defined for the materials.",
            "default" : true,
            "x-showWhen" : [ "type == STATIC_ANALYSIS && nonLinearAnalysis == true" ]
          },
          "writeControlDefinition" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_SolidSimulationControlWriteControlDefinition"
          },
          "excitationFrequencies" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_SolidSimulationControlExcitationFrequencies"
          },
          "eigenfrequencyScope" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_SolidSimulationControlEigenfrequencyScope"
          },
          "modalBase" : {
            "$ref" : "#/components/schemas/Simulation.ModalBaseControl"
          },
          "harmonicResponse" : {
            "$ref" : "#/components/schemas/Simulation.HarmonicResponseControl"
          },
          "processors" : {
            "$ref" : "#/components/schemas/Simulation.ComputingCore"
          },
          "maxRunTime" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Time"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.AutoTimestepDefinition" : {
        "title" : "Automatic",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: AutoTimestepDefinition",
            "default" : "AUTOMATIC_V27"
          },
          "simulationInterval" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Time"
          },
          "maximumTimestepLength" : {
            "$ref" : "#/components/schemas/Simulation.RestrictedDimensionalFunction_Time"
          },
          "minimumTimestepLength" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Time"
          },
          "maximumResidual" : {
            "title" : "Maximum residual",
            "minimum" : 0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "default" : 10000000000
          },
          "retimingEvent" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_AutoTimestepDefinitionRetimingEvent"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.RestrictedDimensionalFunction_Time" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_RestrictedDimensionalFunction_TimeValue"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "s" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.RestrictedTableDefinedFunction" : {
        "title" : "Restricted table defined function",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: RestrictedTableDefinedFunction",
            "default" : "RESTRICTED_TABLE_DEFINED"
          },
          "label" : {
            "title" : "Label",
            "type" : "string",
            "default" : "Table"
          },
          "tableId" : {
            "type" : "string",
            "description" : "The ID of the imported table.",
            "format" : "uuid"
          },
          "resultIndex" : {
            "title" : "Result index",
            "type" : "array",
            "description" : "Indicates which column(s) of the table contains the result values. One-based indexing must be used. For example, set this field to '[2]' if the second column of the table contains the dependent variable values.",
            "items" : {
              "type" : "integer"
            }
          },
          "independentVariables" : {
            "title" : "Independent variables",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.TableFunctionParameter"
            }
          },
          "separator" : {
            "title" : "Separator",
            "type" : "string",
            "description" : "Values in each row are separated by this character. Also known as a delimiter.",
            "default" : ","
          }
        },
        "additionalProperties" : false
      },
      "Simulation.ErrorRetimingEvent" : {
        "title" : "Error",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "<p>Select the event for the time step adaptation. Currently there are four different events possible that trigger a time step adaptation:</p><ul><li><p><b>Error</b>: This is the case of a general error like for example non-convergence or singular matrix errors.</p></ul><ul><li><p><b>Collision</b>: This event is triggered if in a computation with physical contact a contact state change from open to closed is noticed. This time step adaptation is especially useful in dynamics to reduce the effect of artificial oscillations due to inexact collision detection.</p></ul><ul><li><p><b>Field Change</b>: The user can define the maximum delta that a field is allowed to change within one time step, if the defined threshold is exceeded the time step is adapted. This time stepping criteria is especially useful to capture material nonlinearitier more exact.</p></ul><ul><li><p><b>Non-monotonous residual</b>: This event is triggered if the residual has not been reduced within three iterations . This criteria is mostly used to reduce runtime by detecting diverging time steps before reaching the maximum number of allowed newton iterations.</p></ul>\n\nSchema name: ErrorRetimingEvent",
            "default" : "ERROR"
          },
          "timestepCalculationType" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_ErrorRetimingEventTimestepCalculationType"
          }
        },
        "additionalProperties" : false,
        "description" : "<p>Select the event for the time step adaptation. Currently there are four different events possible that trigger a time step adaptation:</p><ul><li><p><b>Error</b>: This is the case of a general error like for example non-convergence or singular matrix errors.</p></ul><ul><li><p><b>Collision</b>: This event is triggered if in a computation with physical contact a contact state change from open to closed is noticed. This time step adaptation is especially useful in dynamics to reduce the effect of artificial oscillations due to inexact collision detection.</p></ul><ul><li><p><b>Field Change</b>: The user can define the maximum delta that a field is allowed to change within one time step, if the defined threshold is exceeded the time step is adapted. This time stepping criteria is especially useful to capture material nonlinearitier more exact.</p></ul><ul><li><p><b>Non-monotonous residual</b>: This event is triggered if the residual has not been reduced within three iterations . This criteria is mostly used to reduce runtime by detecting diverging time steps before reaching the maximum number of allowed newton iterations.</p></ul>"
      },
      "Simulation.NewtonIterationTimestepCalculationType" : {
        "title" : "Newton iterations target",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "<p>Select how the time increments should be computed in case of an adaptation event. Currently four types are available (which may not all be available for every event):</p><ul><li><p><b>Manual</b>: Here the user defines fixed time step subdivision and augmentation settings.</p></ul><ul><li><p><b>Newton Iterations Target</b>: With this setting the user defines a target value for the Newton Iterations and the time increments are calculated automatically to having this value as objective.</p></ul><ul><li><p><b>Field Change Target</b>: With this setting the user defines a target value for change of a specific field component within a time increment and the time increments are calculated automatically to having this value as objective.</p></ul><ul><li><p><b>Mixed</b>: The mixed type uses a fixed subdivision and an automatic adaptation of the time step with a target value for the change of the selected field component.</p></ul>\n\nSchema name: NewtonIterationTimestepCalculationType",
            "default" : "NEWTON_ITERATION"
          },
          "value" : {
            "title" : "Value",
            "minimum" : 1,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "description" : "<p>Define the target value for the number of Newton Iterations within a time step.</p>",
            "default" : 8
          }
        },
        "additionalProperties" : false,
        "description" : "<p>Select how the time increments should be computed in case of an adaptation event. Currently four types are available (which may not all be available for every event):</p><ul><li><p><b>Manual</b>: Here the user defines fixed time step subdivision and augmentation settings.</p></ul><ul><li><p><b>Newton Iterations Target</b>: With this setting the user defines a target value for the Newton Iterations and the time increments are calculated automatically to having this value as objective.</p></ul><ul><li><p><b>Field Change Target</b>: With this setting the user defines a target value for change of a specific field component within a time increment and the time increments are calculated automatically to having this value as objective.</p></ul><ul><li><p><b>Mixed</b>: The mixed type uses a fixed subdivision and an automatic adaptation of the time step with a target value for the change of the selected field component.</p></ul>"
      },
      "Simulation.ManualTimestepCalculationType" : {
        "title" : "Manual",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "<p>Select how the time increments should be computed in case of an adaptation event. Currently four types are available (which may not all be available for every event):</p><ul><li><p><b>Manual</b>: Here the user defines fixed time step subdivision and augmentation settings.</p></ul><ul><li><p><b>Newton Iterations Target</b>: With this setting the user defines a target value for the Newton Iterations and the time increments are calculated automatically to having this value as objective.</p></ul><ul><li><p><b>Field Change Target</b>: With this setting the user defines a target value for change of a specific field component within a time increment and the time increments are calculated automatically to having this value as objective.</p></ul><ul><li><p><b>Mixed</b>: The mixed type uses a fixed subdivision and an automatic adaptation of the time step with a target value for the change of the selected field component.</p></ul>\n\nSchema name: ManualTimestepCalculationType",
            "default" : "MANUAL"
          },
          "additionalNewtonIterations" : {
            "title" : "Additional Newton Iterations (%)",
            "minimum" : 20,
            "exclusiveMinimum" : false,
            "type" : "number",
            "description" : "<p>Define the percentage of additional Newton Iterations that should be allowed to be used if convergence is not reached after the maximum number of Newton Iterations is reached.</p>",
            "default" : 50,
            "x-showWhen" : [ "type in [STATIC_ANALYSIS,DYNAMIC_ANALYSIS,THERMAL_MECHANICAL] && 2/type == ERROR" ]
          },
          "fixedSubdivision" : {
            "$ref" : "#/components/schemas/Simulation.FixedSubdivision"
          },
          "fixedAugmentation" : {
            "$ref" : "#/components/schemas/Simulation.FixedAugmentation"
          }
        },
        "additionalProperties" : false,
        "description" : "<p>Select how the time increments should be computed in case of an adaptation event. Currently four types are available (which may not all be available for every event):</p><ul><li><p><b>Manual</b>: Here the user defines fixed time step subdivision and augmentation settings.</p></ul><ul><li><p><b>Newton Iterations Target</b>: With this setting the user defines a target value for the Newton Iterations and the time increments are calculated automatically to having this value as objective.</p></ul><ul><li><p><b>Field Change Target</b>: With this setting the user defines a target value for change of a specific field component within a time increment and the time increments are calculated automatically to having this value as objective.</p></ul><ul><li><p><b>Mixed</b>: The mixed type uses a fixed subdivision and an automatic adaptation of the time step with a target value for the change of the selected field component.</p></ul>"
      },
      "Simulation.FixedSubdivision" : {
        "type" : "object",
        "properties" : {
          "numSubdivisions" : {
            "title" : "Number of subdivisions",
            "minimum" : 2,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "description" : "<p>Define the number of equal subdivisions of a time step in case of an adaptation event.</p>",
            "default" : 4
          },
          "maxSubdivisionDepth" : {
            "title" : "Max subdivision depth",
            "minimum" : 2,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "description" : "<p>Define maximum depth of the timestep subdivisions. If this value is exceeded the computation will stop. Example: If this value is set to 3, the number of subdivisions to 2 and the initial time step length is set to 1 sec, than the maximum depth is reached after 3 consecutive subdivisions (e.g. a time step of 1/8 sec based on <i>1.(1/2)<sup>3</sup></i>).</p>",
            "default" : 3
          }
        },
        "additionalProperties" : false
      },
      "Simulation.FixedAugmentation" : {
        "type" : "object",
        "properties" : {
          "newtonIterationThreshold" : {
            "title" : "Newton iteration threshold",
            "minimum" : 1,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "description" : "<p><b>Newton Iteration threshold</b> defines the threshold below which the actual number of Newton Iterations has to fall in order to increase the time step by the percentage given by <b>Timestep Augmentation</b>.</p>",
            "default" : 5
          },
          "timestepAugmentation" : {
            "title" : "Time step augmentation",
            "minimum" : 0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "description" : "<p><b>Newton Iteration threshold</b> defines the threshold below which the actual number of Newton Iterations has to fall in order to increase the time step by the percentage given by <b>Timestep Augmentation</b>.</p>",
            "default" : 100
          }
        },
        "additionalProperties" : false
      },
      "Simulation.CollisionRetimingEvent" : {
        "title" : "Collision",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "<p>Select the event for the time step adaptation. Currently there are four different events possible that trigger a time step adaptation:</p><ul><li><p><b>Error</b>: This is the case of a general error like for example non-convergence or singular matrix errors.</p></ul><ul><li><p><b>Collision</b>: This event is triggered if in a computation with physical contact a contact state change from open to closed is noticed. This time step adaptation is especially useful in dynamics to reduce the effect of artificial oscillations due to inexact collision detection.</p></ul><ul><li><p><b>Field Change</b>: The user can define the maximum delta that a field is allowed to change within one time step, if the defined threshold is exceeded the time step is adapted. This time stepping criteria is especially useful to capture material nonlinearitier more exact.</p></ul><ul><li><p><b>Non-monotonous residual</b>: This event is triggered if the residual has not been reduced within three iterations . This criteria is mostly used to reduce runtime by detecting diverging time steps before reaching the maximum number of allowed newton iterations.</p></ul>\n\nSchema name: CollisionRetimingEvent",
            "default" : "COLLISION"
          },
          "timestepCalculationType" : {
            "$ref" : "#/components/schemas/Simulation.ManualTimestepCalculationType"
          }
        },
        "additionalProperties" : false,
        "description" : "<p>Select the event for the time step adaptation. Currently there are four different events possible that trigger a time step adaptation:</p><ul><li><p><b>Error</b>: This is the case of a general error like for example non-convergence or singular matrix errors.</p></ul><ul><li><p><b>Collision</b>: This event is triggered if in a computation with physical contact a contact state change from open to closed is noticed. This time step adaptation is especially useful in dynamics to reduce the effect of artificial oscillations due to inexact collision detection.</p></ul><ul><li><p><b>Field Change</b>: The user can define the maximum delta that a field is allowed to change within one time step, if the defined threshold is exceeded the time step is adapted. This time stepping criteria is especially useful to capture material nonlinearitier more exact.</p></ul><ul><li><p><b>Non-monotonous residual</b>: This event is triggered if the residual has not been reduced within three iterations . This criteria is mostly used to reduce runtime by detecting diverging time steps before reaching the maximum number of allowed newton iterations.</p></ul>"
      },
      "Simulation.FieldChangeRetimingEvent" : {
        "title" : "Field change",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "<p>Select the event for the time step adaptation. Currently there are four different events possible that trigger a time step adaptation:</p><ul><li><p><b>Error</b>: This is the case of a general error like for example non-convergence or singular matrix errors.</p></ul><ul><li><p><b>Collision</b>: This event is triggered if in a computation with physical contact a contact state change from open to closed is noticed. This time step adaptation is especially useful in dynamics to reduce the effect of artificial oscillations due to inexact collision detection.</p></ul><ul><li><p><b>Field Change</b>: The user can define the maximum delta that a field is allowed to change within one time step, if the defined threshold is exceeded the time step is adapted. This time stepping criteria is especially useful to capture material nonlinearitier more exact.</p></ul><ul><li><p><b>Non-monotonous residual</b>: This event is triggered if the residual has not been reduced within three iterations . This criteria is mostly used to reduce runtime by detecting diverging time steps before reaching the maximum number of allowed newton iterations.</p></ul>\n\nSchema name: FieldChangeRetimingEvent",
            "default" : "FIELD_CHANGE"
          },
          "fieldSelection" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_FieldChangeRetimingEventFieldSelection"
          },
          "thresholdValue" : {
            "title" : "Threshold value",
            "minimum" : 0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "description" : "<p>This value defines the maximum allowed change of the defined target field component within each time increment. If this threshold is exceeded the time step is adapted according to the selected settings in the *Timestep Calculation Type*.</p>",
            "default" : 0.1
          },
          "timestepCalculationType" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_FieldChangeRetimingEventTimestepCalculationType"
          }
        },
        "additionalProperties" : false,
        "description" : "<p>Select the event for the time step adaptation. Currently there are four different events possible that trigger a time step adaptation:</p><ul><li><p><b>Error</b>: This is the case of a general error like for example non-convergence or singular matrix errors.</p></ul><ul><li><p><b>Collision</b>: This event is triggered if in a computation with physical contact a contact state change from open to closed is noticed. This time step adaptation is especially useful in dynamics to reduce the effect of artificial oscillations due to inexact collision detection.</p></ul><ul><li><p><b>Field Change</b>: The user can define the maximum delta that a field is allowed to change within one time step, if the defined threshold is exceeded the time step is adapted. This time stepping criteria is especially useful to capture material nonlinearitier more exact.</p></ul><ul><li><p><b>Non-monotonous residual</b>: This event is triggered if the residual has not been reduced within three iterations . This criteria is mostly used to reduce runtime by detecting diverging time steps before reaching the maximum number of allowed newton iterations.</p></ul>"
      },
      "Simulation.DisplacementField" : {
        "title" : "Displacement",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "<p>Select the field which should have a limited de-/increase within one increment.</p>\n\nSchema name: DisplacementField",
            "default" : "DISPLACEMENT"
          },
          "componentSelection" : {
            "title" : "Component selection",
            "type" : "string",
            "description" : "Choose a field component for which the data schould be extracted.",
            "default" : "X",
            "enum" : [ "X", "Y", "Z" ]
          }
        },
        "additionalProperties" : false,
        "description" : "<p>Select the field which should have a limited de-/increase within one increment.</p>"
      },
      "Simulation.CauchyStressTensorField" : {
        "title" : "Cauchy stress",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "<p>Select the field which should have a limited de-/increase within one increment.</p>\n\nSchema name: CauchyStressTensorField",
            "default" : "CAUCHY_STRESS_TENSOR"
          },
          "componentSelection" : {
            "title" : "Component selection",
            "type" : "string",
            "description" : "Choose a field component for which the data schould be extracted.",
            "default" : "XX",
            "enum" : [ "XX", "YY", "ZZ", "XY", "XZ", "YZ" ]
          }
        },
        "additionalProperties" : false,
        "description" : "<p>Select the field which should have a limited de-/increase within one increment.</p>"
      },
      "Simulation.InternVariablesField" : {
        "title" : "Intern variables",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "<p>Select the field which should have a limited de-/increase within one increment.</p>\n\nSchema name: InternVariablesField",
            "default" : "INTERN_VARIABLES"
          },
          "componentSelection" : {
            "title" : "Component selection",
            "type" : "string",
            "description" : "<p>Choose a field component for which the data schould be extracted.</p>",
            "default" : "V1",
            "enum" : [ "V1", "V2", "V3" ]
          }
        },
        "additionalProperties" : false,
        "description" : "<p>Select the field which should have a limited de-/increase within one increment.</p>"
      },
      "Simulation.MixedTimestepCalculationType" : {
        "title" : "Mixed",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "<p>Select how the time increments should be computed in case of an adaptation event. Currently four types are available (which may not all be available for every event):</p><ul><li><p><b>Manual</b>: Here the user defines fixed time step subdivision and augmentation settings.</p></ul><ul><li><p><b>Newton Iterations Target</b>: With this setting the user defines a target value for the Newton Iterations and the time increments are calculated automatically to having this value as objective.</p></ul><ul><li><p><b>Field Change Target</b>: With this setting the user defines a target value for change of a specific field component within a time increment and the time increments are calculated automatically to having this value as objective.</p></ul><ul><li><p><b>Mixed</b>: The mixed type uses a fixed subdivision and an automatic adaptation of the time step with a target value for the change of the selected field component.</p></ul>\n\nSchema name: MixedTimestepCalculationType",
            "default" : "MIXED"
          },
          "fixedSubdivision" : {
            "$ref" : "#/components/schemas/Simulation.FixedSubdivision"
          },
          "adaptiveAugmentation" : {
            "$ref" : "#/components/schemas/Simulation.AdaptiveAugmentation"
          }
        },
        "additionalProperties" : false,
        "description" : "<p>Select how the time increments should be computed in case of an adaptation event. Currently four types are available (which may not all be available for every event):</p><ul><li><p><b>Manual</b>: Here the user defines fixed time step subdivision and augmentation settings.</p></ul><ul><li><p><b>Newton Iterations Target</b>: With this setting the user defines a target value for the Newton Iterations and the time increments are calculated automatically to having this value as objective.</p></ul><ul><li><p><b>Field Change Target</b>: With this setting the user defines a target value for change of a specific field component within a time increment and the time increments are calculated automatically to having this value as objective.</p></ul><ul><li><p><b>Mixed</b>: The mixed type uses a fixed subdivision and an automatic adaptation of the time step with a target value for the change of the selected field component.</p></ul>"
      },
      "Simulation.AdaptiveAugmentation" : {
        "type" : "object",
        "properties" : {
          "fieldChangeTargetValue" : {
            "title" : "Field change target",
            "type" : "number",
            "description" : "<p>Define the percentage of additional Newton Iterations that should be allowed to be used if convergence is not reached after the maximum number of Newton Iterations is reached.</p>",
            "default" : 0.01
          }
        },
        "additionalProperties" : false
      },
      "Simulation.FieldChangeTargetCalculationType" : {
        "title" : "Field change target",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "<p>Select how the time increments should be computed in case of an adaptation event. Currently four types are available (which may not all be available for every event):</p><ul><li><p><b>Manual</b>: Here the user defines fixed time step subdivision and augmentation settings.</p></ul><ul><li><p><b>Newton Iterations Target</b>: With this setting the user defines a target value for the Newton Iterations and the time increments are calculated automatically to having this value as objective.</p></ul><ul><li><p><b>Field Change Target</b>: With this setting the user defines a target value for change of a specific field component within a time increment and the time increments are calculated automatically to having this value as objective.</p></ul><ul><li><p><b>Mixed</b>: The mixed type uses a fixed subdivision and an automatic adaptation of the time step with a target value for the change of the selected field component.</p></ul>\n\nSchema name: FieldChangeTargetCalculationType",
            "default" : "FIELD_CHANGE_TARGET"
          },
          "value" : {
            "title" : "Value",
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "default" : 0.01
          }
        },
        "additionalProperties" : false,
        "description" : "<p>Select how the time increments should be computed in case of an adaptation event. Currently four types are available (which may not all be available for every event):</p><ul><li><p><b>Manual</b>: Here the user defines fixed time step subdivision and augmentation settings.</p></ul><ul><li><p><b>Newton Iterations Target</b>: With this setting the user defines a target value for the Newton Iterations and the time increments are calculated automatically to having this value as objective.</p></ul><ul><li><p><b>Field Change Target</b>: With this setting the user defines a target value for change of a specific field component within a time increment and the time increments are calculated automatically to having this value as objective.</p></ul><ul><li><p><b>Mixed</b>: The mixed type uses a fixed subdivision and an automatic adaptation of the time step with a target value for the change of the selected field component.</p></ul>"
      },
      "Simulation.NonMonotomousResidualRetimingEvent" : {
        "title" : "Non-monotonous residual",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "<p>Select the event for the time step adaptation. Currently there are four different events possible that trigger a time step adaptation:</p><ul><li><p><b>Error</b>: This is the case of a general error like for example non-convergence or singular matrix errors.</p></ul><ul><li><p><b>Collision</b>: This event is triggered if in a computation with physical contact a contact state change from open to closed is noticed. This time step adaptation is especially useful in dynamics to reduce the effect of artificial oscillations due to inexact collision detection.</p></ul><ul><li><p><b>Field Change</b>: The user can define the maximum delta that a field is allowed to change within one time step, if the defined threshold is exceeded the time step is adapted. This time stepping criteria is especially useful to capture material nonlinearitier more exact.</p></ul><ul><li><p><b>Non-monotonous residual</b>: This event is triggered if the residual has not been reduced within three iterations . This criteria is mostly used to reduce runtime by detecting diverging time steps before reaching the maximum number of allowed newton iterations.</p></ul>\n\nSchema name: NonMonotomousResidualRetimingEvent",
            "default" : "NON_MONOTOMOUS_RESIDUAL"
          },
          "timestepCalculationType" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_NonMonotomousResidualRetimingEventTimestepCalculationType"
          }
        },
        "additionalProperties" : false,
        "description" : "<p>Select the event for the time step adaptation. Currently there are four different events possible that trigger a time step adaptation:</p><ul><li><p><b>Error</b>: This is the case of a general error like for example non-convergence or singular matrix errors.</p></ul><ul><li><p><b>Collision</b>: This event is triggered if in a computation with physical contact a contact state change from open to closed is noticed. This time step adaptation is especially useful in dynamics to reduce the effect of artificial oscillations due to inexact collision detection.</p></ul><ul><li><p><b>Field Change</b>: The user can define the maximum delta that a field is allowed to change within one time step, if the defined threshold is exceeded the time step is adapted. This time stepping criteria is especially useful to capture material nonlinearitier more exact.</p></ul><ul><li><p><b>Non-monotonous residual</b>: This event is triggered if the residual has not been reduced within three iterations . This criteria is mostly used to reduce runtime by detecting diverging time steps before reaching the maximum number of allowed newton iterations.</p></ul>"
      },
      "Simulation.ManualTimestepDefinition" : {
        "title" : "Manual",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: ManualTimestepDefinition",
            "default" : "MANUAL_V19"
          },
          "simulationInterval" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Time"
          },
          "timestepLength" : {
            "$ref" : "#/components/schemas/Simulation.RestrictedDimensionalFunction_Time"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.SingleStepPseudoTimeStepping" : {
        "title" : "Single step",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: SingleStepPseudoTimeStepping",
            "default" : "SINGLE_STEP"
          },
          "staticTimesteps" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Time"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.SteppingListPseudoTimeStepping" : {
        "title" : "Stepping list",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: SteppingListPseudoTimeStepping",
            "default" : "STEPPING_LIST_V18"
          },
          "simulationIntervals" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Time"
          },
          "timestepLength" : {
            "$ref" : "#/components/schemas/Simulation.RestrictedDimensionalFunction_Time"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.WriteIntervalWriteControl" : {
        "title" : "Write interval",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "<p>Define how frequently intermediate results should be saved. With the selection of <b>initial time steps</b> only the user defined time steps are stored in the result and by selecting <b>all computed time steps</b> also intermediate results that were created by the automatic time stepping are saved. With the selection of <b>write interval</b> a specific write frequency can be chosen which reduces the result size. Finally using <b>user defined time steps</b> there can either be a constant time increment for result storage given or a table with varying time intervals analogous to the <b>time step length</b> definition.</p>\n\nSchema name: WriteIntervalWriteControl",
            "default" : "WRITE_INTERVAL"
          },
          "writeInterval" : {
            "title" : "Write interval",
            "minimum" : 1,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "description" : "<p>Define the write frequency of the intermediate results to the result file. Selecting a write interval of 2 means that every second computed time step is saved in the final result database, independently if it is a pre-defined user time step or an intermediate one that was added during automatic time stepping. </p>",
            "default" : 5
          }
        },
        "additionalProperties" : false,
        "description" : "<p>Define how frequently intermediate results should be saved. With the selection of <b>initial time steps</b> only the user defined time steps are stored in the result and by selecting <b>all computed time steps</b> also intermediate results that were created by the automatic time stepping are saved. With the selection of <b>write interval</b> a specific write frequency can be chosen which reduces the result size. Finally using <b>user defined time steps</b> there can either be a constant time increment for result storage given or a table with varying time intervals analogous to the <b>time step length</b> definition.</p>"
      },
      "Simulation.AllComputedWriteControl" : {
        "title" : "All computed",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "<p>Define how frequently intermediate results should be saved. With the selection of <b>initial time steps</b> only the user defined time steps are stored in the result and by selecting <b>all computed time steps</b> also intermediate results that were created by the automatic time stepping are saved. With the selection of <b>write interval</b> a specific write frequency can be chosen which reduces the result size. Finally using <b>user defined time steps</b> there can either be a constant time increment for result storage given or a table with varying time intervals analogous to the <b>time step length</b> definition.</p>\n\nSchema name: AllComputedWriteControl",
            "default" : "ALL_COMPUTED"
          }
        },
        "additionalProperties" : false,
        "description" : "<p>Define how frequently intermediate results should be saved. With the selection of <b>initial time steps</b> only the user defined time steps are stored in the result and by selecting <b>all computed time steps</b> also intermediate results that were created by the automatic time stepping are saved. With the selection of <b>write interval</b> a specific write frequency can be chosen which reduces the result size. Finally using <b>user defined time steps</b> there can either be a constant time increment for result storage given or a table with varying time intervals analogous to the <b>time step length</b> definition.</p>"
      },
      "Simulation.InitialTimestepsWriteControl" : {
        "title" : "Initial time steps",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "<p>Define how frequently intermediate results should be saved. With the selection of <b>initial time steps</b> only the user defined time steps are stored in the result and by selecting <b>all computed time steps</b> also intermediate results that were created by the automatic time stepping are saved. With the selection of <b>write interval</b> a specific write frequency can be chosen which reduces the result size. Finally using <b>user defined time steps</b> there can either be a constant time increment for result storage given or a table with varying time intervals analogous to the <b>time step length</b> definition.</p>\n\nSchema name: InitialTimestepsWriteControl",
            "default" : "INITIAL"
          }
        },
        "additionalProperties" : false,
        "description" : "<p>Define how frequently intermediate results should be saved. With the selection of <b>initial time steps</b> only the user defined time steps are stored in the result and by selecting <b>all computed time steps</b> also intermediate results that were created by the automatic time stepping are saved. With the selection of <b>write interval</b> a specific write frequency can be chosen which reduces the result size. Finally using <b>user defined time steps</b> there can either be a constant time increment for result storage given or a table with varying time intervals analogous to the <b>time step length</b> definition.</p>"
      },
      "Simulation.UserDefinedWriteControl" : {
        "title" : "User defined",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "<p>Define how frequently intermediate results should be saved. With the selection of <b>initial time steps</b> only the user defined time steps are stored in the result and by selecting <b>all computed time steps</b> also intermediate results that were created by the automatic time stepping are saved. With the selection of <b>write interval</b> a specific write frequency can be chosen which reduces the result size. Finally using <b>user defined time steps</b> there can either be a constant time increment for result storage given or a table with varying time intervals analogous to the <b>time step length</b> definition.</p>\n\nSchema name: UserDefinedWriteControl",
            "default" : "USER_DEFINED_V21"
          },
          "writeIncrement" : {
            "$ref" : "#/components/schemas/Simulation.RestrictedDimensionalFunction_Time"
          }
        },
        "additionalProperties" : false,
        "description" : "<p>Define how frequently intermediate results should be saved. With the selection of <b>initial time steps</b> only the user defined time steps are stored in the result and by selecting <b>all computed time steps</b> also intermediate results that were created by the automatic time stepping are saved. With the selection of <b>write interval</b> a specific write frequency can be chosen which reduces the result size. Finally using <b>user defined time steps</b> there can either be a constant time increment for result storage given or a table with varying time intervals analogous to the <b>time step length</b> definition.</p>"
      },
      "Simulation.SingleFrequency" : {
        "title" : "Single frequency",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: SingleFrequency",
            "default" : "SINGLE"
          },
          "frequency" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Frequency"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.FrequencyList" : {
        "title" : "Frequency list",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: FrequencyList",
            "default" : "LIST_V20"
          },
          "startFrequency" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Frequency"
          },
          "endFrequency" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Frequency"
          },
          "frequencyStepping" : {
            "$ref" : "#/components/schemas/Simulation.RestrictedDimensionalFunction_Frequency"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.RestrictedDimensionalFunction_Frequency" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_RestrictedDimensionalFunction_FrequencyValue"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "1/s", "RPM", "Hz" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.FirstMode" : {
        "title" : "First modes",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: FirstMode",
            "default" : "FIRSTMODE"
          },
          "numberOfModes" : {
            "title" : "Number of modes",
            "minimum" : 1,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "description" : "<p>Define the maximum number of eigenfrequencies/eigenmodes, that should be calculated.</p>",
            "default" : 10
          }
        },
        "additionalProperties" : false
      },
      "Simulation.FrequencyRange" : {
        "title" : "Frequency range",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: FrequencyRange",
            "default" : "RANGE"
          },
          "startFrequency" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Frequency"
          },
          "endFrequency" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Frequency"
          },
          "numberOfSubBands" : {
            "title" : "Number of sub-bands",
            "maximum" : 1000,
            "exclusiveMaximum" : false,
            "minimum" : 1,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "default" : 1
          },
          "parallelizationLevel" : {
            "title" : "Level of parallelization",
            "type" : "string",
            "default" : "COMPLETE",
            "enum" : [ "COMPLETE", "PARTIAL" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.CenterFrequency" : {
        "title" : "Center frequency",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: CenterFrequency",
            "default" : "CENTER"
          },
          "centerFrequency" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Frequency"
          },
          "numberOfModes" : {
            "title" : "Number of modes",
            "minimum" : 1,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "description" : "<p>Define the maximum number of eigenfrequencies/eigenmodes, that should be calculated.</p>",
            "default" : 10
          }
        },
        "additionalProperties" : false
      },
      "Simulation.ModalBaseControl" : {
        "type" : "object",
        "properties" : {
          "eigenfrequencyScope" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_ModalBaseControlEigenfrequencyScope"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.TwiceMaxLoadingFrequency" : {
        "title" : "Twice max loading frequency",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: TwiceMaxLoadingFrequency",
            "default" : "TWICE_MAX_LOADING_FREQUENCY"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.HarmonicResponseControl" : {
        "type" : "object",
        "properties" : {
          "excitationFrequencies" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_HarmonicResponseControlExcitationFrequencies"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.ClusterAroundModes" : {
        "title" : "Cluster around modes",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: ClusterAroundModes",
            "default" : "CLUSTER_AROUND_MODES"
          },
          "startFrequency" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Frequency"
          },
          "endFrequency" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Frequency"
          },
          "frequenciesPerMode" : {
            "title" : "Frequencies per mode",
            "minimum" : 1,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "description" : "Specify the number of excitation frequencies to be clustered around each eigenfrequency. The eigenfrequency itself will also be considered when an even number is provided.",
            "default" : 5
          },
          "percentageSpread" : {
            "title" : "Spread (%)",
            "minimum" : 0.0,
            "exclusiveMinimum" : true,
            "type" : "number",
            "description" : "Define the total bandwidth around each eigenfrequency, as a percentage of each individual eigenfrequency, within which excitation frequencies will be spaced. If a value of 10% is given, the bandwidth will extend 5% of the eigenfrequency value on both sides of the eigenfrequency.",
            "default" : 10.0
          }
        },
        "additionalProperties" : false
      },
      "Simulation.CoverSpectrum" : {
        "title" : "Cover spectrum",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: CoverSpectrum",
            "default" : "COVER_SPECTRUM"
          },
          "startFrequency" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Frequency"
          },
          "endFrequency" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Frequency"
          },
          "frequenciesPerMode" : {
            "title" : "Frequencies per mode",
            "minimum" : 1,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "description" : "Specify the number of excitation frequencies to be spread over each modal peak and neighbouring valleys. The eigenfrequency will also be considered when an even number is provided.",
            "default" : 10
          },
          "growthRatio" : {
            "title" : "Growth ratio",
            "minimum" : 1.0,
            "exclusiveMinimum" : true,
            "type" : "number",
            "description" : "Ratio of the adjacent distances between excitation frequencies. It controls the distribution of the frequencies, with larger values resulting in a faster spread towards the valleys and tighter clustering around the modal peaks. Suggested value r >= 2.",
            "default" : 2.0
          }
        },
        "additionalProperties" : false
      },
      "Simulation.ComputingCore" : {
        "type" : "object",
        "properties" : {
          "numOfProcessors" : {
            "title" : "Number of processors",
            "maximum" : 192,
            "exclusiveMaximum" : false,
            "minimum" : -1,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "description" : "<p>Selecting more processor cores will speed up the simulation process. Choosing a smaller computation instance will save core hours. <a href='https://www.simscale.com/docs/simulation-setup/simulation-control-fluid/#number-of-processors' target='_blank'>Learn more</a>.</p>",
            "format" : "int64",
            "default" : -1,
            "enum" : [ -1, 1, 2, 4, 8, 16, 32, 48, 64, 96, 128, 192 ]
          },
          "numOfComputingProcessors" : {
            "title" : "Number of parallel processes",
            "minimum" : -1,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "description" : "<p>Set the number of processors which shall be used for the parallel computation.</p>",
            "default" : -1
          },
          "domainDecomposition" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_ComputingCoreDomainDecomposition"
          },
          "numOfThreads" : {
            "title" : "Number of threads",
            "maximum" : 192,
            "exclusiveMaximum" : false,
            "minimum" : 1,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "default" : 1
          },
          "partitionMesh" : {
            "title" : "Partition mesh",
            "type" : "boolean",
            "default" : false
          }
        },
        "additionalProperties" : false
      },
      "Simulation.AutomaticDomainDecomposition" : {
        "title" : "Automatic",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: AutomaticDomainDecomposition",
            "default" : "AUTOMATIC"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.CentralizedDomainDecomposition" : {
        "title" : "Centralized",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: CentralizedDomainDecomposition",
            "default" : "CENTRALIZED"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.ElementGroupsDomainDecomposition" : {
        "title" : "Element groups",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: ElementGroupsDomainDecomposition",
            "default" : "ELEMENT_GROUPS"
          },
          "maxElementGroupSize" : {
            "title" : "Maximum size of element groups",
            "minimum" : 1,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "default" : 1000
          }
        },
        "additionalProperties" : false
      },
      "Simulation.CustomDomainDecomposition" : {
        "title" : "Custom",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: CustomDomainDecomposition",
            "default" : "CUSTOM"
          },
          "numPartitions" : {
            "title" : "Number of partitions",
            "minimum" : 1,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "default" : 1
          },
          "partitioner" : {
            "title" : "Partitioner",
            "type" : "string",
            "default" : "METIS",
            "enum" : [ "METIS", "SCOTCH" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.SolidResultControl" : {
        "type" : "object",
        "properties" : {
          "solutionFields" : {
            "title" : "Solution fields",
            "type" : "array",
            "description" : "Each mode is normalized using its largest component of displacement.",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.OneOf_SolidResultControlSolutionFields"
            },
            "x-conditionalDefaults" : [ {
              "when" : [ "type == STATIC_ANALYSIS && nonLinearAnalysis == true" ],
              "default" : [ {
                "type" : "DISPLACEMENT",
                "name" : "Displacement",
                "displacementType" : {
                  "type" : "GLOBAL"
                }
              }, {
                "type" : "STRESS",
                "name" : "Cauchy stress",
                "stressType" : {
                  "type" : "CAUCHY"
                }
              }, {
                "type" : "STRESS",
                "name" : "Von Mises stress",
                "stressType" : {
                  "type" : "VON_MISES"
                }
              }, {
                "type" : "STRAIN",
                "name" : "Total nonlinear strain",
                "strainType" : {
                  "type" : "TOTAL_NONLINEAR"
                }
              } ]
            }, {
              "when" : [ "type == STATIC_ANALYSIS && nonLinearAnalysis == false" ],
              "default" : [ {
                "type" : "DISPLACEMENT",
                "name" : "Displacement",
                "displacementType" : {
                  "type" : "GLOBAL"
                }
              }, {
                "type" : "STRESS",
                "name" : "Cauchy stress",
                "stressType" : {
                  "type" : "CAUCHY"
                }
              }, {
                "type" : "STRESS",
                "name" : "Von Mises stress",
                "stressType" : {
                  "type" : "VON_MISES"
                }
              }, {
                "type" : "STRAIN",
                "name" : "Total strain",
                "strainType" : {
                  "type" : "TOTAL"
                }
              } ]
            }, {
              "when" : [ "type == DYNAMIC_ANALYSIS" ],
              "default" : [ {
                "type" : "DISPLACEMENT",
                "name" : "Displacement",
                "displacementType" : {
                  "type" : "GLOBAL"
                }
              }, {
                "type" : "STRESS",
                "name" : "Cauchy stress",
                "stressType" : {
                  "type" : "CAUCHY"
                }
              }, {
                "type" : "STRESS",
                "name" : "Von Mises stress",
                "stressType" : {
                  "type" : "VON_MISES"
                }
              }, {
                "type" : "STRAIN",
                "name" : "Total nonlinear strain",
                "strainType" : {
                  "type" : "TOTAL_NONLINEAR"
                }
              }, {
                "type" : "VELOCITY",
                "name" : "Velocity",
                "velocityType" : {
                  "type" : "GLOBAL"
                }
              }, {
                "type" : "ACCELERATION",
                "name" : "Acceleration",
                "accelerationType" : {
                  "type" : "GLOBAL"
                }
              } ]
            }, {
              "when" : [ "type == HEAT_TRANSFER" ],
              "default" : [ {
                "type" : "TEMPERATURE",
                "name" : "Temperature",
                "temperatureType" : "FIELD"
              } ]
            }, {
              "when" : [ "type == THERMAL_MECHANICAL && nonLinearAnalysis == false" ],
              "default" : [ {
                "type" : "DISPLACEMENT",
                "name" : "Displacement",
                "displacementType" : {
                  "type" : "GLOBAL"
                }
              }, {
                "type" : "STRESS",
                "name" : "Cauchy stress",
                "stressType" : {
                  "type" : "CAUCHY"
                }
              }, {
                "type" : "STRESS",
                "name" : "Von Mises stress",
                "stressType" : {
                  "type" : "VON_MISES"
                }
              }, {
                "type" : "STRAIN",
                "name" : "Total strain",
                "strainType" : {
                  "type" : "TOTAL"
                }
              }, {
                "type" : "TEMPERATURE",
                "name" : "Temperature",
                "temperatureType" : "FIELD"
              } ]
            }, {
              "when" : [ "type == THERMAL_MECHANICAL && nonLinearAnalysis == true && inertiaEffect == STATIC" ],
              "default" : [ {
                "type" : "DISPLACEMENT",
                "name" : "Displacement",
                "displacementType" : {
                  "type" : "GLOBAL"
                }
              }, {
                "type" : "STRESS",
                "name" : "Cauchy stress",
                "stressType" : {
                  "type" : "CAUCHY"
                }
              }, {
                "type" : "STRESS",
                "name" : "Von Mises stress",
                "stressType" : {
                  "type" : "VON_MISES"
                }
              }, {
                "type" : "STRAIN",
                "name" : "Total nonlinear strain",
                "strainType" : {
                  "type" : "TOTAL_NONLINEAR"
                }
              }, {
                "type" : "TEMPERATURE",
                "name" : "Temperature",
                "temperatureType" : "FIELD"
              } ]
            }, {
              "when" : [ "type == THERMAL_MECHANICAL && nonLinearAnalysis == true && inertiaEffect == DYNAMIC" ],
              "default" : [ {
                "type" : "DISPLACEMENT",
                "name" : "Displacement",
                "displacementType" : {
                  "type" : "GLOBAL"
                }
              }, {
                "type" : "STRESS",
                "name" : "Cauchy stress",
                "stressType" : {
                  "type" : "CAUCHY"
                }
              }, {
                "type" : "STRESS",
                "name" : "Von Mises stress",
                "stressType" : {
                  "type" : "VON_MISES"
                }
              }, {
                "type" : "STRAIN",
                "name" : "Total nonlinear strain",
                "strainType" : {
                  "type" : "TOTAL_NONLINEAR"
                }
              }, {
                "type" : "TEMPERATURE",
                "name" : "Temperature",
                "temperatureType" : "FIELD"
              }, {
                "type" : "VELOCITY",
                "name" : "Velocity",
                "velocityType" : {
                  "type" : "GLOBAL"
                }
              }, {
                "type" : "ACCELERATION",
                "name" : "Acceleration",
                "accelerationType" : {
                  "type" : "GLOBAL"
                }
              } ]
            }, {
              "when" : [ "type == HARMONIC_ANALYSIS" ],
              "default" : [ {
                "type" : "HARMONIC_DISPLACEMENT",
                "name" : "Displacement",
                "harmonicDisplacementType" : {
                  "type" : "ABSOLUTE"
                }
              }, {
                "type" : "STRESS",
                "name" : "Cauchy stress",
                "stressType" : {
                  "type" : "CAUCHY"
                }
              }, {
                "type" : "STRESS",
                "name" : "Von Mises stress (Max over Phase)",
                "stressType" : {
                  "type" : "MAX_OVER_PHASE_VON_MISES"
                }
              }, {
                "type" : "STRAIN",
                "name" : "Total strain",
                "strainType" : {
                  "type" : "TOTAL"
                }
              }, {
                "type" : "HARMONIC_VELOCITY",
                "name" : "Velocity",
                "harmonicVelocityType" : {
                  "type" : "ABSOLUTE"
                }
              }, {
                "type" : "HARMONIC_ACCELERATION",
                "name" : "Acceleration",
                "harmonicAccelerationType" : {
                  "type" : "ABSOLUTE"
                }
              } ]
            }, {
              "when" : [ "type == FREQUENCY_ANALYSIS" ],
              "default" : [ {
                "type" : "NORMALIZED_DISPLACEMENT",
                "name" : "Displacement",
                "displacementType" : {
                  "type" : "NORMALIZED"
                }
              } ]
            } ]
          },
          "edgeCalculation" : {
            "title" : "Edge calculation",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.OneOf_SolidResultControlEdgeCalculation"
            },
            "x-showWhen" : [ "type in [STATIC_ANALYSIS,DYNAMIC_ANALYSIS,HEAT_TRANSFER,THERMAL_MECHANICAL]" ]
          },
          "areaCalculation" : {
            "title" : "Area calculation",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.OneOf_SolidResultControlAreaCalculation"
            },
            "x-showWhen" : [ "type in [STATIC_ANALYSIS,DYNAMIC_ANALYSIS,HEAT_TRANSFER,THERMAL_MECHANICAL,HARMONIC_ANALYSIS]" ]
          },
          "volumeCalculation" : {
            "title" : "Volume calculation",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.OneOf_SolidResultControlVolumeCalculation"
            },
            "x-showWhen" : [ "type in [STATIC_ANALYSIS,DYNAMIC_ANALYSIS,HEAT_TRANSFER,THERMAL_MECHANICAL]" ]
          },
          "pointData" : {
            "title" : "Point data",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.OneOf_SolidResultControlPointData"
            },
            "x-showWhen" : [ "type in [STATIC_ANALYSIS,DYNAMIC_ANALYSIS,HARMONIC_ANALYSIS,THERMAL_MECHANICAL,HEAT_TRANSFER]" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.ContactResultControlItem" : {
        "title" : "Contact",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: ContactResultControlItem",
            "default" : "CONTACT"
          },
          "name" : {
            "title" : "Name",
            "pattern" : "^[A-Za-z()][-+0-9a-zA-Z_()\\h]{0,199}$",
            "type" : "string"
          },
          "contactType" : {
            "title" : "Contact result type",
            "type" : "string",
            "default" : "PRESSURE",
            "enum" : [ "PRESSURE", "RESULT" ],
            "x-showWhen" : [ "type == DYNAMIC_ANALYSIS", "type == STATIC_ANALYSIS && nonLinearAnalysis == true", "type == THERMAL_MECHANICAL && nonLinearAnalysis == true", "type == THERMAL_MECHANICAL && inertiaEffect == DYNAMIC" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.DisplacementResultControlItem" : {
        "title" : "Displacement",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: DisplacementResultControlItem",
            "default" : "DISPLACEMENT"
          },
          "name" : {
            "title" : "Name",
            "pattern" : "^[A-Za-z()][-+0-9a-zA-Z_()\\h]{0,199}$",
            "type" : "string"
          },
          "displacementType" : {
            "$ref" : "#/components/schemas/Simulation.GlobalDisplacementType"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.GlobalDisplacementType" : {
        "title" : "Displacement",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: GlobalDisplacementType",
            "default" : "GLOBAL"
          },
          "complexNumber" : {
            "title" : "Complex number",
            "type" : "string",
            "default" : "MAGNITUDE_AND_PHASE",
            "enum" : [ "REAL_AND_IMAGINARY", "MAGNITUDE_AND_PHASE" ],
            "x-showWhen" : [ "type == HARMONIC_ANALYSIS" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.HarmonicDisplacementResultControlItem" : {
        "title" : "Displacement",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: HarmonicDisplacementResultControlItem",
            "default" : "HARMONIC_DISPLACEMENT"
          },
          "name" : {
            "title" : "Name",
            "pattern" : "^[A-Za-z()][-+0-9a-zA-Z_()\\h]{0,199}$",
            "type" : "string"
          },
          "harmonicDisplacementType" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_HarmonicDisplacementResultControlItemHarmonicDisplacementType"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.AbsoluteHarmonicDisplacementType" : {
        "title" : "Absolute",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: AbsoluteHarmonicDisplacementType",
            "default" : "ABSOLUTE"
          },
          "complexNumber" : {
            "title" : "Complex number",
            "type" : "string",
            "default" : "MAGNITUDE_AND_PHASE",
            "enum" : [ "REAL_AND_IMAGINARY", "MAGNITUDE_AND_PHASE" ],
            "x-showWhen" : [ "type == HARMONIC_ANALYSIS" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.RelativeHarmonicDisplacementType" : {
        "title" : "Relative",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: RelativeHarmonicDisplacementType",
            "default" : "RELATIVE"
          },
          "complexNumber" : {
            "title" : "Complex number",
            "type" : "string",
            "default" : "MAGNITUDE_AND_PHASE",
            "enum" : [ "REAL_AND_IMAGINARY", "MAGNITUDE_AND_PHASE" ],
            "x-showWhen" : [ "type == HARMONIC_ANALYSIS" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.NormalizedDisplacementResultControlItem" : {
        "title" : "Normalized displacement",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: NormalizedDisplacementResultControlItem",
            "default" : "NORMALIZED_DISPLACEMENT"
          },
          "name" : {
            "title" : "Name",
            "pattern" : "^[A-Za-z()][-+0-9a-zA-Z_()\\h]{0,199}$",
            "type" : "string"
          },
          "displacementType" : {
            "$ref" : "#/components/schemas/Simulation.NormalizedDisplacementType"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.NormalizedDisplacementType" : {
        "title" : "Normalized displacement",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: NormalizedDisplacementType",
            "default" : "NORMALIZED"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.ForceResultControlItem" : {
        "title" : "Force",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: ForceResultControlItem",
            "default" : "FORCE"
          },
          "name" : {
            "title" : "Name",
            "pattern" : "^[A-Za-z()][-+0-9a-zA-Z_()\\h]{0,199}$",
            "type" : "string"
          },
          "forceType" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_ForceResultControlItemForceType"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.GlobalReactionForceType" : {
        "title" : "Reaction force",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: GlobalReactionForceType",
            "default" : "REACTION"
          },
          "complexNumber" : {
            "title" : "Complex number",
            "type" : "string",
            "default" : "MAGNITUDE_AND_PHASE",
            "enum" : [ "REAL_AND_IMAGINARY" ],
            "x-showWhen" : [ "type == HARMONIC_ANALYSIS" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.GlobalNodalForceType" : {
        "title" : "Nodal force",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: GlobalNodalForceType",
            "default" : "NODAL"
          },
          "complexNumber" : {
            "title" : "Complex number",
            "type" : "string",
            "default" : "MAGNITUDE_AND_PHASE",
            "enum" : [ "REAL_AND_IMAGINARY" ],
            "x-showWhen" : [ "type == HARMONIC_ANALYSIS" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.StrainResultControlItem" : {
        "title" : "Strain",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: StrainResultControlItem",
            "default" : "STRAIN"
          },
          "name" : {
            "title" : "Name",
            "pattern" : "^[A-Za-z()][-+0-9a-zA-Z_()\\h]{0,199}$",
            "type" : "string",
            "x-conditionalDefaults" : [ {
              "when" : [ "type in [DYNAMIC_ANALYSIS,HARMONIC_ANALYSIS]" ],
              "default" : "Total nonlinear strain"
            }, {
              "when" : [ "type == STATIC_ANALYSIS && nonLinearAnalysis == true", "type == THERMAL_MECHANICAL && nonLinearAnalysis == true" ],
              "default" : "Total nonlinear strain"
            }, {
              "when" : [ "type == STATIC_ANALYSIS && nonLinearAnalysis == false", "type == THERMAL_MECHANICAL && nonLinearAnalysis == false" ],
              "default" : "Total strain"
            } ]
          },
          "strainType" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_StrainResultControlItemStrainType"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.GlobalTotalNonlinearStrainType" : {
        "title" : "Total nonlinear strain",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: GlobalTotalNonlinearStrainType",
            "default" : "TOTAL_NONLINEAR"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.GlobalTotalEquivalentPlasticStrainType" : {
        "title" : "Cumulative plastic strain",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: GlobalTotalEquivalentPlasticStrainType",
            "default" : "TOTAL_EQUI_PLASTIC"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.GlobalUnelasticStrainType" : {
        "title" : "Unelastic strain",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: GlobalUnelasticStrainType",
            "default" : "UNELASTIC"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.GlobalTotalStrainType" : {
        "title" : "Total strain",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: GlobalTotalStrainType",
            "default" : "TOTAL"
          },
          "complexNumber" : {
            "title" : "Complex number",
            "type" : "string",
            "default" : "MAGNITUDE_AND_PHASE",
            "enum" : [ "REAL_AND_IMAGINARY", "MAGNITUDE_AND_PHASE" ],
            "x-showWhen" : [ "type == HARMONIC_ANALYSIS" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.GlobalPrincipalStrainType" : {
        "title" : "Principal strain (Engineering)",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: GlobalPrincipalStrainType",
            "default" : "PRINCIPAL"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.GlobalPrincipalGreenLagrangeStrainType" : {
        "title" : "Principal strain (Green-Lagrange)",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: GlobalPrincipalGreenLagrangeStrainType",
            "default" : "PRINCIPAL_GREEN_LAGRANGE"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.StressResultControlItem" : {
        "title" : "Stress",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: StressResultControlItem",
            "default" : "STRESS"
          },
          "name" : {
            "title" : "Name",
            "pattern" : "^[A-Za-z()][-+0-9a-zA-Z_()\\h]{0,199}$",
            "type" : "string"
          },
          "stressType" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_StressResultControlItemStressType"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.GlobalTrescaStressType" : {
        "title" : "Tresca stress",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: GlobalTrescaStressType",
            "default" : "TRESCA"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.GlobalCauchyStressType" : {
        "title" : "Cauchy stress",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: GlobalCauchyStressType",
            "default" : "CAUCHY"
          },
          "complexNumber" : {
            "title" : "Complex number",
            "type" : "string",
            "default" : "MAGNITUDE_AND_PHASE",
            "enum" : [ "REAL_AND_IMAGINARY", "MAGNITUDE_AND_PHASE" ],
            "x-showWhen" : [ "type == HARMONIC_ANALYSIS" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.GlobalPrincipalStressType" : {
        "title" : "Principal stress",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: GlobalPrincipalStressType",
            "default" : "PRINCIPAL"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.GlobalVonMisesStressType" : {
        "title" : "Von Mises stress",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: GlobalVonMisesStressType",
            "default" : "VON_MISES"
          },
          "complexNumber" : {
            "title" : "Complex number",
            "type" : "string",
            "default" : "REAL_AND_IMAGINARY",
            "enum" : [ "REAL_AND_IMAGINARY" ],
            "x-showWhen" : [ "type == HARMONIC_ANALYSIS" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.GlobalMaxOverPhaseVonMisesStressType" : {
        "title" : "Von Mises stress (Max over Phase)",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: GlobalMaxOverPhaseVonMisesStressType",
            "default" : "MAX_OVER_PHASE_VON_MISES"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.GlobalSignedVonMisesStressType" : {
        "title" : "Signed von Mises stress",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: GlobalSignedVonMisesStressType",
            "default" : "SIGNED_VON_MISES"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.VelocityResultControlItem" : {
        "title" : "Velocity",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: VelocityResultControlItem",
            "default" : "VELOCITY"
          },
          "name" : {
            "title" : "Name",
            "pattern" : "^[A-Za-z()][-+0-9a-zA-Z_()\\h]{0,199}$",
            "type" : "string"
          },
          "velocityType" : {
            "$ref" : "#/components/schemas/Simulation.GlobalVelocityType"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.GlobalVelocityType" : {
        "title" : "Velocity",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: GlobalVelocityType",
            "default" : "GLOBAL"
          },
          "complexNumber" : {
            "title" : "Complex number",
            "type" : "string",
            "default" : "MAGNITUDE_AND_PHASE",
            "enum" : [ "REAL_AND_IMAGINARY", "MAGNITUDE_AND_PHASE" ],
            "x-showWhen" : [ "type == HARMONIC_ANALYSIS" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.HarmonicVelocityResultControlItem" : {
        "title" : "Velocity",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: HarmonicVelocityResultControlItem",
            "default" : "HARMONIC_VELOCITY"
          },
          "name" : {
            "title" : "Name",
            "pattern" : "^[A-Za-z()][-+0-9a-zA-Z_()\\h]{0,199}$",
            "type" : "string"
          },
          "harmonicVelocityType" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_HarmonicVelocityResultControlItemHarmonicVelocityType"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.AbsoluteHarmonicVelocityType" : {
        "title" : "Absolute",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: AbsoluteHarmonicVelocityType",
            "default" : "ABSOLUTE"
          },
          "complexNumber" : {
            "title" : "Complex number",
            "type" : "string",
            "default" : "MAGNITUDE_AND_PHASE",
            "enum" : [ "REAL_AND_IMAGINARY", "MAGNITUDE_AND_PHASE" ],
            "x-showWhen" : [ "type == HARMONIC_ANALYSIS" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.RelativeHarmonicVelocityType" : {
        "title" : "Relative",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: RelativeHarmonicVelocityType",
            "default" : "RELATIVE"
          },
          "complexNumber" : {
            "title" : "Complex number",
            "type" : "string",
            "default" : "MAGNITUDE_AND_PHASE",
            "enum" : [ "REAL_AND_IMAGINARY", "MAGNITUDE_AND_PHASE" ],
            "x-showWhen" : [ "type == HARMONIC_ANALYSIS" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.AccelerationResultControlItem" : {
        "title" : "Acceleration",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: AccelerationResultControlItem",
            "default" : "ACCELERATION"
          },
          "name" : {
            "title" : "Name",
            "pattern" : "^[A-Za-z()][-+0-9a-zA-Z_()\\h]{0,199}$",
            "type" : "string"
          },
          "accelerationType" : {
            "$ref" : "#/components/schemas/Simulation.GlobalAccelerationType"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.GlobalAccelerationType" : {
        "title" : "Acceleration",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: GlobalAccelerationType",
            "default" : "GLOBAL"
          },
          "complexNumber" : {
            "title" : "Complex number",
            "type" : "string",
            "default" : "MAGNITUDE_AND_PHASE",
            "enum" : [ "REAL_AND_IMAGINARY", "MAGNITUDE_AND_PHASE" ],
            "x-showWhen" : [ "type == HARMONIC_ANALYSIS" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.HarmonicAccelerationResultControlItem" : {
        "title" : "Acceleration",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: HarmonicAccelerationResultControlItem",
            "default" : "HARMONIC_ACCELERATION"
          },
          "name" : {
            "title" : "Name",
            "pattern" : "^[A-Za-z()][-+0-9a-zA-Z_()\\h]{0,199}$",
            "type" : "string"
          },
          "harmonicAccelerationType" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_HarmonicAccelerationResultControlItemHarmonicAccelerationType"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.AbsoluteHarmonicAccelerationType" : {
        "title" : "Absolute",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: AbsoluteHarmonicAccelerationType",
            "default" : "ABSOLUTE"
          },
          "complexNumber" : {
            "title" : "Complex number",
            "type" : "string",
            "default" : "MAGNITUDE_AND_PHASE",
            "enum" : [ "REAL_AND_IMAGINARY", "MAGNITUDE_AND_PHASE" ],
            "x-showWhen" : [ "type == HARMONIC_ANALYSIS" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.RelativeHarmonicAccelerationType" : {
        "title" : "Relative",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: RelativeHarmonicAccelerationType",
            "default" : "RELATIVE"
          },
          "complexNumber" : {
            "title" : "Complex number",
            "type" : "string",
            "default" : "MAGNITUDE_AND_PHASE",
            "enum" : [ "REAL_AND_IMAGINARY", "MAGNITUDE_AND_PHASE" ],
            "x-showWhen" : [ "type == HARMONIC_ANALYSIS" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.TemperatureResultControlItem" : {
        "title" : "Temperature",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: TemperatureResultControlItem",
            "default" : "TEMPERATURE"
          },
          "name" : {
            "title" : "Name",
            "pattern" : "^[A-Za-z()][-+0-9a-zA-Z_()\\h]{0,199}$",
            "type" : "string"
          },
          "temperatureType" : {
            "title" : "Temperature type",
            "type" : "string",
            "default" : "FIELD",
            "enum" : [ "FIELD" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.HeatFluxResultControlItem" : {
        "title" : "Heat flux",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: HeatFluxResultControlItem",
            "default" : "HEAT_FLUX"
          },
          "name" : {
            "title" : "Name",
            "pattern" : "^[A-Za-z()][-+0-9a-zA-Z_()\\h]{0,199}$",
            "type" : "string"
          },
          "heatFluxType" : {
            "title" : "Heat flux type",
            "type" : "string",
            "default" : "FIELD",
            "enum" : [ "FIELD" ],
            "x-showWhen" : [ "type in [HEAT_TRANSFER,THERMAL_MECHANICAL]" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.ERPDensityResultControlItem" : {
        "title" : "ERP Density",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: ERPDensityResultControlItem",
            "default" : "ERP_DENSITY"
          },
          "name" : {
            "title" : "Name",
            "pattern" : "^[A-Za-z()][-+0-9a-zA-Z_()\\h]{0,199}$",
            "type" : "string"
          },
          "densityType" : {
            "$ref" : "#/components/schemas/Simulation.EquivalentRadiatedPowerDensityType"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.EquivalentRadiatedPowerDensityType" : {
        "title" : "ERP Density",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: EquivalentRadiatedPowerDensityType",
            "default" : "ERP"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.MinMaxFieldsCalculationResultControlItem" : {
        "title" : "Min-max",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: MinMaxFieldsCalculationResultControlItem",
            "default" : "MIN_MAX_FIELDS_CALCULATION"
          },
          "name" : {
            "title" : "Name",
            "pattern" : "^[A-Za-z()][-+0-9a-zA-Z_()\\h]{0,199}$",
            "type" : "string"
          },
          "fieldSelection" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_MinMaxFieldsCalculationResultControlItemFieldSelection"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.DisplacementFieldSelection" : {
        "title" : "Displacement",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: DisplacementFieldSelection",
            "default" : "DISPLACEMENT"
          },
          "displacementType" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_DisplacementFieldSelectionDisplacementType"
          },
          "componentSelection" : {
            "title" : "Component selection",
            "type" : "string",
            "default" : "ALL",
            "enum" : [ "X", "Y", "Z", "ALL" ]
          },
          "outputMethod" : {
            "title" : "Output Method",
            "type" : "string",
            "description" : "<p>This option allows to control the output frequency and accuracy:</p><ul><li><p><b>Post simulation:</b> Point data output is synchronised with global solution fields. Data is interpolated from nodes surrounding the geometry primitive.</p></ul><ul><li><p><b>Live:</b> Point data is output continuously during the simulation at all computed timesteps. Data is taken directly from the nearest mesh node and no interpolation is performed.</p></ul>",
            "default" : "POST_SIMULATION",
            "enum" : [ "POST_SIMULATION", "LIVE" ],
            "x-showWhen" : [ "type == STATIC_ANALYSIS && nonLinearAnalysis == true", "type == THERMAL_MECHANICAL && nonLinearAnalysis == true", "type == DYNAMIC_ANALYSIS" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.AbsoluteHarmonicDisplacementFieldType" : {
        "title" : "Absolute",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: AbsoluteHarmonicDisplacementFieldType",
            "default" : "ABSOLUTE"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.RelativeHarmonicDisplacementFieldType" : {
        "title" : "Relative",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: RelativeHarmonicDisplacementFieldType",
            "default" : "RELATIVE"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.ForceFieldSelection" : {
        "title" : "Force",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: ForceFieldSelection",
            "default" : "FORCE"
          },
          "forceType" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_ForceFieldSelectionForceType"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.ReactionForceType" : {
        "title" : "Reaction",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: ReactionForceType",
            "default" : "REACTION"
          },
          "componentSelection" : {
            "title" : "Component selection",
            "type" : "string",
            "default" : "ALL",
            "enum" : [ "X", "Y", "Z", "ALL" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.NodalForceType" : {
        "title" : "Nodal",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: NodalForceType",
            "default" : "NODAL"
          },
          "componentSelection" : {
            "title" : "Component selection",
            "type" : "string",
            "default" : "ALL",
            "enum" : [ "X", "Y", "Z", "ALL" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.ContactFieldSelection" : {
        "title" : "Contact",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: ContactFieldSelection",
            "default" : "CONTACT"
          },
          "contactType" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_ContactFieldSelectionContactType"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.ContactPressureType" : {
        "title" : "Pressure",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: ContactPressureType",
            "default" : "PRESSURE"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.ContactNormalForceType" : {
        "title" : "Normal force",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: ContactNormalForceType",
            "default" : "NORMAL_FORCE"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.ContactGapType" : {
        "title" : "Gap",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: ContactGapType",
            "default" : "GAP"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.ContactStateType" : {
        "title" : "State",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: ContactStateType",
            "default" : "STATE"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.StrainFieldSelection" : {
        "title" : "Strain",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: StrainFieldSelection",
            "default" : "STRAIN"
          },
          "strainType" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_StrainFieldSelectionStrainType"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.TotalLinearStrainType" : {
        "title" : "Total linear",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: TotalLinearStrainType",
            "default" : "TOTAL_LINEAR"
          },
          "componentSelection" : {
            "title" : "Component selection",
            "type" : "string",
            "default" : "ALL",
            "enum" : [ "XX", "YY", "ZZ", "XY", "XZ", "YZ", "ALL" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.TotalNonLinearStrainType" : {
        "title" : "Total nonlinear",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: TotalNonLinearStrainType",
            "default" : "TOTAL_NONLINEAR"
          },
          "componentSelection" : {
            "title" : "Component selection",
            "type" : "string",
            "default" : "ALL",
            "enum" : [ "XX", "YY", "ZZ", "XY", "XZ", "YZ", "ALL" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.TotalEquivalentPlasticStrainType" : {
        "title" : "Cumulative plastic strain",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: TotalEquivalentPlasticStrainType",
            "default" : "TOTAL_EQUI_PLASTIC"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.UnelasticStrainType" : {
        "title" : "Unelastic",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: UnelasticStrainType",
            "default" : "UNELASTIC"
          },
          "componentSelection" : {
            "title" : "Component selection",
            "type" : "string",
            "default" : "ALL",
            "enum" : [ "XX", "YY", "ZZ", "XY", "XZ", "YZ", "ALL" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.PrincipalStrainType" : {
        "title" : "Principal (Engineering)",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: PrincipalStrainType",
            "default" : "PRINCIPAL"
          },
          "componentSelection" : {
            "title" : "Component selection",
            "type" : "string",
            "default" : "ALL",
            "enum" : [ "FIRST_COMPONENT", "SECOND_COMPONENT", "THIRD_COMPONENT", "ALL" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.PrincipalGreenLagrangeStrainType" : {
        "title" : "Principal (Green-Lagrange)",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: PrincipalGreenLagrangeStrainType",
            "default" : "PRINCIPAL_GREEN_LAGRANGE"
          },
          "componentSelection" : {
            "title" : "Component selection",
            "type" : "string",
            "default" : "ALL",
            "enum" : [ "FIRST_COMPONENT", "SECOND_COMPONENT", "THIRD_COMPONENT", "ALL" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.StressFieldSelection" : {
        "title" : "Stress",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: StressFieldSelection",
            "default" : "STRESS"
          },
          "stressType" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_StressFieldSelectionStressType"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.TrescaStressType" : {
        "title" : "Tresca",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: TrescaStressType",
            "default" : "TRESCA"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.CauchyStressType" : {
        "title" : "Cauchy",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: CauchyStressType",
            "default" : "CAUCHY"
          },
          "componentSelection" : {
            "title" : "Component selection",
            "type" : "string",
            "default" : "ALL",
            "enum" : [ "XX", "YY", "ZZ", "XY", "XZ", "YZ", "ALL" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.PrincipalStressType" : {
        "title" : "Principal",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: PrincipalStressType",
            "default" : "PRINCIPAL"
          },
          "componentSelection" : {
            "title" : "Component selection",
            "type" : "string",
            "default" : "ALL",
            "enum" : [ "FIRST_COMPONENT", "SECOND_COMPONENT", "THIRD_COMPONENT", "ALL" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.VonMisesStressType" : {
        "title" : "Von Mises",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: VonMisesStressType",
            "default" : "VON_MISES"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.SignedVonMisesStressType" : {
        "title" : "Signed von Mises",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: SignedVonMisesStressType",
            "default" : "SIGNED_VON_MISES"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.VelocityFieldSelection" : {
        "title" : "Velocity",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: VelocityFieldSelection",
            "default" : "VELOCITY"
          },
          "velocityType" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_VelocityFieldSelectionVelocityType"
          },
          "componentSelection" : {
            "title" : "Component selection",
            "type" : "string",
            "default" : "ALL",
            "enum" : [ "X", "Y", "Z", "ALL" ]
          },
          "outputMethod" : {
            "title" : "Output Method",
            "type" : "string",
            "description" : "<p>This option allows to control the output frequency and accuracy:</p><ul><li><p><b>Post simulation:</b> Point data output is synchronised with global solution fields. Data is interpolated from nodes surrounding the geometry primitive.</p></ul><ul><li><p><b>Live:</b> Point data is output continuously during the simulation at all computed timesteps. Data is taken directly from the nearest mesh node and no interpolation is performed.</p></ul>",
            "default" : "POST_SIMULATION",
            "enum" : [ "POST_SIMULATION", "LIVE" ],
            "x-showWhen" : [ "type == THERMAL_MECHANICAL && inertiaEffect == DYNAMIC", "type == DYNAMIC_ANALYSIS" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.AbsoluteHarmonicVelocityFieldType" : {
        "title" : "Absolute",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: AbsoluteHarmonicVelocityFieldType",
            "default" : "ABSOLUTE"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.RelativeHarmonicVelocityFieldType" : {
        "title" : "Relative",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: RelativeHarmonicVelocityFieldType",
            "default" : "RELATIVE"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.AccelerationFieldSelection" : {
        "title" : "Acceleration",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: AccelerationFieldSelection",
            "default" : "ACCELERATION"
          },
          "accelerationType" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_AccelerationFieldSelectionAccelerationType"
          },
          "componentSelection" : {
            "title" : "Component selection",
            "type" : "string",
            "default" : "ALL",
            "enum" : [ "X", "Y", "Z", "ALL" ]
          },
          "outputMethod" : {
            "title" : "Output Method",
            "type" : "string",
            "description" : "<p>This option allows to control the output frequency and accuracy:</p><ul><li><p><b>Post simulation:</b> Point data output is synchronised with global solution fields. Data is interpolated from nodes surrounding the geometry primitive.</p></ul><ul><li><p><b>Live:</b> Point data is output continuously during the simulation at all computed timesteps. Data is taken directly from the nearest mesh node and no interpolation is performed.</p></ul>",
            "default" : "POST_SIMULATION",
            "enum" : [ "POST_SIMULATION", "LIVE" ],
            "x-showWhen" : [ "type == THERMAL_MECHANICAL && inertiaEffect == DYNAMIC", "type == DYNAMIC_ANALYSIS" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.AbsoluteHarmonicAccelerationFieldType" : {
        "title" : "Absolute",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: AbsoluteHarmonicAccelerationFieldType",
            "default" : "ABSOLUTE"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.RelativeHarmonicAccelerationFieldType" : {
        "title" : "Relative",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: RelativeHarmonicAccelerationFieldType",
            "default" : "RELATIVE"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.TemperatureFieldSelection" : {
        "title" : "Temperature",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: TemperatureFieldSelection",
            "default" : "TEMPERATURE"
          },
          "componentSelection" : {
            "title" : "Component selection",
            "type" : "string",
            "default" : "TEMPERATURE",
            "enum" : [ "TEMPERATURE" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.HeatFluxFieldSelection" : {
        "title" : "Heat flux",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: HeatFluxFieldSelection",
            "default" : "HEAT_FLUX"
          },
          "componentSelection" : {
            "title" : "Component selection",
            "type" : "string",
            "default" : "ALL",
            "enum" : [ "X", "Y", "Z", "ALL" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.AverageFieldsCalculationResultControlItem" : {
        "title" : "Average",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: AverageFieldsCalculationResultControlItem",
            "default" : "AVERAGE_FIELDS_CALCULATION"
          },
          "name" : {
            "title" : "Name",
            "pattern" : "^[A-Za-z()][-+0-9a-zA-Z_()\\h]{0,199}$",
            "type" : "string"
          },
          "fieldSelection" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_AverageFieldsCalculationResultControlItemFieldSelection"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.SumFieldsCalculationResultControlItem" : {
        "title" : "Sum",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: SumFieldsCalculationResultControlItem",
            "default" : "SUM_FIELDS_CALCULATION"
          },
          "name" : {
            "title" : "Name",
            "pattern" : "^[A-Za-z()][-+0-9a-zA-Z_()\\h]{0,199}$",
            "type" : "string"
          },
          "fieldSelection" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_SumFieldsCalculationResultControlItemFieldSelection"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.MomentFieldSelection" : {
        "title" : "Moment",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: MomentFieldSelection",
            "default" : "MOMENT"
          },
          "momentType" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_MomentFieldSelectionMomentType"
          },
          "referencePoint" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalVector_Length"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.ReactionMomentType" : {
        "title" : "Reaction",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: ReactionMomentType",
            "default" : "REACTION"
          },
          "componentSelection" : {
            "title" : "Component selection",
            "type" : "string",
            "default" : "ALL",
            "enum" : [ "X", "Y", "Z", "ALL" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.NodalMomentType" : {
        "title" : "Nodal",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: NodalMomentType",
            "default" : "NODAL"
          },
          "componentSelection" : {
            "title" : "Component selection",
            "type" : "string",
            "default" : "ALL",
            "enum" : [ "X", "Y", "Z", "ALL" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.HeatFlowCalculationResultControlItem" : {
        "title" : "Heat flow",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: HeatFlowCalculationResultControlItem",
            "default" : "HEAT_FLOW_CALCULATION"
          },
          "name" : {
            "title" : "Name",
            "pattern" : "^[A-Za-z()][-+0-9a-zA-Z_()\\h]{0,199}$",
            "type" : "string"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.ERPCalculationResultControlItem" : {
        "title" : "Equivalent radiated power",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: ERPCalculationResultControlItem",
            "default" : "ERP_CALCULATION"
          },
          "name" : {
            "title" : "Name",
            "pattern" : "^[A-Za-z()][-+0-9a-zA-Z_()\\h]{0,199}$",
            "type" : "string"
          },
          "fieldSelection" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_ERPCalculationResultControlItemFieldSelection"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.AbsoluteERPFieldSelection" : {
        "title" : "Absolute",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: AbsoluteERPFieldSelection",
            "default" : "ABSOLUTE_ERP"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.RelativeERPFieldSelection" : {
        "title" : "Relative",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: RelativeERPFieldSelection",
            "default" : "RELATIVE_ERP"
          },
          "referenceERPValue" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Power"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.Dimensional_Power" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "title" : "Value",
            "type" : "number"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "W", "Btu/s", "kW", "MW", "HP", "CV", "Btu/min", "Btu/h" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.TemporalResponseResultControlItem" : {
        "title" : "Point data",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: TemporalResponseResultControlItem",
            "default" : "TEMPORAL_RESPONSE"
          },
          "name" : {
            "title" : "Name",
            "pattern" : "^[A-Za-z()][-+0-9a-zA-Z_()\\h]{0,199}$",
            "type" : "string"
          },
          "fieldSelection" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_TemporalResponseResultControlItemFieldSelection"
          },
          "geometryPrimitiveUuids" : {
            "title" : "Geometry primitives",
            "type" : "array",
            "items" : {
              "type" : "string",
              "format" : "uuid"
            },
            "x-showWhen" : [ "type in [STATIC_ANALYSIS,DYNAMIC_ANALYSIS,HEAT_TRANSFER,THERMAL_MECHANICAL]" ],
            "x-referencedPrimitivesOptions" : {
              "allowMultiple" : false,
              "pathToPrimitives" : "geometryPrimitives",
              "allowedReferencedPrimitiveTypes" : [ "POINT" ]
            }
          }
        },
        "additionalProperties" : false
      },
      "Simulation.HarmonicResponseResultControlItem" : {
        "title" : "Point data",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: HarmonicResponseResultControlItem",
            "default" : "HARMONIC_RESPONSE"
          },
          "name" : {
            "title" : "Name",
            "pattern" : "^[A-Za-z()][-+0-9a-zA-Z_()\\h]{0,199}$",
            "type" : "string"
          },
          "fieldSelection" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_HarmonicResponseResultControlItemFieldSelection"
          },
          "complexNumber" : {
            "title" : "Complex number",
            "type" : "string",
            "default" : "REAL_AND_IMAGINARY",
            "enum" : [ "REAL_AND_IMAGINARY", "MAGNITUDE_AND_PHASE" ],
            "x-showWhen" : [ "type == HARMONIC_ANALYSIS" ]
          },
          "geometryPrimitiveUuids" : {
            "title" : "Geometry primitives",
            "type" : "array",
            "items" : {
              "type" : "string",
              "format" : "uuid"
            },
            "x-showWhen" : [ "type == HARMONIC_ANALYSIS" ],
            "x-referencedPrimitivesOptions" : {
              "allowMultiple" : false,
              "pathToPrimitives" : "geometryPrimitives",
              "allowedReferencedPrimitiveTypes" : [ "POINT" ]
            }
          }
        },
        "additionalProperties" : false
      },
      "Simulation.DynamicAnalysis" : {
        "title" : "Dynamic",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: DynamicAnalysis",
            "default" : "DYNAMIC_ANALYSIS"
          },
          "connectionGroups" : {
            "title" : "Connection groups",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.OneOf_DynamicAnalysisConnectionGroups"
            }
          },
          "connectors" : {
            "title" : "Connectors",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.OneOf_DynamicAnalysisConnectors"
            }
          },
          "elementTechnology" : {
            "$ref" : "#/components/schemas/Simulation.SolidElementTechnology"
          },
          "model" : {
            "$ref" : "#/components/schemas/Simulation.SolidModel"
          },
          "materials" : {
            "title" : "Materials",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.SolidMaterial"
            }
          },
          "initialConditions" : {
            "$ref" : "#/components/schemas/Simulation.SolidInitialConditions"
          },
          "boundaryConditions" : {
            "title" : "Boundary conditions",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.OneOf_DynamicAnalysisBoundaryConditions"
            }
          },
          "numerics" : {
            "$ref" : "#/components/schemas/Simulation.SolidNumerics"
          },
          "simulationControl" : {
            "$ref" : "#/components/schemas/Simulation.SolidSimulationControl"
          },
          "resultControl" : {
            "$ref" : "#/components/schemas/Simulation.SolidResultControl"
          },
          "meshOrder" : {
            "title" : "Mesh order",
            "type" : "string",
            "default" : "NONE",
            "enum" : [ "FIRST", "SECOND", "NONE" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.HeatTransfer" : {
        "title" : "Heat Transfer",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: HeatTransfer",
            "default" : "HEAT_TRANSFER"
          },
          "timeDependency" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_HeatTransferTimeDependency"
          },
          "nonLinearAnalysis" : {
            "title" : "Nonlinear analysis",
            "type" : "boolean",
            "description" : "<p>Choose if your analysis should feature any kind of <b>nonlinearity</b> like <b>physical contacts, nonlinear materials</b> as hyperelasticity or plasticity or <b>large rotations</b> and <b>large deformations, temperature dependant material properties</b> or <b>temperature dependant boundary conditions</b>. For a <b>linear analysis</b> none of those nonlinearities are available.</p>",
            "default" : false
          },
          "connectionGroups" : {
            "title" : "Connection groups",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.Contact"
            }
          },
          "elementTechnology" : {
            "$ref" : "#/components/schemas/Simulation.SolidElementTechnology"
          },
          "model" : {
            "$ref" : "#/components/schemas/Simulation.SolidModel"
          },
          "materials" : {
            "title" : "Materials",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.SolidMaterial"
            }
          },
          "initialConditions" : {
            "$ref" : "#/components/schemas/Simulation.SolidInitialConditions"
          },
          "boundaryConditions" : {
            "title" : "Boundary conditions",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.OneOf_HeatTransferBoundaryConditions"
            }
          },
          "numerics" : {
            "$ref" : "#/components/schemas/Simulation.SolidNumerics"
          },
          "simulationControl" : {
            "$ref" : "#/components/schemas/Simulation.SolidSimulationControl"
          },
          "resultControl" : {
            "$ref" : "#/components/schemas/Simulation.SolidResultControl"
          },
          "meshOrder" : {
            "title" : "Mesh order",
            "type" : "string",
            "default" : "NONE",
            "enum" : [ "FIRST", "SECOND", "NONE" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.TransientTimeDependency" : {
        "title" : "Transient",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: TransientTimeDependency",
            "default" : "TRANSIENT"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.StationaryTimeDependency" : {
        "title" : "Steady-state",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: StationaryTimeDependency",
            "default" : "STATIONARY"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.FixedTemperatureValueBC" : {
        "title" : "Fixed temperature value",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "This is a boundary condition for the <b>temperature</b> variable. It prescribes the given temperature value on all selected groups.<br /><br />Important remarks: <br /><ul><li>Do not define a temperature and a heat flux boundary condition on the same group</li><li>Do not define the temperature on slave entities of <b>Contact Constraints</b> as they are constrained by the master temperature</li><li>You may define a <b>parameter dependent (x,y,z,t)</b> value by defining a formula or uploading a table (csv-file)</li></ul>\n\nSchema name: FixedTemperatureValueBC",
            "default" : "FIXED_TEMPERATURE_VALUE"
          },
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "temperatureValue" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_Temperature"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          }
        },
        "additionalProperties" : false,
        "description" : "This is a boundary condition for the <b>temperature</b> variable. It prescribes the given temperature value on all selected groups.<br /><br />Important remarks: <br /><ul><li>Do not define a temperature and a heat flux boundary condition on the same group</li><li>Do not define the temperature on slave entities of <b>Contact Constraints</b> as they are constrained by the master temperature</li><li>You may define a <b>parameter dependent (x,y,z,t)</b> value by defining a formula or uploading a table (csv-file)</li></ul>"
      },
      "Simulation.SurfaceHeatFluxBC" : {
        "title" : "Surface heat flux",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Define the heatflux per unit area that enters the body through the assigned faces. Negative sign determines flux leaving the body.\n\nSchema name: SurfaceHeatFluxBC",
            "default" : "SURFACE_HEAT_FLUX"
          },
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "heatfluxValue" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_HeatFlux"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          }
        },
        "additionalProperties" : false,
        "description" : "Define the heatflux per unit area that enters the body through the assigned faces. Negative sign determines flux leaving the body."
      },
      "Simulation.DimensionalFunction_HeatFlux" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_DimensionalFunction_HeatFluxValue"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "W/m²", "Btu/(s·in²)", "W/mm²", "W/cm²", "Btu/(h·ft²)", "Btu/(min·ft²)", "Btu/(s·ft²)", "Btu/(h·in²)", "Btu/(min·in²)" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.VariableGroup_X_Y_Z_TIME_TEMP" : {
        "type" : "object",
        "properties" : {
          "T" : {
            "$ref" : "#/components/schemas/Simulation.Unit_Time"
          },
          "Temperature" : {
            "$ref" : "#/components/schemas/Simulation.Unit_Temperature"
          },
          "X" : {
            "$ref" : "#/components/schemas/Simulation.Unit_Length"
          },
          "Y" : {
            "$ref" : "#/components/schemas/Simulation.Unit_Length"
          },
          "Z" : {
            "$ref" : "#/components/schemas/Simulation.Unit_Length"
          }
        }
      },
      "Simulation.ConvectiveHeatFluxBC" : {
        "title" : "Convective heat flux",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "This is a <b>heat flux</b> boundary condition representing a <b>convective heat flux</b> on the selected face groups. It is defined by the <b>reference temperature</b> (surrounding temperature) and the <b>convection coefficient</b>.<br /><br />Important remarks: <br /><ul><li>The convection coefficient is not only dependent on the material of the surrounding fluid but a property of the flow</li><li>You may define a <b>parameter dependent (x,y,z,t)</b> value by defining a formula or uploading a table (csv-file) for the <b>reference temperature</b> and the <b>convection coefficient</b></li></ul>\n\nSchema name: ConvectiveHeatFluxBC",
            "default" : "CONVECTIVE_HEAT_FLUX"
          },
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "referenceTemperature" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_Temperature"
          },
          "heatTransferCoefficient" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_ThermalTransmittance"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          }
        },
        "additionalProperties" : false,
        "description" : "This is a <b>heat flux</b> boundary condition representing a <b>convective heat flux</b> on the selected face groups. It is defined by the <b>reference temperature</b> (surrounding temperature) and the <b>convection coefficient</b>.<br /><br />Important remarks: <br /><ul><li>The convection coefficient is not only dependent on the material of the surrounding fluid but a property of the flow</li><li>You may define a <b>parameter dependent (x,y,z,t)</b> value by defining a formula or uploading a table (csv-file) for the <b>reference temperature</b> and the <b>convection coefficient</b></li></ul>"
      },
      "Simulation.DimensionalFunction_ThermalTransmittance" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_DimensionalFunction_ThermalTransmittanceValue"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "W/(K·m²)", "Btu/(s·in²·°F)", "W/(K·mm²)", "W/(K·cm²)", "Btu/(h·in²·°F)", "Btu/(min·in²·°F)", "Btu/(s·ft²·°F)", "Btu/(min·ft²·°F)" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.VolumeHeatFluxBC" : {
        "title" : "Volume heat flux",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "This is a <b>volume heat source</b> boundary condition. It is applied to the <b>volume elements</b> in the selected volumes or volume groups.<br /><br />Important remarks: <br /><ul><li>The total heat generated depends on the volume of the selection as the value is given as Watt per cubic meter.</li><li>For positive values heat is generated, for negative values the bc represents a heat sink.</li><li>You may define a <b>parameter dependent (x,y,z,t)</b> value by defining a formula or uploading a table (csv-file)</li></ul>\n\nSchema name: VolumeHeatFluxBC",
            "default" : "VOLUME_HEAT_FLUX"
          },
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "heatfluxValue" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_VolumetricPower"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          }
        },
        "additionalProperties" : false,
        "description" : "This is a <b>volume heat source</b> boundary condition. It is applied to the <b>volume elements</b> in the selected volumes or volume groups.<br /><br />Important remarks: <br /><ul><li>The total heat generated depends on the volume of the selection as the value is given as Watt per cubic meter.</li><li>For positive values heat is generated, for negative values the bc represents a heat sink.</li><li>You may define a <b>parameter dependent (x,y,z,t)</b> value by defining a formula or uploading a table (csv-file)</li></ul>"
      },
      "Simulation.DimensionalFunction_VolumetricPower" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_DimensionalFunction_VolumetricPowerValue"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "W/m³", "Btu/(s·in³)" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.ThermalMechanical" : {
        "title" : "Thermomechanical",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: ThermalMechanical",
            "default" : "THERMAL_MECHANICAL"
          },
          "timeDependency" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_ThermalMechanicalTimeDependency"
          },
          "inertiaEffect" : {
            "title" : "Inertia effect",
            "type" : "string",
            "description" : "<p>Select if inertia effects should be considered in the analysis. If high loading accelerations or impacts are present then <b>dynamic</b> is the right choice for this parameter. If the dynamic effects are negligible, <b>static</b> should be selected.</p>",
            "default" : "STATIC",
            "x-conditionalEnum" : [ {
              "value" : "STATIC"
            }, {
              "value" : "DYNAMIC",
              "when" : [ "timeDependency.type == TRANSIENT" ]
            } ]
          },
          "nonLinearAnalysis" : {
            "title" : "Nonlinear analysis",
            "type" : "boolean",
            "description" : "<p>Choose if your analysis should feature any kind of <b>nonlinearity</b> like <b>physical contacts, nonlinear materials</b> as hyperelasticity or plasticity or <b>large rotations</b> and <b>large deformations, temperature dependant material properties</b> or <b>temperature dependant boundary conditions</b>. For a <b>linear analysis</b> none of those nonlinearities are available.</p>",
            "default" : false,
            "x-conditionalEnum" : [ {
              "value" : true,
              "when" : [ "timeDependency.type == TRANSIENT && inertiaEffect == STATIC" ]
            }, {
              "value" : true,
              "when" : [ "timeDependency.type == TRANSIENT && inertiaEffect == DYNAMIC" ]
            }, {
              "value" : false,
              "when" : [ "timeDependency.type == STATIONARY && inertiaEffect == STATIC" ]
            }, {
              "value" : false,
              "when" : [ "timeDependency.type == TRANSIENT && inertiaEffect == STATIC" ]
            } ]
          },
          "connectionGroups" : {
            "title" : "Connection groups",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.OneOf_ThermalMechanicalConnectionGroups"
            }
          },
          "connectors" : {
            "title" : "Connectors",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.PinConnector"
            }
          },
          "elementTechnology" : {
            "$ref" : "#/components/schemas/Simulation.SolidElementTechnology"
          },
          "model" : {
            "$ref" : "#/components/schemas/Simulation.SolidModel"
          },
          "materials" : {
            "title" : "Materials",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.SolidMaterial"
            }
          },
          "initialConditions" : {
            "$ref" : "#/components/schemas/Simulation.SolidInitialConditions"
          },
          "boundaryConditions" : {
            "title" : "Boundary conditions",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.OneOf_ThermalMechanicalBoundaryConditions"
            }
          },
          "numerics" : {
            "$ref" : "#/components/schemas/Simulation.SolidNumerics"
          },
          "simulationControl" : {
            "$ref" : "#/components/schemas/Simulation.SolidSimulationControl"
          },
          "resultControl" : {
            "$ref" : "#/components/schemas/Simulation.SolidResultControl"
          },
          "meshOrder" : {
            "title" : "Mesh order",
            "type" : "string",
            "default" : "NONE",
            "enum" : [ "FIRST", "SECOND", "NONE" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.Incompressible" : {
        "title" : "Incompressible",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: Incompressible",
            "default" : "INCOMPRESSIBLE"
          },
          "turbulenceModel" : {
            "title" : "Turbulence model",
            "type" : "string",
            "description" : "Choose a turbulence model for your CFD analysis:<ul><li><strong>No turbulence</strong>: Laminar</li><li><strong>RANS</strong>: <a href='https://www.simscale.com/docs/simulation-setup/global-settings/k-epsilon/#standard-k-epsilon-model' target='_blank'>k-epsilon</a>, <a href='https://www.simscale.com/docs/simulation-setup/global-settings/k-epsilon/#realizable-k-epsilon-model' target='_blank'>Realizable k-epsilon</a>, <a href='https://www.simscale.com/docs/simulation-setup/global-settings/k-omega-sst/' target='_blank'>k-omega and k-omega SST</a></li><li><strong>LES</strong>: Smagorinsky, Spalart-Allmaras</li></ul><p><p><a href='https://www.simscale.com/blog/2017/12/turbulence-cfd-analysis/' target='_blank'>Learn more</a>.</p>",
            "default" : "KOMEGASST",
            "enum" : [ "SMAGORINSKY", "SPALARTALLMARAS", "NONE", "KEPSILON", "REALIZABLEKE", "KOMEGA", "KOMEGASST" ]
          },
          "adjointTurbulenceModel" : {
            "title" : "Adjoint turbulence model",
            "type" : "string",
            "default" : "ADJOINT_KOMEGASST",
            "enum" : [ "ADJOINT_NONE", "ADJOINT_KOMEGASST" ],
            "x-showWhen" : [ "enableAdjointOptimization == true" ]
          },
          "timeDependency" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_IncompressibleTimeDependency"
          },
          "algorithm" : {
            "title" : "Algorithm",
            "type" : "string",
            "default" : "SIMPLE",
            "x-conditionalEnum" : [ {
              "value" : "SIMPLE",
              "when" : [ "type == INCOMPRESSIBLE && timeDependency.type == STATIONARY" ]
            }, {
              "value" : "PIMPLE",
              "when" : [ "type == INCOMPRESSIBLE && timeDependency.type == TRANSIENT" ]
            }, {
              "value" : "ICO",
              "when" : [ "type == INCOMPRESSIBLE && timeDependency.type == TRANSIENT && turbulenceModel == NONE" ]
            }, {
              "value" : "PISO",
              "when" : [ "type == INCOMPRESSIBLE && timeDependency.type == TRANSIENT" ]
            } ]
          },
          "numOfPassiveSpecies" : {
            "title" : "Passive species",
            "maximum" : 10,
            "exclusiveMaximum" : false,
            "minimum" : 0,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "description" : "Select the number of passive species involved in the simulation. Passive species allow you to simulate the transport of a scalar quantity within a fluid flow without affecting it. <a href='https://www.simscale.com/docs/simulation-setup/global-settings/#passive-species' target='_blank'>Learn more</a>.",
            "format" : "int64",
            "default" : 0,
            "enum" : [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ]
          },
          "enableAdjointOptimization" : {
            "title" : "Adjoint optimization",
            "type" : "boolean",
            "default" : false,
            "x-conditionalEnum" : [ {
              "value" : true,
              "when" : [ "timeDependency.type == STATIONARY" ]
            }, {
              "value" : false,
              "when" : [ "timeDependency.type == TRANSIENT" ]
            }, {
              "value" : false,
              "when" : [ "timeDependency.type == STATIONARY" ]
            } ]
          },
          "model" : {
            "$ref" : "#/components/schemas/Simulation.FluidModel"
          },
          "materials" : {
            "$ref" : "#/components/schemas/Simulation.IncompressibleFluidMaterials"
          },
          "initialConditions" : {
            "$ref" : "#/components/schemas/Simulation.FluidInitialConditions"
          },
          "boundaryConditions" : {
            "title" : "Boundary conditions",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.OneOf_IncompressibleBoundaryConditions"
            }
          },
          "advancedConcepts" : {
            "$ref" : "#/components/schemas/Simulation.AdvancedConcepts"
          },
          "numerics" : {
            "$ref" : "#/components/schemas/Simulation.FluidNumerics"
          },
          "simulationControl" : {
            "$ref" : "#/components/schemas/Simulation.FluidSimulationControl"
          },
          "resultControl" : {
            "$ref" : "#/components/schemas/Simulation.FluidResultControls"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.FluidModel" : {
        "type" : "object",
        "properties" : {
          "turbulentSchmidtNumber" : {
            "title" : "(Sc<t>) Turb. Schmidt number",
            "minimum" : 1.0E-12,
            "exclusiveMinimum" : true,
            "type" : "number",
            "default" : 0.7,
            "x-showWhen" : [ "type == INCOMPRESSIBLE && numOfPassiveSpecies > 0", "type == CONVECTIVE_HEAT_TRANSFER && numOfPassiveSpecies > 0", "type == COUPLED_CONJUGATE_HEAT_TRANSFER && numOfPassiveSpecies > 0", "type == COUPLED_CONJUGATE_HEAT_TRANSFER && isCompressible == true && enableHumidityModel == true && turbulenceModel != NONE", "type == EMBEDDED_BOUNDARY && numOfPassiveSpecies > 0", "type == EMBEDDED_BOUNDARY && isCompressible == true && enableHumidityModel == true && turbulenceModel != NONE" ]
          },
          "diffusionCoefficients" : {
            "title" : "Diffusion coefficients",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.Dimensional_KinematicViscosity"
            },
            "x-showWhen" : [ "type == INCOMPRESSIBLE && numOfPassiveSpecies > 0", "type == CONVECTIVE_HEAT_TRANSFER && numOfPassiveSpecies > 0", "type == COUPLED_CONJUGATE_HEAT_TRANSFER && numOfPassiveSpecies > 0", "type == EMBEDDED_BOUNDARY && numOfPassiveSpecies > 0" ]
          },
          "deltaCoefficient" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_FluidModelDeltaCoefficient"
          },
          "gravity" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalVector_Acceleration"
          },
          "surfaceTension" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_SurfaceTension"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.Dimensional_KinematicViscosity" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "title" : "Value",
            "type" : "number"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "m²/s", "lbf·s·in/lb", "ft²/s", "in²/s" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.PrandtlLesDelta" : {
        "title" : "Prandtl LES delta",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: PrandtlLesDelta",
            "default" : "PRANDTL"
          },
          "deltaCoefficient" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_PrandtlLesDeltaDeltaCoefficient"
          },
          "deltaReductionCoefficient" : {
            "title" : "Delta reduction coefficient",
            "type" : "number",
            "default" : 0.158
          }
        },
        "additionalProperties" : false
      },
      "Simulation.SmoothLesDelta" : {
        "title" : "Smooth LES delta",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: SmoothLesDelta",
            "default" : "SMOOTH"
          },
          "deltaCoefficient" : {
            "$ref" : "#/components/schemas/Simulation.CubeRootVolLesDelta"
          },
          "maxDeltaRatio" : {
            "title" : "Max delta ratio",
            "type" : "number",
            "default" : 1.1
          }
        },
        "additionalProperties" : false
      },
      "Simulation.CubeRootVolLesDelta" : {
        "title" : "Cube root vol LES delta",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: CubeRootVolLesDelta",
            "default" : "CUBE_ROOT_VOL"
          },
          "deltaCoefficient" : {
            "title" : "Delta coefficient",
            "type" : "number",
            "default" : 1
          }
        },
        "additionalProperties" : false
      },
      "Simulation.DimensionalVector_Acceleration" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "$ref" : "#/components/schemas/Simulation.DecimalVector"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "m/s²", "in/s²", "G" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.IncompressibleFluidMaterials" : {
        "type" : "object",
        "properties" : {
          "fluids" : {
            "title" : "Materials",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.IncompressibleMaterial"
            }
          }
        },
        "additionalProperties" : false
      },
      "Simulation.IncompressibleMaterial" : {
        "title" : "Material",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: IncompressibleMaterial",
            "default" : "INCOMPRESSIBLE"
          },
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "fluidType" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_IncompressibleMaterialFluidType"
          },
          "associatedPhase" : {
            "title" : "Associated phase",
            "type" : "string",
            "description" : "<p>Select the corresponding phase for this material:</p><p><b>Phase 0</b> would mean this material is represented by the phase fraction value of 0. Hence, a phase fraction of '0' in your setup corresponds to 100% of this fluid material.</p><p><b>Phase 1</b> would mean this material is represented by the phase fraction value of 1. Hence, a phase fraction of '1' in your setup corresponds to 100% of this fluid material.</p>",
            "default" : "PHASE_0",
            "enum" : [ "PHASE_0", "PHASE_1" ],
            "x-showWhen" : [ "type == MULTIPHASE", "type == SIMERICS_ANALYSIS && isMultiphase == true" ]
          },
          "viscosityModel" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_IncompressibleMaterialViscosityModel"
          },
          "density" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Density"
          },
          "thermalExpansionCoefficient" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_ThermalExpansionRate"
          },
          "referenceTemperature" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Temperature"
          },
          "laminarPrandtlNumber" : {
            "title" : "(Pr<lam>) Laminar Prandtl number",
            "minimum" : 0.0,
            "exclusiveMinimum" : true,
            "type" : "number",
            "description" : "Laminar Prandtl number is used to calculate the heat transfer in the domain.",
            "x-showWhen" : [ "type == CONVECTIVE_HEAT_TRANSFER" ]
          },
          "laminarPrandtlNumberFunction" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_Dimensionless"
          },
          "turbulentPrandtlNumber" : {
            "title" : "(Pr<t>) Turb. Prandtl number",
            "type" : "number",
            "description" : "Turbulent Prandtl number is used to calculate the heat transfer due to turbulent effects in the domain.",
            "x-showWhen" : [ "type in [CONVECTIVE_HEAT_TRANSFER,COUPLED_CONJUGATE_HEAT_TRANSFER,EMBEDDED_BOUNDARY]" ]
          },
          "specificHeat" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_SpecificHeat"
          },
          "specificHeatFunction" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_SpecificHeat"
          },
          "molarWeight" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_MolarMass"
          },
          "cavitation" : {
            "$ref" : "#/components/schemas/Simulation.Cavitation"
          },
          "radiativeBehavior" : {
            "$ref" : "#/components/schemas/Simulation.TransparentMaterial"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          },
          "geometryPrimitiveUuids" : {
            "title" : "Geometry primitives",
            "type" : "array",
            "items" : {
              "type" : "string",
              "format" : "uuid"
            },
            "x-showWhen" : [ "type == EMBEDDED_BOUNDARY && allowExternalFlow == true" ],
            "x-referencedPrimitivesOptions" : {
              "allowMultiple" : false,
              "pathToPrimitives" : "geometryPrimitives",
              "allowedReferencedPrimitiveTypes" : [ "CARTESIAN_BOX" ]
            }
          },
          "builtInMaterial" : {
            "type" : "string"
          },
          "materialLibraryReference" : {
            "$ref" : "#/components/schemas/Simulation.MaterialLibraryReference"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.FluidTypeLiquid" : {
        "title" : "Liquid",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: FluidTypeLiquid",
            "default" : "LIQUID"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.FluidTypeGas" : {
        "title" : "Gas",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: FluidTypeGas",
            "default" : "GAS"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.NewtonianViscosityModel" : {
        "title" : "Newtonian",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Choose between <a href='https://www.simscale.com/docs/simulation-setup/materials/#newtonian-model' target='_blank'>Newtonian</a> and <a href='https://www.simscale.com/docs/simulation-setup/materials/non-newtonian-models/' target='_blank'>Non-Newtonian</a> viscosity models.\n\nSchema name: NewtonianViscosityModel",
            "default" : "NEWTONIAN"
          },
          "kinematicViscosity" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_KinematicViscosity"
          },
          "kinematicViscosityFunction" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_KinematicViscosity"
          },
          "dynamicViscosityFunction" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_DynamicViscosity"
          }
        },
        "additionalProperties" : false,
        "description" : "Choose between <a href='https://www.simscale.com/docs/simulation-setup/materials/#newtonian-model' target='_blank'>Newtonian</a> and <a href='https://www.simscale.com/docs/simulation-setup/materials/non-newtonian-models/' target='_blank'>Non-Newtonian</a> viscosity models."
      },
      "Simulation.DimensionalFunction_KinematicViscosity" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_DimensionalFunction_KinematicViscosityValue"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "m²/s", "lbf·s·in/lb", "ft²/s", "in²/s" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.DimensionalFunction_DynamicViscosity" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_DimensionalFunction_DynamicViscosityValue"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "kg/(s·m)", "lbf·s/in²" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.PowerLawViscosityModel" : {
        "title" : "Power law",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Choose between <a href='https://www.simscale.com/docs/simulation-setup/materials/#newtonian-model' target='_blank'>Newtonian</a> and <a href='https://www.simscale.com/docs/simulation-setup/materials/non-newtonian-models/' target='_blank'>Non-Newtonian</a> viscosity models.\n\nSchema name: PowerLawViscosityModel",
            "default" : "POWER_LAW"
          },
          "k" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_KinematicViscosity"
          },
          "n" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Dimensionless"
          },
          "nuMin" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_KinematicViscosity"
          },
          "nuMax" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_KinematicViscosity"
          }
        },
        "additionalProperties" : false,
        "description" : "Choose between <a href='https://www.simscale.com/docs/simulation-setup/materials/#newtonian-model' target='_blank'>Newtonian</a> and <a href='https://www.simscale.com/docs/simulation-setup/materials/non-newtonian-models/' target='_blank'>Non-Newtonian</a> viscosity models."
      },
      "Simulation.Dimensional_Dimensionless" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "title" : "Value",
            "type" : "number"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "", "%" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.StandardHerschelBulkleyViscosityModel" : {
        "title" : "Herschel–Bulkley",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Choose between <a href='https://www.simscale.com/docs/simulation-setup/materials/#newtonian-model' target='_blank'>Newtonian</a> and <a href='https://www.simscale.com/docs/simulation-setup/materials/non-newtonian-models/' target='_blank'>Non-Newtonian</a> viscosity models.\n\nSchema name: StandardHerschelBulkleyViscosityModel",
            "default" : "STD_HERSCHEL_BULKLEY"
          },
          "consistency" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_DynamicViscosity"
          },
          "flowIndex" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Dimensionless"
          },
          "fluidYieldStress" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Pressure"
          },
          "criticalShearRate" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_StrainRate"
          }
        },
        "additionalProperties" : false,
        "description" : "Choose between <a href='https://www.simscale.com/docs/simulation-setup/materials/#newtonian-model' target='_blank'>Newtonian</a> and <a href='https://www.simscale.com/docs/simulation-setup/materials/non-newtonian-models/' target='_blank'>Non-Newtonian</a> viscosity models."
      },
      "Simulation.Dimensional_DynamicViscosity" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "title" : "Value",
            "type" : "number"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "kg/(s·m)", "lbf·s/in²" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.HerschelBulkleyViscosityModel" : {
        "title" : "Herschel–Bulkley",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Choose between <a href='https://www.simscale.com/docs/simulation-setup/materials/#newtonian-model' target='_blank'>Newtonian</a> and <a href='https://www.simscale.com/docs/simulation-setup/materials/non-newtonian-models/' target='_blank'>Non-Newtonian</a> viscosity models.\n\nSchema name: HerschelBulkleyViscosityModel",
            "default" : "HERSCHEL_BULKLEY"
          },
          "k" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_KinematicViscosity"
          },
          "n" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Dimensionless"
          },
          "tau0" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_TurbulenceKineticEnergy"
          },
          "nu0" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_KinematicViscosity"
          }
        },
        "additionalProperties" : false,
        "description" : "Choose between <a href='https://www.simscale.com/docs/simulation-setup/materials/#newtonian-model' target='_blank'>Newtonian</a> and <a href='https://www.simscale.com/docs/simulation-setup/materials/non-newtonian-models/' target='_blank'>Non-Newtonian</a> viscosity models."
      },
      "Simulation.Dimensional_TurbulenceKineticEnergy" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "title" : "Value",
            "type" : "number"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "m²/s²", "Btu/lb" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.CrossPowerLawViscosityModel" : {
        "title" : "Cross-Power law",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Choose between <a href='https://www.simscale.com/docs/simulation-setup/materials/#newtonian-model' target='_blank'>Newtonian</a> and <a href='https://www.simscale.com/docs/simulation-setup/materials/non-newtonian-models/' target='_blank'>Non-Newtonian</a> viscosity models.\n\nSchema name: CrossPowerLawViscosityModel",
            "default" : "CROSS_POWER_LAW"
          },
          "nu0" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_KinematicViscosity"
          },
          "nuInf" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_KinematicViscosity"
          },
          "m" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Time"
          },
          "n" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Dimensionless"
          }
        },
        "additionalProperties" : false,
        "description" : "Choose between <a href='https://www.simscale.com/docs/simulation-setup/materials/#newtonian-model' target='_blank'>Newtonian</a> and <a href='https://www.simscale.com/docs/simulation-setup/materials/non-newtonian-models/' target='_blank'>Non-Newtonian</a> viscosity models."
      },
      "Simulation.BirdCarreauViscosityModel" : {
        "title" : "Bird-Carreau",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Choose between <a href='https://www.simscale.com/docs/simulation-setup/materials/#newtonian-model' target='_blank'>Newtonian</a> and <a href='https://www.simscale.com/docs/simulation-setup/materials/non-newtonian-models/' target='_blank'>Non-Newtonian</a> viscosity models.\n\nSchema name: BirdCarreauViscosityModel",
            "default" : "BIRD_CARREAU"
          },
          "nu0" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_KinematicViscosity"
          },
          "nuInf" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_KinematicViscosity"
          },
          "k" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Time"
          },
          "n" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Dimensionless"
          },
          "a" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Dimensionless"
          }
        },
        "additionalProperties" : false,
        "description" : "Choose between <a href='https://www.simscale.com/docs/simulation-setup/materials/#newtonian-model' target='_blank'>Newtonian</a> and <a href='https://www.simscale.com/docs/simulation-setup/materials/non-newtonian-models/' target='_blank'>Non-Newtonian</a> viscosity models."
      },
      "Simulation.Dimensional_ThermalExpansionRate" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "title" : "Value",
            "type" : "number"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "1/K", "1/°F" ],
            "x-MissingConversions" : true
          }
        },
        "additionalProperties" : false
      },
      "Simulation.Dimensional_SpecificHeat" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "title" : "Value",
            "type" : "number"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "J/(kg·K)", "Btu/(lb·°F)" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.Dimensional_MolarMass" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "title" : "Value",
            "type" : "number"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "kg/kmol", "lb/kmol" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.Cavitation" : {
        "type" : "object",
        "properties" : {
          "vaporMolecularWeight" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_MolarMass"
          },
          "liquidBulkModulus" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Pressure"
          },
          "liquidBulkModulusCoefficient" : {
            "title" : "Liquid bulk modulus coefficient",
            "minimum" : 0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "description" : "The <b>liquid bulk modulus coefficient</b> <i>B<sub>1</sub></i> accounts for a linear rate of change in the liquid bulk modulus with respect to pressure such that <i>B = B<sub>0</sub> + B<sub>1</sub> (P - P<sub>ref</sub>)</i>, where <i>B<sub>0</sub></i> is the constant liquid bulk modulus. Typically only applicable in cases where pressure differences exceed 100 bar, otherwise a zero value should be specified.",
            "default" : 0
          },
          "liquidReferencePressure" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Pressure"
          },
          "saturationPressure" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Pressure"
          },
          "liquidTemperature" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Temperature"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.TransparentMaterial" : {
        "title" : "Transparent material",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: TransparentMaterial",
            "default" : "TRANSPARENT_MATERIAL"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.FluidInitialConditions" : {
        "type" : "object",
        "properties" : {
          "pressure" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalInitialConditionDomains_Pressure"
          },
          "pressureRgh" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalInitialConditionDomains_Pressure"
          },
          "gaugePressure" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalInitialConditionDomains_Pressure"
          },
          "gaugePressureRgh" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalInitialConditionDomains_Pressure"
          },
          "velocity" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalVectorInitialConditionDomains_Speed"
          },
          "temperature" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalInitialConditionDomains_Temperature"
          },
          "turbulentKineticEnergy" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalInitialConditionDomains_TurbulenceKineticEnergy"
          },
          "omegaDissipationRate" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalInitialConditionDomains_SpecificTurbulenceDissipationRate"
          },
          "epsilonDissipationRate" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalInitialConditionDomains_TurbulentDissipation"
          },
          "nuTilda" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalInitialConditionDomains_KinematicViscosity"
          },
          "passiveScalars" : {
            "title" : "Passive scalars",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.DimensionalInitialConditionDomains_Dimensionless"
            },
            "x-showWhen" : [ "type == INCOMPRESSIBLE && numOfPassiveSpecies > 0", "type == CONVECTIVE_HEAT_TRANSFER && numOfPassiveSpecies > 0", "type == COUPLED_CONJUGATE_HEAT_TRANSFER && numOfPassiveSpecies > 0", "type == EMBEDDED_BOUNDARY && numOfPassiveSpecies > 0" ]
          },
          "phaseFraction" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalInitialConditionDomains_Dimensionless"
          },
          "phaseFractions" : {
            "$ref" : "#/components/schemas/Simulation.DimensionlessInitialConditionDomains"
          },
          "massFractions" : {
            "$ref" : "#/components/schemas/Simulation.FractionValuesInitialConditions"
          },
          "relativeHumidity" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalInitialConditionDomains_Dimensionless"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.DimensionalInitialConditionDomains_Pressure" : {
        "type" : "object",
        "properties" : {
          "global" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Pressure"
          },
          "subdomains" : {
            "title" : "Subdomains",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.SubdomainDimensionalInitialCondition_Pressure"
            },
            "x-showWhen" : [ "type != ELECTROMAGNETIC_ANALYSIS && 1# in [pressure,gaugePressure,pressureRgh,temperature,phaseFraction,passiveScalars,relativeHumidity]", "2# == passiveScalars", "type in [CONVECTIVE_HEAT_TRANSFER,COUPLED_CONJUGATE_HEAT_TRANSFER,EMBEDDED_BOUNDARY] && 1# == gaugePressureRgh", "type == SIMERICS_ANALYSIS && 1# in [pressure,gaugePressure,gaugeStaticPressure,temperature]" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.SubdomainDimensionalInitialCondition_Pressure" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "subdomainValue" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Pressure"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          },
          "geometryPrimitiveUuids" : {
            "title" : "Geometry primitives",
            "type" : "array",
            "items" : {
              "type" : "string",
              "format" : "uuid"
            },
            "x-referencedPrimitivesOptions" : {
              "allowMultiple" : true,
              "pathToPrimitives" : "geometryPrimitives",
              "allowedReferencedPrimitiveTypes" : [ "CARTESIAN_BOX", "CYLINDER", "SPHERE" ]
            }
          }
        },
        "additionalProperties" : false
      },
      "Simulation.DimensionalVectorInitialConditionDomains_Speed" : {
        "type" : "object",
        "properties" : {
          "global" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalVector_Speed"
          },
          "subdomains" : {
            "title" : "Subdomains",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.SubdomainDimensionalVectorInitialCondition_Speed"
            },
            "x-showWhen" : [ "1# == velocity" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.DimensionalVector_Speed" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "$ref" : "#/components/schemas/Simulation.DecimalVector"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "m/s", "in/s", "m/min", "m/h", "mm/s", "mm/min", "mm/h", "cm/s", "cm/min", "cm/h", "km/h", "ft/s", "ft/min", "ft/h", "in/min", "in/h", "mph", "kn" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.SubdomainDimensionalVectorInitialCondition_Speed" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "subdomainValue" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalVector_Speed"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          },
          "geometryPrimitiveUuids" : {
            "title" : "Geometry primitives",
            "type" : "array",
            "items" : {
              "type" : "string",
              "format" : "uuid"
            },
            "x-referencedPrimitivesOptions" : {
              "allowMultiple" : true,
              "pathToPrimitives" : "geometryPrimitives",
              "allowedReferencedPrimitiveTypes" : [ "CARTESIAN_BOX", "CYLINDER", "SPHERE" ]
            }
          }
        },
        "additionalProperties" : false
      },
      "Simulation.DimensionalInitialConditionDomains_Temperature" : {
        "type" : "object",
        "properties" : {
          "global" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Temperature"
          },
          "subdomains" : {
            "title" : "Subdomains",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.SubdomainDimensionalInitialCondition_Temperature"
            },
            "x-showWhen" : [ "type != ELECTROMAGNETIC_ANALYSIS && 1# in [pressure,gaugePressure,pressureRgh,temperature,phaseFraction,passiveScalars,relativeHumidity]", "2# == passiveScalars", "type in [CONVECTIVE_HEAT_TRANSFER,COUPLED_CONJUGATE_HEAT_TRANSFER,EMBEDDED_BOUNDARY] && 1# == gaugePressureRgh", "type == SIMERICS_ANALYSIS && 1# in [pressure,gaugePressure,gaugeStaticPressure,temperature]" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.SubdomainDimensionalInitialCondition_Temperature" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "subdomainValue" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Temperature"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          },
          "geometryPrimitiveUuids" : {
            "title" : "Geometry primitives",
            "type" : "array",
            "items" : {
              "type" : "string",
              "format" : "uuid"
            },
            "x-referencedPrimitivesOptions" : {
              "allowMultiple" : true,
              "pathToPrimitives" : "geometryPrimitives",
              "allowedReferencedPrimitiveTypes" : [ "CARTESIAN_BOX", "CYLINDER", "SPHERE" ]
            }
          }
        },
        "additionalProperties" : false
      },
      "Simulation.DimensionalInitialConditionDomains_TurbulenceKineticEnergy" : {
        "type" : "object",
        "properties" : {
          "global" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_TurbulenceKineticEnergy"
          },
          "subdomains" : {
            "title" : "Subdomains",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.SubdomainDimensionalInitialCondition_TurbulenceKineticEnergy"
            },
            "x-showWhen" : [ "type != ELECTROMAGNETIC_ANALYSIS && 1# in [pressure,gaugePressure,pressureRgh,temperature,phaseFraction,passiveScalars,relativeHumidity]", "2# == passiveScalars", "type in [CONVECTIVE_HEAT_TRANSFER,COUPLED_CONJUGATE_HEAT_TRANSFER,EMBEDDED_BOUNDARY] && 1# == gaugePressureRgh", "type == SIMERICS_ANALYSIS && 1# in [pressure,gaugePressure,gaugeStaticPressure,temperature]" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.SubdomainDimensionalInitialCondition_TurbulenceKineticEnergy" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "subdomainValue" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_TurbulenceKineticEnergy"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          },
          "geometryPrimitiveUuids" : {
            "title" : "Geometry primitives",
            "type" : "array",
            "items" : {
              "type" : "string",
              "format" : "uuid"
            },
            "x-referencedPrimitivesOptions" : {
              "allowMultiple" : true,
              "pathToPrimitives" : "geometryPrimitives",
              "allowedReferencedPrimitiveTypes" : [ "CARTESIAN_BOX", "CYLINDER", "SPHERE" ]
            }
          }
        },
        "additionalProperties" : false
      },
      "Simulation.DimensionalInitialConditionDomains_SpecificTurbulenceDissipationRate" : {
        "type" : "object",
        "properties" : {
          "global" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_SpecificTurbulenceDissipationRate"
          },
          "subdomains" : {
            "title" : "Subdomains",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.SubdomainDimensionalInitialCondition_SpecificTurbulenceDissipationRate"
            },
            "x-showWhen" : [ "type != ELECTROMAGNETIC_ANALYSIS && 1# in [pressure,gaugePressure,pressureRgh,temperature,phaseFraction,passiveScalars,relativeHumidity]", "2# == passiveScalars", "type in [CONVECTIVE_HEAT_TRANSFER,COUPLED_CONJUGATE_HEAT_TRANSFER,EMBEDDED_BOUNDARY] && 1# == gaugePressureRgh", "type == SIMERICS_ANALYSIS && 1# in [pressure,gaugePressure,gaugeStaticPressure,temperature]" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.Dimensional_SpecificTurbulenceDissipationRate" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "title" : "Value",
            "type" : "number"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "1/s" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.SubdomainDimensionalInitialCondition_SpecificTurbulenceDissipationRate" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "subdomainValue" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_SpecificTurbulenceDissipationRate"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          },
          "geometryPrimitiveUuids" : {
            "title" : "Geometry primitives",
            "type" : "array",
            "items" : {
              "type" : "string",
              "format" : "uuid"
            },
            "x-referencedPrimitivesOptions" : {
              "allowMultiple" : true,
              "pathToPrimitives" : "geometryPrimitives",
              "allowedReferencedPrimitiveTypes" : [ "CARTESIAN_BOX", "CYLINDER", "SPHERE" ]
            }
          }
        },
        "additionalProperties" : false
      },
      "Simulation.DimensionalInitialConditionDomains_TurbulentDissipation" : {
        "type" : "object",
        "properties" : {
          "global" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_TurbulentDissipation"
          },
          "subdomains" : {
            "title" : "Subdomains",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.SubdomainDimensionalInitialCondition_TurbulentDissipation"
            },
            "x-showWhen" : [ "type != ELECTROMAGNETIC_ANALYSIS && 1# in [pressure,gaugePressure,pressureRgh,temperature,phaseFraction,passiveScalars,relativeHumidity]", "2# == passiveScalars", "type in [CONVECTIVE_HEAT_TRANSFER,COUPLED_CONJUGATE_HEAT_TRANSFER,EMBEDDED_BOUNDARY] && 1# == gaugePressureRgh", "type == SIMERICS_ANALYSIS && 1# in [pressure,gaugePressure,gaugeStaticPressure,temperature]" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.Dimensional_TurbulentDissipation" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "title" : "Value",
            "type" : "number"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "m²/s³", "lbf·in/(s·lb)" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.SubdomainDimensionalInitialCondition_TurbulentDissipation" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "subdomainValue" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_TurbulentDissipation"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          },
          "geometryPrimitiveUuids" : {
            "title" : "Geometry primitives",
            "type" : "array",
            "items" : {
              "type" : "string",
              "format" : "uuid"
            },
            "x-referencedPrimitivesOptions" : {
              "allowMultiple" : true,
              "pathToPrimitives" : "geometryPrimitives",
              "allowedReferencedPrimitiveTypes" : [ "CARTESIAN_BOX", "CYLINDER", "SPHERE" ]
            }
          }
        },
        "additionalProperties" : false
      },
      "Simulation.DimensionalInitialConditionDomains_KinematicViscosity" : {
        "type" : "object",
        "properties" : {
          "global" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_KinematicViscosity"
          },
          "subdomains" : {
            "title" : "Subdomains",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.SubdomainDimensionalInitialCondition_KinematicViscosity"
            },
            "x-showWhen" : [ "type != ELECTROMAGNETIC_ANALYSIS && 1# in [pressure,gaugePressure,pressureRgh,temperature,phaseFraction,passiveScalars,relativeHumidity]", "2# == passiveScalars", "type in [CONVECTIVE_HEAT_TRANSFER,COUPLED_CONJUGATE_HEAT_TRANSFER,EMBEDDED_BOUNDARY] && 1# == gaugePressureRgh", "type == SIMERICS_ANALYSIS && 1# in [pressure,gaugePressure,gaugeStaticPressure,temperature]" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.SubdomainDimensionalInitialCondition_KinematicViscosity" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "subdomainValue" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_KinematicViscosity"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          },
          "geometryPrimitiveUuids" : {
            "title" : "Geometry primitives",
            "type" : "array",
            "items" : {
              "type" : "string",
              "format" : "uuid"
            },
            "x-referencedPrimitivesOptions" : {
              "allowMultiple" : true,
              "pathToPrimitives" : "geometryPrimitives",
              "allowedReferencedPrimitiveTypes" : [ "CARTESIAN_BOX", "CYLINDER", "SPHERE" ]
            }
          }
        },
        "additionalProperties" : false
      },
      "Simulation.DimensionalInitialConditionDomains_Dimensionless" : {
        "type" : "object",
        "properties" : {
          "global" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Dimensionless"
          },
          "subdomains" : {
            "title" : "Subdomains",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.SubdomainDimensionalInitialCondition_Dimensionless"
            },
            "x-showWhen" : [ "type != ELECTROMAGNETIC_ANALYSIS && 1# in [pressure,gaugePressure,pressureRgh,temperature,phaseFraction,passiveScalars,relativeHumidity]", "2# == passiveScalars", "type in [CONVECTIVE_HEAT_TRANSFER,COUPLED_CONJUGATE_HEAT_TRANSFER,EMBEDDED_BOUNDARY] && 1# == gaugePressureRgh", "type == SIMERICS_ANALYSIS && 1# in [pressure,gaugePressure,gaugeStaticPressure,temperature]" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.SubdomainDimensionalInitialCondition_Dimensionless" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "subdomainValue" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Dimensionless"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          },
          "geometryPrimitiveUuids" : {
            "title" : "Geometry primitives",
            "type" : "array",
            "items" : {
              "type" : "string",
              "format" : "uuid"
            },
            "x-referencedPrimitivesOptions" : {
              "allowMultiple" : true,
              "pathToPrimitives" : "geometryPrimitives",
              "allowedReferencedPrimitiveTypes" : [ "CARTESIAN_BOX", "CYLINDER", "SPHERE" ]
            }
          }
        },
        "additionalProperties" : false
      },
      "Simulation.DimensionlessInitialConditionDomains" : {
        "type" : "object",
        "properties" : {
          "subdomains" : {
            "title" : "Subdomains",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.SubdomainDimensionlessInitialCondition"
            }
          }
        },
        "additionalProperties" : false
      },
      "Simulation.SubdomainDimensionlessInitialCondition" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "value" : {
            "$ref" : "#/components/schemas/Simulation.PhaseFractionsIC"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          },
          "geometryPrimitiveUuids" : {
            "title" : "Geometry primitives",
            "type" : "array",
            "items" : {
              "type" : "string",
              "format" : "uuid"
            },
            "x-referencedPrimitivesOptions" : {
              "allowMultiple" : true,
              "pathToPrimitives" : "geometryPrimitives",
              "allowedReferencedPrimitiveTypes" : [ "CARTESIAN_BOX", "CYLINDER", "SPHERE" ]
            }
          }
        },
        "additionalProperties" : false
      },
      "Simulation.PhaseFractionsIC" : {
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: PhaseFractionsIC",
            "default" : "DIMENSIONLESS_PHASE_FRACTION_IC"
          },
          "associatedPhaseFractions" : {
            "title" : "Phase Fractions",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.PhaseFractionIC"
            }
          }
        },
        "additionalProperties" : false
      },
      "Simulation.PhaseFractionIC" : {
        "type" : "object",
        "properties" : {
          "associatedPhase" : {
            "title" : "Associated phase",
            "type" : "string",
            "default" : "PHASE_0",
            "enum" : [ "PHASE_0", "PHASE_1" ],
            "x-showWhen" : [ "type == SIMERICS_ANALYSIS && isMultiphase == true" ]
          },
          "value" : {
            "title" : "Value",
            "maximum" : 1,
            "exclusiveMaximum" : false,
            "minimum" : 0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "default" : 0
          }
        },
        "additionalProperties" : false
      },
      "Simulation.FractionValuesInitialConditions" : {
        "type" : "object",
        "properties" : {
          "global" : {
            "title" : "Global",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.FractionValueInitialCondition"
            }
          },
          "subdomains" : {
            "title" : "Subdomains",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.SubdomainFractionValueInitialCondition"
            }
          }
        },
        "additionalProperties" : false
      },
      "Simulation.FractionValueInitialCondition" : {
        "type" : "object",
        "properties" : {
          "fractionValue" : {
            "title" : "Fraction Value",
            "maximum" : 1.0,
            "exclusiveMaximum" : false,
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "default" : 0.0
          }
        },
        "additionalProperties" : false
      },
      "Simulation.SubdomainFractionValueInitialCondition" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "massFractions" : {
            "title" : "Mass fractions",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.FractionValueInitialCondition"
            }
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          },
          "geometryPrimitiveUuids" : {
            "title" : "Geometry primitives",
            "type" : "array",
            "items" : {
              "type" : "string",
              "format" : "uuid"
            },
            "x-referencedPrimitivesOptions" : {
              "allowMultiple" : true,
              "pathToPrimitives" : "geometryPrimitives",
              "allowedReferencedPrimitiveTypes" : [ "CARTESIAN_BOX", "CYLINDER", "SPHERE" ]
            }
          }
        },
        "additionalProperties" : false
      },
      "Simulation.VelocityInletBC" : {
        "title" : "Velocity inlet",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "This boundary condition imposes a known <b>velocity</b>-based constraint at an inlet.\n\nSchema name: VelocityInletBC",
            "default" : "VELOCITY_INLET_V3"
          },
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "velocity" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_VelocityInletBCVelocity"
          },
          "turbulence" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_VelocityInletBCTurbulence"
          },
          "temperature" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_VelocityInletBCTemperature"
          },
          "passiveScalars" : {
            "title" : "Passive scalars",
            "type" : "array",
            "description" : "Please choose a boundary condition for passive scalar (T).",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.FixedValuePSBC"
            },
            "x-showWhen" : [ "type == INCOMPRESSIBLE && numOfPassiveSpecies > 0", "type == CONVECTIVE_HEAT_TRANSFER && numOfPassiveSpecies > 0", "type == COUPLED_CONJUGATE_HEAT_TRANSFER && numOfPassiveSpecies > 0", "type == EMBEDDED_BOUNDARY && numOfPassiveSpecies > 0" ]
          },
          "phaseFraction" : {
            "$ref" : "#/components/schemas/Simulation.FixedValuePFBC"
          },
          "phaseFractionsV2" : {
            "$ref" : "#/components/schemas/Simulation.InletFixedPFValues"
          },
          "massFractionsV2" : {
            "$ref" : "#/components/schemas/Simulation.InletFixedMFValues"
          },
          "turbulenceIntensity" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_VelocityInletBCTurbulenceIntensity"
          },
          "dissipationType" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_VelocityInletBCDissipationType"
          },
          "netRadiativeHeatFlux" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_VelocityInletBCNetRadiativeHeatFlux"
          },
          "radiativeIntensityRay" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_VelocityInletBCRadiativeIntensityRay"
          },
          "relativeHumidity" : {
            "$ref" : "#/components/schemas/Simulation.FixedValueRHBC"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          }
        },
        "additionalProperties" : false,
        "description" : "This boundary condition imposes a known <b>velocity</b>-based constraint at an inlet."
      },
      "Simulation.FixedValueVBC" : {
        "title" : "Fixed value",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: FixedValueVBC",
            "default" : "FIXED_VALUE"
          },
          "value" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalVectorFunction_Speed"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.MeanValueVBC" : {
        "title" : "Mean value",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: MeanValueVBC",
            "default" : "FIXED_MEAN"
          },
          "value" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalVector_Speed"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.FixedMagnitudeVBC" : {
        "title" : "Fixed magnitude",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: FixedMagnitudeVBC",
            "default" : "FIXED_VALUE_NO_EXPRESSION"
          },
          "value" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_Speed"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.DimensionalFunction_Speed" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_DimensionalFunction_SpeedValue"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "m/s", "in/s", "m/min", "m/h", "mm/s", "mm/min", "mm/h", "cm/s", "cm/min", "cm/h", "km/h", "ft/s", "ft/min", "ft/h", "in/min", "in/h", "mph", "kn" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.VariableGroup_HEIGHT" : {
        "type" : "object",
        "properties" : {
          "HEIGHT" : {
            "$ref" : "#/components/schemas/Simulation.Unit_Length"
          }
        }
      },
      "Simulation.FlowRateInletVBC" : {
        "title" : "Flow rate",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: FlowRateInletVBC",
            "default" : "FLOW_RATE_INLET_VELOCITY"
          },
          "flowRate" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_FlowRateInletVBCFlowRate"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.MassFlow" : {
        "title" : "(ṁ) Mass flow",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "<p>Defines the mass flow rate <strong>per each face</strong> of the assignment.</p>\n\nSchema name: MassFlow",
            "default" : "MASS"
          },
          "value" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_MassFlowRate"
          }
        },
        "additionalProperties" : false,
        "description" : "<p>Defines the mass flow rate <strong>per each face</strong> of the assignment.</p>"
      },
      "Simulation.DimensionalFunction_MassFlowRate" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_DimensionalFunction_MassFlowRateValue"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "kg/s", "lb/s", "kg/min", "kg/h", "g/s", "g/min", "g/h", "lb/min", "lb/h", "slug/s", "slug/min", "slug/h" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.VolumetricFlow" : {
        "title" : "(V̇) Volumetric flow",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "<p>Defines the volumetric flow rate <strong>per each face</strong> of the assignment.</p>\n\nSchema name: VolumetricFlow",
            "default" : "VOLUMETRIC"
          },
          "value" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_VolumetricFlowRate"
          }
        },
        "additionalProperties" : false,
        "description" : "<p>Defines the volumetric flow rate <strong>per each face</strong> of the assignment.</p>"
      },
      "Simulation.DimensionalFunction_VolumetricFlowRate" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_DimensionalFunction_VolumetricFlowRateValue"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "m³/s", "in³/s", "m³/min", "m³/h", "mm³/s", "mm³/min", "mm³/h", "cm³/s", "cm³/min", "cm³/h", "l/s", "l/min", "l/h", "in³/min", "in³/h", "ft³/s", "ft³/min", "ft³/h", "gal/min", "gal/h", "gal/s" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.FlowRateMeanInletVBC" : {
        "title" : "Mean flow rate",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: FlowRateMeanInletVBC",
            "default" : "FLOW_RATE_MEAN_INLET_VELOCITY"
          },
          "flowRate" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_FlowRateMeanInletVBCFlowRate"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.FreestreamVBC" : {
        "title" : "Freestream",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: FreestreamVBC",
            "default" : "FREESTREAM"
          },
          "value" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalVector_Speed"
          },
          "ambientPressure" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_FreestreamVBCAmbientPressure"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.FixedValuePBC" : {
        "title" : "Fixed value",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: FixedValuePBC",
            "default" : "FIXED_VALUE"
          },
          "value" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_Pressure"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.HydrostaticIsothermalFreestreamPBC" : {
        "title" : "Hydrostatic pressure",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: HydrostaticIsothermalFreestreamPBC",
            "default" : "HYDROSTATIC_ISOTHERMAL_FREESTREAM_PRESSURE"
          },
          "ambientStaticPressure" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Pressure"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.AutomaticTurbulence" : {
        "title" : "Automatic",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: AutomaticTurbulence",
            "default" : "AUTOMATIC_TURBULENCE"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.TurbulentIntensityAndReferenceLengthTurbulence" : {
        "title" : "Turbulent intensity and mixing length",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: TurbulentIntensityAndReferenceLengthTurbulence",
            "default" : "TURBULENT_INTENSITY_AND_REFERENCE_LENGTH_TURBULENCE"
          },
          "turbulentIntensity" : {
            "title" : "(I) Turb. intensity",
            "maximum" : 1.0,
            "exclusiveMaximum" : false,
            "minimum" : 0.0,
            "exclusiveMinimum" : true,
            "type" : "number",
            "description" : "This provides a <b>turbulent intensity</b> boundary condition. The turbulent intensity is defined as the ratio of the root-mean-square of the velocity fluctuations to the mean flow velocity",
            "default" : 0.05
          },
          "mixingLength" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Length"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.FixedValueTurbulence" : {
        "title" : "Fixed value",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: FixedValueTurbulence",
            "default" : "FIXED_VALUE_TURBULENCE"
          },
          "turbulentKineticEnergy" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_TurbulenceKineticEnergy"
          },
          "epsilonDissipationRate" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_TurbulentDissipation"
          },
          "omegaDissipationRate" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_SpecificTurbulenceDissipationRate"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.DimensionalFunction_TurbulenceKineticEnergy" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_DimensionalFunction_TurbulenceKineticEnergyValue"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "m²/s²", "Btu/lb" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.DimensionalFunction_TurbulentDissipation" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_DimensionalFunction_TurbulentDissipationValue"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "m²/s³", "lbf·in/(s·lb)" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.DimensionalFunction_SpecificTurbulenceDissipationRate" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_DimensionalFunction_SpecificTurbulenceDissipationRateValue"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "1/s" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.FixedValueTBC" : {
        "title" : "Fixed value",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: FixedValueTBC",
            "default" : "FIXED_VALUE"
          },
          "value" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_Temperature"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.TotalTBC" : {
        "title" : "Total temperature",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: TotalTBC",
            "default" : "TOTAL_TEMPERATURE"
          },
          "totalTemperature" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Temperature"
          },
          "totalTemperatureFunction" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_Temperature"
          },
          "specificHeatRatio" : {
            "title" : "(γ) Gamma",
            "minimum" : 0,
            "exclusiveMinimum" : true,
            "type" : "number",
            "default" : 1.4,
            "x-showWhen" : [ "type != SIMERICS_ANALYSIS" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.FixedValuePSBC" : {
        "title" : "Fixed value",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: FixedValuePSBC",
            "default" : "FIXED_VALUE"
          },
          "value" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Dimensionless"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.FixedValuePFBC" : {
        "title" : "Fixed value",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: FixedValuePFBC",
            "default" : "FIXED_VALUE"
          },
          "value" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Dimensionless"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.InletFixedPFValues" : {
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: InletFixedPFValues",
            "default" : "INLET_FIXED_PF_VALUES"
          },
          "phaseFractions" : {
            "title" : "Phase fractions",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.FixedValuePhaseFractionBC"
            }
          }
        },
        "additionalProperties" : false
      },
      "Simulation.FixedValuePhaseFractionBC" : {
        "type" : "object",
        "properties" : {
          "associatedPhase" : {
            "title" : "Associated phase",
            "type" : "string",
            "default" : "PHASE_0",
            "enum" : [ "PHASE_0", "PHASE_1" ]
          },
          "fractionValue" : {
            "title" : "Fraction Value",
            "maximum" : 1.0,
            "exclusiveMaximum" : false,
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "default" : 0.0
          }
        },
        "additionalProperties" : false
      },
      "Simulation.InletFixedMFValues" : {
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: InletFixedMFValues",
            "default" : "INLET_FIXED_MF_VALUES"
          },
          "massFractions" : {
            "title" : "Mass fractions",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.FixedValueMassFractionBC"
            }
          }
        },
        "additionalProperties" : false
      },
      "Simulation.FixedValueMassFractionBC" : {
        "type" : "object",
        "properties" : {
          "fractionValue" : {
            "title" : "Fraction Value",
            "maximum" : 1.0,
            "exclusiveMaximum" : false,
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "default" : 0.0
          }
        },
        "additionalProperties" : false
      },
      "Simulation.TurbulenceIntensityTIBC" : {
        "title" : "Intensity",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: TurbulenceIntensityTIBC",
            "default" : "FIXED_VALUE"
          },
          "value" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_Dimensionless"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.TurbulenceKineticEnergyTIBC" : {
        "title" : "Turbulent Kinetic Energy",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: TurbulenceKineticEnergyTIBC",
            "default" : "TURBULENCE_KINETIC_ENERGY"
          },
          "value" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_TurbulenceKineticEnergy"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.AutomaticOmegaDissipation" : {
        "title" : "Automatic",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: AutomaticOmegaDissipation",
            "default" : "AUTOMATIC_DISSIPATION"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.CustomOmegaDissipation" : {
        "title" : "Custom",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: CustomOmegaDissipation",
            "default" : "CUSTOM_DISSIPATION"
          },
          "value" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_SpecificTurbulenceDissipationRate"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.GreybodyDiffusiveRSBC" : {
        "title" : "Opaque",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: GreybodyDiffusiveRSBC",
            "default" : "GREYBODY_DIFFUSIVE"
          },
          "emissivity" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Dimensionless"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.OpenWindowRSBC" : {
        "title" : "Transparent",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: OpenWindowRSBC",
            "default" : "OPEN_WINDOW"
          },
          "radiativeSourceValue" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_HeatFlux"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.Dimensional_HeatFlux" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "title" : "Value",
            "type" : "number"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "W/m²", "Btu/(s·in²)", "W/mm²", "W/cm²", "Btu/(h·ft²)", "Btu/(min·ft²)", "Btu/(s·ft²)", "Btu/(h·in²)", "Btu/(min·in²)" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.GreybodyDiffusiveRayBC" : {
        "title" : "Opaque",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "<p><b>Radiative behaviour of the wall</b>. The Kirchhoff's law of thermal radiation is applied in all options. This means that the <b>absorptivity of the surface is equal to its emissivity</b>. <br> <ul><li><b>Opaque</b> is applied to surfaces with transmissivity equal to 0. The radiation that hits the surface will be absorbed and reflected, but not transmitted, e.g.: brick or concrete walls.</li><li><b>Transparent</b> is applied to surfaces with transmissivity equal to 1. The radiation that hits the surface will be fully transmitted to the other side, e.g.: inlets, outlets or regular windows.</li><li><b>Semi-transparent</b> is applied to non-fully transparent surfaces. The radiation that hits the surface will be absorbed, reflected and transmitted, e.g. some stained glass windows.</li></ul></p>\n\nSchema name: GreybodyDiffusiveRayBC",
            "default" : "GREYBODY_DIFFUSIVE_RAY"
          },
          "emissivity" : {
            "title" : "Emissivity",
            "maximum" : 1,
            "exclusiveMaximum" : false,
            "minimum" : 0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "default" : 0.9
          },
          "farfieldBlackBodyTemperature" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Temperature"
          }
        },
        "additionalProperties" : false,
        "description" : "<p><b>Radiative behaviour of the wall</b>. The Kirchhoff's law of thermal radiation is applied in all options. This means that the <b>absorptivity of the surface is equal to its emissivity</b>. <br> <ul><li><b>Opaque</b> is applied to surfaces with transmissivity equal to 0. The radiation that hits the surface will be absorbed and reflected, but not transmitted, e.g.: brick or concrete walls.</li><li><b>Transparent</b> is applied to surfaces with transmissivity equal to 1. The radiation that hits the surface will be fully transmitted to the other side, e.g.: inlets, outlets or regular windows.</li><li><b>Semi-transparent</b> is applied to non-fully transparent surfaces. The radiation that hits the surface will be absorbed, reflected and transmitted, e.g. some stained glass windows.</li></ul></p>"
      },
      "Simulation.OpenBoundaryRayBC" : {
        "title" : "Transparent",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "<p><b>Radiative behaviour of the wall</b>. The Kirchhoff's law of thermal radiation is applied in all options. This means that the <b>absorptivity of the surface is equal to its emissivity</b>. <br> <ul><li><b>Opaque</b> is applied to surfaces with transmissivity equal to 0. The radiation that hits the surface will be absorbed and reflected, but not transmitted, e.g.: brick or concrete walls.</li><li><b>Transparent</b> is applied to surfaces with transmissivity equal to 1. The radiation that hits the surface will be fully transmitted to the other side, e.g.: inlets, outlets or regular windows.</li><li><b>Semi-transparent</b> is applied to non-fully transparent surfaces. The radiation that hits the surface will be absorbed, reflected and transmitted, e.g. some stained glass windows.</li></ul></p>\n\nSchema name: OpenBoundaryRayBC",
            "default" : "OPEN_BOUNDARY_RAY"
          },
          "farfieldBlackBodyTemperature" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Temperature"
          }
        },
        "additionalProperties" : false,
        "description" : "<p><b>Radiative behaviour of the wall</b>. The Kirchhoff's law of thermal radiation is applied in all options. This means that the <b>absorptivity of the surface is equal to its emissivity</b>. <br> <ul><li><b>Opaque</b> is applied to surfaces with transmissivity equal to 0. The radiation that hits the surface will be absorbed and reflected, but not transmitted, e.g.: brick or concrete walls.</li><li><b>Transparent</b> is applied to surfaces with transmissivity equal to 1. The radiation that hits the surface will be fully transmitted to the other side, e.g.: inlets, outlets or regular windows.</li><li><b>Semi-transparent</b> is applied to non-fully transparent surfaces. The radiation that hits the surface will be absorbed, reflected and transmitted, e.g. some stained glass windows.</li></ul></p>"
      },
      "Simulation.SemiOpenBoundaryRayBC" : {
        "title" : "Semi-transparent",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "<p><b>Radiative behaviour of the wall</b>. The Kirchhoff's law of thermal radiation is applied in all options. This means that the <b>absorptivity of the surface is equal to its emissivity</b>. <br> <ul><li><b>Opaque</b> is applied to surfaces with transmissivity equal to 0. The radiation that hits the surface will be absorbed and reflected, but not transmitted, e.g.: brick or concrete walls.</li><li><b>Transparent</b> is applied to surfaces with transmissivity equal to 1. The radiation that hits the surface will be fully transmitted to the other side, e.g.: inlets, outlets or regular windows.</li><li><b>Semi-transparent</b> is applied to non-fully transparent surfaces. The radiation that hits the surface will be absorbed, reflected and transmitted, e.g. some stained glass windows.</li></ul></p>\n\nSchema name: SemiOpenBoundaryRayBC",
            "default" : "SEMI_OPEN_BOUNDARY_RAY"
          },
          "emissivity" : {
            "title" : "Emissivity",
            "maximum" : 1,
            "exclusiveMaximum" : false,
            "minimum" : 0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "default" : 0.1
          },
          "transmissivity" : {
            "title" : "Transmissivity",
            "maximum" : 1,
            "exclusiveMaximum" : false,
            "minimum" : 0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "default" : 0.7
          },
          "farfieldBlackBodyTemperature" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Temperature"
          }
        },
        "additionalProperties" : false,
        "description" : "<p><b>Radiative behaviour of the wall</b>. The Kirchhoff's law of thermal radiation is applied in all options. This means that the <b>absorptivity of the surface is equal to its emissivity</b>. <br> <ul><li><b>Opaque</b> is applied to surfaces with transmissivity equal to 0. The radiation that hits the surface will be absorbed and reflected, but not transmitted, e.g.: brick or concrete walls.</li><li><b>Transparent</b> is applied to surfaces with transmissivity equal to 1. The radiation that hits the surface will be fully transmitted to the other side, e.g.: inlets, outlets or regular windows.</li><li><b>Semi-transparent</b> is applied to non-fully transparent surfaces. The radiation that hits the surface will be absorbed, reflected and transmitted, e.g. some stained glass windows.</li></ul></p>"
      },
      "Simulation.FixedValueRHBC" : {
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: FixedValueRHBC",
            "default" : "FIXED_VALUE"
          },
          "humidityValue" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_FixedValueRHBCHumidityValue"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.RelativeHumidityValue" : {
        "title" : "Relative Humidity",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: RelativeHumidityValue",
            "default" : "RELATIVE_HUMIDITY_VALUE"
          },
          "value" : {
            "title" : "Relative Air Humidity (%)",
            "maximum" : 100,
            "exclusiveMaximum" : false,
            "minimum" : 0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "default" : 50
          }
        },
        "additionalProperties" : false
      },
      "Simulation.SpecificHumidityValue" : {
        "title" : "Specific Humidity",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: SpecificHumidityValue",
            "default" : "SPECIFIC_HUMIDITY_VALUE"
          },
          "value" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_MassFraction"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.Dimensional_MassFraction" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "title" : "Value",
            "type" : "number"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "", "g/kg", "gr/lb" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.AbsoluteHumidityValue" : {
        "title" : "Absolute Humidity",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: AbsoluteHumidityValue",
            "default" : "ABSOLUTE_HUMIDITY_VALUE"
          },
          "value" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Density"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.VelocityOutletBC" : {
        "title" : "Velocity outlet",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "This boundary condition imposes a known <b>velocity</b>-based constraint at an outlet.\n\nSchema name: VelocityOutletBC",
            "default" : "VELOCITY_OUTLET_V7"
          },
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "velocity" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_VelocityOutletBCVelocity"
          },
          "phaseFraction" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_VelocityOutletBCPhaseFraction"
          },
          "phaseFractionsV2" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_VelocityOutletBCPhaseFractionsV2"
          },
          "massFractionsV2" : {
            "$ref" : "#/components/schemas/Simulation.OutletBackFlowMFValues"
          },
          "netRadiativeHeatFlux" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_VelocityOutletBCNetRadiativeHeatFlux"
          },
          "radiativeIntensityRay" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_VelocityOutletBCRadiativeIntensityRay"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          }
        },
        "additionalProperties" : false,
        "description" : "This boundary condition imposes a known <b>velocity</b>-based constraint at an outlet."
      },
      "Simulation.OutletMeanPhaseVBC" : {
        "title" : "Outlet mean phase",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: OutletMeanPhaseVBC",
            "default" : "OUTLET_MEAN_PHASE"
          },
          "phase" : {
            "title" : "Phase",
            "type" : "string",
            "default" : "PHASE_1",
            "enum" : [ "PHASE_0", "PHASE_1" ]
          },
          "meanVelocity" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Speed"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.Dimensional_Speed" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "title" : "Value",
            "type" : "number"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "m/s", "in/s", "m/min", "m/h", "mm/s", "mm/min", "mm/h", "cm/s", "cm/min", "cm/h", "km/h", "ft/s", "ft/min", "ft/h", "in/min", "in/h", "mph", "kn" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.FlowRateOutletVBC" : {
        "title" : "Flow rate",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: FlowRateOutletVBC",
            "default" : "FLOW_RATE_OUTLET_VELOCITY"
          },
          "flowRate" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_FlowRateOutletVBCFlowRate"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.FlowRateMeanOutletVBC" : {
        "title" : "Mean flow rate",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: FlowRateMeanOutletVBC",
            "default" : "FLOW_RATE_MEAN_OUTLET_VELOCITY"
          },
          "flowRate" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_FlowRateMeanOutletVBCFlowRate"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.FlowRateStableOutletVBC" : {
        "title" : "Flow rate",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: FlowRateStableOutletVBC",
            "default" : "FLOW_RATE_STABLE_OUTLET_VELOCITY"
          },
          "flowRate" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_FlowRateStableOutletVBCFlowRate"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.MeanValueOutletVBC" : {
        "title" : "Face normal value",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: MeanValueOutletVBC",
            "default" : "MEAN_VALUE_OUTLET_VELOCITY"
          },
          "normalVelocity" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_Speed"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.FlowDependentValuePFBC" : {
        "title" : "Flow dependent value",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: FlowDependentValuePFBC",
            "default" : "FLOW_DEPENDENT_VALUE"
          },
          "lowerBound" : {
            "title" : "Lower bound",
            "maximum" : 1,
            "exclusiveMaximum" : false,
            "minimum" : 0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "default" : 0
          },
          "upperBound" : {
            "title" : "Upper bound",
            "maximum" : 1,
            "exclusiveMaximum" : false,
            "minimum" : 0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "default" : 1
          }
        },
        "additionalProperties" : false
      },
      "Simulation.OutletBackFlowPFValues" : {
        "title" : "Back flow",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "It specifies the phase fraction values of the back flow. If there is no back flow, the values are ignored.\n\nSchema name: OutletBackFlowPFValues",
            "default" : "OUTLET_BACK_FLOW_PF_VALUES"
          },
          "backFlowPhaseFractions" : {
            "title" : "Back flow phase fractions",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.FixedValuePhaseFractionBC"
            }
          }
        },
        "additionalProperties" : false,
        "description" : "It specifies the phase fraction values of the back flow. If there is no back flow, the values are ignored."
      },
      "Simulation.OutletFlowDrivenPF" : {
        "title" : "Flow driven",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Phase fraction values are automatically computed.\n\nSchema name: OutletFlowDrivenPF",
            "default" : "OUTLET_FLOW_DRIVEN_PF"
          }
        },
        "additionalProperties" : false,
        "description" : "Phase fraction values are automatically computed."
      },
      "Simulation.OutletBackFlowMFValues" : {
        "title" : "Back flow",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "It specifies the mass fraction values of the back flow. If there is no back flow, the values are ignored.\n\nSchema name: OutletBackFlowMFValues",
            "default" : "OUTLET_BACK_FLOW_MF_VALUES"
          },
          "backFlowMassFractions" : {
            "title" : "Back flow mass fractions",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.FixedValueMassFractionBC"
            }
          }
        },
        "additionalProperties" : false,
        "description" : "It specifies the mass fraction values of the back flow. If there is no back flow, the values are ignored."
      },
      "Simulation.PressureInletBC" : {
        "title" : "Pressure inlet",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "This boundary condition is suitable for inlet and open boundaries where the value of <b>pressure</b> is known.\n\nSchema name: PressureInletBC",
            "default" : "PRESSURE_INLET_V31"
          },
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "pressure" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_PressureInletBCPressure"
          },
          "pressureRgh" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_PressureInletBCPressureRgh"
          },
          "gaugePressure" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_PressureInletBCGaugePressure"
          },
          "gaugePressureRgh" : {
            "$ref" : "#/components/schemas/Simulation.TotalPBC"
          },
          "turbulence" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_PressureInletBCTurbulence"
          },
          "temperature" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_PressureInletBCTemperature"
          },
          "passiveScalars" : {
            "title" : "Passive scalars",
            "type" : "array",
            "description" : "Please choose a boundary condition for passive scalar (T).",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.FixedValuePSBC"
            },
            "x-showWhen" : [ "type == INCOMPRESSIBLE && numOfPassiveSpecies > 0", "type == CONVECTIVE_HEAT_TRANSFER && numOfPassiveSpecies > 0", "type == COUPLED_CONJUGATE_HEAT_TRANSFER && numOfPassiveSpecies > 0", "type == EMBEDDED_BOUNDARY && numOfPassiveSpecies > 0" ]
          },
          "phaseFraction" : {
            "$ref" : "#/components/schemas/Simulation.FixedValuePFBC"
          },
          "phaseFractionsV2" : {
            "$ref" : "#/components/schemas/Simulation.InletFixedPFValues"
          },
          "massFractionsV2" : {
            "$ref" : "#/components/schemas/Simulation.InletFixedMFValues"
          },
          "hydrostaticPressure" : {
            "$ref" : "#/components/schemas/Simulation.HydrostaticPressure"
          },
          "netRadiativeHeatFlux" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_PressureInletBCNetRadiativeHeatFlux"
          },
          "radiativeIntensityRay" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_PressureInletBCRadiativeIntensityRay"
          },
          "relativeHumidity" : {
            "$ref" : "#/components/schemas/Simulation.FixedValueRHBC"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          }
        },
        "additionalProperties" : false,
        "description" : "This boundary condition is suitable for inlet and open boundaries where the value of <b>pressure</b> is known."
      },
      "Simulation.TotalPBC" : {
        "title" : "Total pressure",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: TotalPBC",
            "default" : "TOTAL_PRESSURE"
          },
          "totalPressure" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_Pressure"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.HydrostaticIsothermalTotalPBC" : {
        "title" : "Hydrostatic pressure",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: HydrostaticIsothermalTotalPBC",
            "default" : "HYDROSTATIC_ISOTHERMAL_TOTAL_PRESSURE"
          },
          "ambientPressure" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Pressure"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.HydrostaticPressure" : {
        "type" : "object",
        "properties" : {
          "enableHydrostaticPressure" : {
            "title" : "Enable hydrostatic pressure",
            "type" : "boolean",
            "default" : false
          },
          "referenceHeight" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Length"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.PressureOutletBC" : {
        "title" : "Pressure outlet",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "This boundary condition allows to specify a <b>pressure</b> value at an outlet boundary.\n\nSchema name: PressureOutletBC",
            "default" : "PRESSURE_OUTLET_V30"
          },
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "pressure" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_PressureOutletBCPressure"
          },
          "pressureRgh" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_PressureOutletBCPressureRgh"
          },
          "gaugePressure" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_PressureOutletBCGaugePressure"
          },
          "phaseFractionsV2" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_PressureOutletBCPhaseFractionsV2"
          },
          "massFractionsV2" : {
            "$ref" : "#/components/schemas/Simulation.OutletBackFlowMFValues"
          },
          "hydrostaticPressure" : {
            "$ref" : "#/components/schemas/Simulation.HydrostaticPressure"
          },
          "gaugePressureRgh" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_PressureOutletBCGaugePressureRgh"
          },
          "netRadiativeHeatFlux" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_PressureOutletBCNetRadiativeHeatFlux"
          },
          "radiativeIntensityRay" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_PressureOutletBCRadiativeIntensityRay"
          },
          "relativeHumidity" : {
            "$ref" : "#/components/schemas/Simulation.InletOutletRHBC"
          },
          "temperature" : {
            "$ref" : "#/components/schemas/Simulation.AmbientTBC"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          }
        },
        "additionalProperties" : false,
        "description" : "This boundary condition allows to specify a <b>pressure</b> value at an outlet boundary."
      },
      "Simulation.MeanValuePBC" : {
        "title" : "Mean value",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: MeanValuePBC",
            "default" : "FIXED_MEAN"
          },
          "value" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Pressure"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.HydrostaticIsothermalPBC" : {
        "title" : "Hydrostatic pressure",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: HydrostaticIsothermalPBC",
            "default" : "HYDROSTATIC_ISOTHERMAL_PRESSURE"
          },
          "ambientStaticPressure" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Pressure"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.InletOutletRHBC" : {
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: InletOutletRHBC",
            "default" : "INLET_OUTLET"
          },
          "humidityValue" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_InletOutletRHBCHumidityValue"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.AmbientTBC" : {
        "title" : "Ambient temperature",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: AmbientTBC",
            "default" : "AMBIENT_TEMPERATURE"
          },
          "ambientTemperature" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Temperature"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.WallBC" : {
        "title" : "Wall",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "<p>This boundary provides several Solid Wall conditions.</P>The default <b>no-slip</b> corresponds to friction wall with no movement. The <b>slip wall</b> models a surface with no friction. The <b>rotating/moving wall</b> model wall movement by prescribing velocities. <a href='https://www.simscale.com/docs/simulation-setup/boundary-conditions/wall/' target='_blank'>Learn more</a>.\n\nSchema name: WallBC",
            "default" : "WALL_V34"
          },
          "name" : {
            "title" : "Name",
            "type" : "string",
            "x-showWhen" : [ "1# != externalFlowBoundaryCondition" ]
          },
          "velocity" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_WallBCVelocity"
          },
          "temperature" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_WallBCTemperature"
          },
          "relativeHumidity" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_WallBCRelativeHumidity"
          },
          "phaseFraction" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_WallBCPhaseFraction"
          },
          "netRadiativeHeatFlux" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_WallBCNetRadiativeHeatFlux"
          },
          "radiativeIntensityRay" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_WallBCRadiativeIntensityRay"
          },
          "electricBoundaryCondition" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_WallBCElectricBoundaryCondition"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          }
        },
        "additionalProperties" : false,
        "description" : "<p>This boundary provides several Solid Wall conditions.</P>The default <b>no-slip</b> corresponds to friction wall with no movement. The <b>slip wall</b> models a surface with no friction. The <b>rotating/moving wall</b> model wall movement by prescribing velocities. <a href='https://www.simscale.com/docs/simulation-setup/boundary-conditions/wall/' target='_blank'>Learn more</a>."
      },
      "Simulation.MovingWallVBC" : {
        "title" : "Moving wall",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: MovingWallVBC",
            "default" : "MOVING_WALL_VELOCITY"
          },
          "value" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalVector_Speed"
          },
          "turbulenceWall" : {
            "title" : "Turbulence wall",
            "type" : "string",
            "default" : "WALL_FUNCTION",
            "enum" : [ "WALL_FUNCTION", "FULL_RESOLUTION" ],
            "x-showWhen" : [ "type in [COMPRESSIBLE,INCOMPRESSIBLE,CONJUGATE_HEAT_TRANSFER,CONVECTIVE_HEAT_TRANSFER,MULTIPHASE] && turbulenceModel != NONE" ]
          },
          "orientationReference" : {
            "title" : "Orientation reference",
            "type" : "string",
            "default" : "FLOW_DOMAIN",
            "enum" : [ "GEOMETRY", "FLOW_DOMAIN" ],
            "x-showWhen" : [ "type == INCOMPRESSIBLE_PACEFISH" ]
          },
          "wallContactModel" : {
            "title" : "Wall contact model",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.WallContactAngle"
            },
            "x-showWhen" : [ "type == SIMERICS_ANALYSIS && isMultiphase == true" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.WallContactAngle" : {
        "type" : "object",
        "properties" : {
          "enableWallContactAngle" : {
            "title" : "Wall contact angle",
            "type" : "boolean",
            "default" : false
          },
          "associatedPhase" : {
            "title" : "Associated phase",
            "type" : "string",
            "default" : "PHASE_0",
            "enum" : [ "PHASE_0", "PHASE_1" ],
            "x-showWhen" : [ "1/enableWallContactAngle == true" ]
          },
          "contactAngle" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Angle"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.NoSlipVBC" : {
        "title" : "No-slip",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: NoSlipVBC",
            "default" : "NO_SLIP"
          },
          "turbulenceWall" : {
            "title" : "Turbulence wall",
            "type" : "string",
            "default" : "WALL_FUNCTION",
            "enum" : [ "WALL_FUNCTION", "FULL_RESOLUTION" ],
            "x-showWhen" : [ "type in [COMPRESSIBLE,INCOMPRESSIBLE,CONJUGATE_HEAT_TRANSFER,CONVECTIVE_HEAT_TRANSFER,MULTIPHASE] && turbulenceModel != NONE" ]
          },
          "enableSurfaceRoughness" : {
            "title" : "Surface roughness",
            "type" : "boolean",
            "description" : "When turned <em>ON</em>, this wall's is no longer considered to be <em>smooth</em>. Its roughness may be then be specified.",
            "default" : false,
            "x-showWhen" : [ "type == SIMERICS_ANALYSIS && turbulenceModel != NONE" ]
          },
          "surfaceRoughness" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Length"
          },
          "noSlipWallRoughnessType" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_NoSlipVBCNoSlipWallRoughnessType"
          },
          "wallContactModel" : {
            "title" : "Wall contact model",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.WallContactAngle"
            },
            "x-showWhen" : [ "type == SIMERICS_ANALYSIS && isMultiphase == true" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.NoSlipWallEquivalentSandRoughness" : {
        "title" : "Equivalent sand grain",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: NoSlipWallEquivalentSandRoughness",
            "default" : "NO_SLIP_WALL_EQUIVALENT_SAND_ROUGHNESS"
          },
          "surfaceRoughness" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Length"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.NoSlipWallAerodynamicRoughness" : {
        "title" : "Aerodynamic",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: NoSlipWallAerodynamicRoughness",
            "default" : "NO_SLIP_WALL_AERODYNAMIC_ROUGHNESS"
          },
          "surfaceRoughness" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Length"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.RotatingWallVBC" : {
        "title" : "Rotating wall",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: RotatingWallVBC",
            "default" : "ROTATING_WALL_VELOCITY"
          },
          "rotation" : {
            "$ref" : "#/components/schemas/Simulation.AngularRotation"
          },
          "turbulenceWall" : {
            "title" : "Turbulence wall",
            "type" : "string",
            "default" : "WALL_FUNCTION",
            "enum" : [ "WALL_FUNCTION", "FULL_RESOLUTION" ],
            "x-showWhen" : [ "type in [COMPRESSIBLE,INCOMPRESSIBLE,CONJUGATE_HEAT_TRANSFER,CONVECTIVE_HEAT_TRANSFER,MULTIPHASE] && turbulenceModel != NONE" ]
          },
          "wallContactModel" : {
            "title" : "Wall contact model",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.WallContactAngle"
            },
            "x-showWhen" : [ "type == SIMERICS_ANALYSIS && isMultiphase == true" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.SlipVBC" : {
        "title" : "Slip",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: SlipVBC",
            "default" : "SLIP"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.ExternalWallHeatFluxTBC" : {
        "title" : "External wall heat flux",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: ExternalWallHeatFluxTBC",
            "default" : "EXTERNAL_WALL_HEAT_FLUX_TEMPERATURE"
          },
          "heatFlux" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_ExternalWallHeatFluxTBCHeatFlux"
          },
          "value" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Temperature"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.DerivedHeatFlux" : {
        "title" : "Derived heat flux",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: DerivedHeatFlux",
            "default" : "DERIVED"
          },
          "heatTransferCoefficient" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_ThermalTransmittance"
          },
          "ambientTemperature" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Temperature"
          },
          "additionalHeatFlux" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_HeatFlux"
          },
          "wallThermal" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_DerivedHeatFluxWallThermal"
          },
          "outerSurfaceEmissivity" : {
            "title" : "Outer surface emissivity",
            "maximum" : 1,
            "exclusiveMaximum" : false,
            "minimum" : 0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "description" : "Emissivity/Absorptivity of the outer side of the surface or the last wall thermal layer.",
            "default" : 0.9,
            "x-showWhen" : [ "type == COUPLED_CONJUGATE_HEAT_TRANSFER && enableRadiation == true", "type == COUPLED_CONJUGATE_HEAT_TRANSFER && enableSolarLoad == true", "type == EMBEDDED_BOUNDARY && enableRadiation == true", "type == EMBEDDED_BOUNDARY && enableSolarLoad == true" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.Dimensional_ThermalTransmittance" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "title" : "Value",
            "type" : "number"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "W/(K·m²)", "Btu/(s·in²·°F)", "W/(K·mm²)", "W/(K·cm²)", "Btu/(h·in²·°F)", "Btu/(min·in²·°F)", "Btu/(s·ft²·°F)", "Btu/(min·ft²·°F)" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.NoWallThermal" : {
        "title" : "No wall thermal",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: NoWallThermal",
            "default" : "NO_RESISTANCE"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.TotalResistanceWallThermal" : {
        "title" : "Total resistance wall thermal",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: TotalResistanceWallThermal",
            "default" : "TOTAL_RESISTANCE"
          },
          "contactResistance" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_ContactResistance"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.Dimensional_ContactResistance" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "title" : "Value",
            "type" : "number"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "K/W", "°F·s/Btu" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.SpecificConductanceWallThermal" : {
        "title" : "Specific conductance wall thermal",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: SpecificConductanceWallThermal",
            "default" : "SPECIFIC_CONDUCTANCE"
          },
          "contactConductance" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_ThermalTransmittance"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.LayerWallThermal" : {
        "title" : "Layer wall thermal",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: LayerWallThermal",
            "default" : "CONTACT_INTERFACE_MATERIAL"
          },
          "conductivityThicknessPairs" : {
            "title" : "Conductivity thickness pairs",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.ConductivityThicknessPair"
            }
          }
        },
        "additionalProperties" : false
      },
      "Simulation.ConductivityThicknessPair" : {
        "type" : "object",
        "properties" : {
          "thermalConductivity" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_ThermalConductivity"
          },
          "electricResistivity" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_ElectricResistivity"
          },
          "layerThickness" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Length"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.Dimensional_ThermalConductivity" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "title" : "Value",
            "type" : "number"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "W/(m·K)", "Btu/(s·in·°F)", "W/(mm·K)", "W/(cm·K)", "Btu/(min·in·°F)", "Btu/(h·in·°F)", "Btu/(s·ft·°F)", "Btu/(min·ft·°F)", "Btu/(h·ft·°F)" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.Dimensional_ElectricResistivity" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "title" : "Value",
            "type" : "number"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "Ω·m", "Ω·in" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.FixedHeatFlux" : {
        "title" : "Fixed heat flux",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: FixedHeatFlux",
            "default" : "FIXED"
          },
          "function" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_HeatFlux"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.FixedPowerHeatFlux" : {
        "title" : "Fixed power",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: FixedPowerHeatFlux",
            "default" : "FIXED_POWER"
          },
          "function" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_Power"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.DimensionalFunction_Power" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_DimensionalFunction_PowerValue"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "W", "Btu/s", "kW", "MW", "HP", "CV", "Btu/min", "Btu/h" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.AdiabaticTBC" : {
        "title" : "Adiabatic",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: AdiabaticTBC",
            "default" : "ADIABATIC"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.TurbulentHeatFluxTBC" : {
        "title" : "Turbulent heat flux",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: TurbulentHeatFluxTBC",
            "default" : "TURBULENT_HEAT_FLUX_TEMPERATURE"
          },
          "heatSource" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_TurbulentHeatFluxTBCHeatSource"
          },
          "value" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Temperature"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.FluxHeatSource" : {
        "title" : "Flux heat source",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: FluxHeatSource",
            "default" : "FLUX"
          },
          "heatFlux" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_HeatFlux"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.PowerHeatSource" : {
        "title" : "Power heat source",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: PowerHeatSource",
            "default" : "POWER"
          },
          "power" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Power"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.ConvectionTBC" : {
        "title" : "Convective heat transfer",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: ConvectionTBC",
            "default" : "CONVECTIVE_HEAT_TRANSFER"
          },
          "convection" : {
            "$ref" : "#/components/schemas/Simulation.WallConvectionModel"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.WallConvectionModel" : {
        "type" : "object",
        "properties" : {
          "convectionCoefficient" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_ThermalTransmittance"
          },
          "ambientTemperature" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Temperature"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.RadiationTBC" : {
        "title" : "Radiative heat transfer",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: RadiationTBC",
            "default" : "RADIATIVE_HEAT_TRANSFER"
          },
          "radiation" : {
            "$ref" : "#/components/schemas/Simulation.WallRadiationModel"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.WallRadiationModel" : {
        "type" : "object",
        "properties" : {
          "emissivity" : {
            "title" : "Emissivity",
            "maximum" : 1,
            "exclusiveMaximum" : false,
            "minimum" : 0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "description" : "The proportionality factor emissivity defines the type of radiation. The lower bound (0) determining complete reflection and the upper bound (1) defining complete absorption (black body).",
            "default" : 0
          },
          "ambientTemperature" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Temperature"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.ConvectionRadiationTBC" : {
        "title" : "Convective & Radiative heat transfer",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: ConvectionRadiationTBC",
            "default" : "CONVECTIVE_RADIATIVE_HEAT_TRANSFER"
          },
          "convection" : {
            "$ref" : "#/components/schemas/Simulation.WallConvectionModel"
          },
          "radiation" : {
            "$ref" : "#/components/schemas/Simulation.WallRadiationModel"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.ZeroGradientHumidityBC" : {
        "title" : "Insulated",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: ZeroGradientHumidityBC",
            "default" : "ZERO_GRADIENT"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.WaterVaporFluxHumidityBC" : {
        "title" : "Mass source",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: WaterVaporFluxHumidityBC",
            "default" : "WATER_VAPOR_FLUX"
          },
          "waterVaporFlux" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_MassFlowRate"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.Dimensional_MassFlowRate" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "title" : "Value",
            "type" : "number"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "kg/s", "lb/s", "kg/min", "kg/h", "g/s", "g/min", "g/h", "lb/min", "lb/h", "slug/s", "slug/min", "slug/h" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.SurfaceWaterVaporFluxHumidityBC" : {
        "title" : "Mass flux",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: SurfaceWaterVaporFluxHumidityBC",
            "default" : "SURFACE_WATER_VAPOR_FLUX"
          },
          "waterVaporFlux" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_EddyViscosityGradient"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.Dimensional_EddyViscosityGradient" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "title" : "Value",
            "type" : "number"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "kg/(s·m²)", "lbf·s/in³" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.ConstantContactAnglePFBC" : {
        "title" : "Constant contact angle",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: ConstantContactAnglePFBC",
            "default" : "CONSTANT_CONTACT_ANGLE"
          },
          "equilibriumContactAngle" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Angle"
          },
          "limit" : {
            "title" : "Limit",
            "type" : "string",
            "default" : "NONE",
            "enum" : [ "GRADIENT", "NONE", "PHASE_FRACTION", "ZERO_GRADIENT" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.DynamicContactAnglePFBC" : {
        "title" : "Dynamic contact angle",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: DynamicContactAnglePFBC",
            "default" : "DYNAMIC_CONTACT_ANGLE"
          },
          "equilibriumContactAngle" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Angle"
          },
          "advancingContactAngle" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Angle"
          },
          "recedingContactAngle" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Angle"
          },
          "velocityScaleOfContactAngle" : {
            "title" : "Velocity scale of contact angle",
            "type" : "number",
            "default" : 1
          },
          "limit" : {
            "title" : "Limit",
            "type" : "string",
            "default" : "NONE",
            "enum" : [ "GRADIENT", "NONE", "PHASE_FRACTION", "ZERO_GRADIENT" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.ZeroGradientPFBC" : {
        "title" : "Zero gradient",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: ZeroGradientPFBC",
            "default" : "ZERO_GRADIENT"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.NoCurrentEBC" : {
        "title" : "None",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: NoCurrentEBC",
            "default" : "NO_CURRENT"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.CurrentInflowEBC" : {
        "title" : "Current inflow",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: CurrentInflowEBC",
            "default" : "CURRENT_INFLOW"
          },
          "currentFunction" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_ElectricCurrent"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.DimensionalFunction_ElectricCurrent" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_DimensionalFunction_ElectricCurrentValue"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "A" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.CurrentOutflowEBC" : {
        "title" : "Current outflow",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: CurrentOutflowEBC",
            "default" : "CURRENT_OUTFLOW"
          },
          "currentFunction" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_ElectricCurrent"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.FixedElectricPotentialEBC" : {
        "title" : "Electric potential",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: FixedElectricPotentialEBC",
            "default" : "FIXED_ELECTRIC_POTENTIAL"
          },
          "potentialFunction" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_ElectricPotential"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.DimensionalFunction_ElectricPotential" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_DimensionalFunction_ElectricPotentialValue"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "V" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.FanBC" : {
        "title" : "Fan",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "This boundary condition sets the <b>pressure</b> based on the pressure drop specified as a function of the volumetric flow rate. <a href='https://www.simscale.com/knowledge-base/how-do-i-model-a-fan-curve-in-simscale/#external-fan-boundary-condition' target='_blank'>Learn more</a>\n\nSchema name: FanBC",
            "default" : "FAN"
          },
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "direction" : {
            "title" : "Fan Type",
            "type" : "string",
            "default" : "IN",
            "enum" : [ "IN", "OUT" ]
          },
          "pressure" : {
            "$ref" : "#/components/schemas/Simulation.FanPBC"
          },
          "pressureRgh" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_FanBCPressureRgh"
          },
          "gaugePressure" : {
            "$ref" : "#/components/schemas/Simulation.FanPBC"
          },
          "gaugePressureRgh" : {
            "$ref" : "#/components/schemas/Simulation.FanPBC"
          },
          "turbulence" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_FanBCTurbulence"
          },
          "temperature" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_FanBCTemperature"
          },
          "passiveScalars" : {
            "title" : "Passive scalars",
            "type" : "array",
            "description" : "Please choose a boundary condition for passive scalar (T).",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.FixedValuePSBC"
            },
            "x-showWhen" : [ "type in [INCOMPRESSIBLE,CONVECTIVE_HEAT_TRANSFER,COUPLED_CONJUGATE_HEAT_TRANSFER,EMBEDDED_BOUNDARY] && 1/direction == IN && numOfPassiveSpecies > 0" ]
          },
          "netRadiativeHeatFlux" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_FanBCNetRadiativeHeatFlux"
          },
          "radiativeIntensityRay" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_FanBCRadiativeIntensityRay"
          },
          "relativeHumidity" : {
            "$ref" : "#/components/schemas/Simulation.FixedValueRHBC"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          }
        },
        "additionalProperties" : false,
        "description" : "This boundary condition sets the <b>pressure</b> based on the pressure drop specified as a function of the volumetric flow rate. <a href='https://www.simscale.com/knowledge-base/how-do-i-model-a-fan-curve-in-simscale/#external-fan-boundary-condition' target='_blank'>Learn more</a>"
      },
      "Simulation.FanPBC" : {
        "title" : "(P<fan>) Fan pressure",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: FanPBC",
            "default" : "FAN_PRESSURE"
          },
          "fanPressure" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_Pressure"
          },
          "environmentalTotalPressure" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Pressure"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.VariableGroup_V_DOT" : {
        "type" : "object",
        "properties" : {
          "V_DOT" : {
            "$ref" : "#/components/schemas/Simulation.Unit_VolumetricFlowRate"
          }
        }
      },
      "Simulation.Unit_VolumetricFlowRate" : {
        "type" : "object",
        "properties" : {
          "value" : {
            "title" : "Value",
            "type" : "number"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "m³/s", "in³/s", "m³/min", "m³/h", "mm³/s", "mm³/min", "mm³/h", "cm³/s", "cm³/min", "cm³/h", "l/s", "l/min", "l/h", "in³/min", "in³/h", "ft³/s", "ft³/min", "ft³/h", "gal/min", "gal/h", "gal/s" ]
          }
        }
      },
      "Simulation.HydrostaticFanPBC" : {
        "title" : "(P<fan>) Hydrostatic fan pressure",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "<p>This pressure formulation is suitable for atmospheric flows with perfect gas fluids: the pressure decreases with increasing height to keep the domain at hydrostatic equilibrium. The ambient pressure in the input sets the pressure at ground level.\n\nSchema name: HydrostaticFanPBC",
            "default" : "HYDROSTATIC_ISOTHERMAL_FAN_PRESSURE"
          },
          "fanPressure" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_Pressure"
          },
          "environmentalTotalPressure" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Pressure"
          }
        },
        "additionalProperties" : false,
        "description" : "<p>This pressure formulation is suitable for atmospheric flows with perfect gas fluids: the pressure decreases with increasing height to keep the domain at hydrostatic equilibrium. The ambient pressure in the input sets the pressure at ground level."
      },
      "Simulation.SymmetryBC" : {
        "title" : "Symmetry",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "This boundary condition provides a symmetry condition on any face by applying a mirror effect. The fluxes and the normal components across the symmetry face are set to zero. <a href='https://www.simscale.com/docs/simulation-setup/boundary-conditions/symmetry/' target='_blank'>Learn more</a>.\n\nSchema name: SymmetryBC",
            "default" : "SYMMETRY"
          },
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          }
        },
        "additionalProperties" : false,
        "description" : "This boundary condition provides a symmetry condition on any face by applying a mirror effect. The fluxes and the normal components across the symmetry face are set to zero. <a href='https://www.simscale.com/docs/simulation-setup/boundary-conditions/symmetry/' target='_blank'>Learn more</a>."
      },
      "Simulation.PeriodicBC" : {
        "title" : "Periodic",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "This boundary condition should be used on two faces of a system as if they are physically connected. It is required that the two faces are of same size and shape and the face elements of the mesh are congruent on both sides. Works for uploaded meshes only. <a href='https://www.simscale.com/docs/simulation-setup/boundary-conditions/periodic-boundary-condition/' target='_blank'>Learn more</a>.\n\nSchema name: PeriodicBC",
            "default" : "PERIODIC"
          },
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          }
        },
        "additionalProperties" : false,
        "description" : "This boundary condition should be used on two faces of a system as if they are physically connected. It is required that the two faces are of same size and shape and the face elements of the mesh are congruent on both sides. Works for uploaded meshes only. <a href='https://www.simscale.com/docs/simulation-setup/boundary-conditions/periodic-boundary-condition/' target='_blank'>Learn more</a>."
      },
      "Simulation.WedgeBC" : {
        "title" : "Wedge",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "This boundary condition is applied to the front and back faces of an axisymmetric system (eg. cylinder). Note that the face elements of the mesh need to be congruent on both the faces. Works for uploaded 2D meshes only.  <a href='https://www.simscale.com/docs/simulation-setup/boundary-conditions/wedge/' target='_blank'>Learn more</a>.\n\nSchema name: WedgeBC",
            "default" : "WEDGE"
          },
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          }
        },
        "additionalProperties" : false,
        "description" : "This boundary condition is applied to the front and back faces of an axisymmetric system (eg. cylinder). Note that the face elements of the mesh need to be congruent on both the faces. Works for uploaded 2D meshes only.  <a href='https://www.simscale.com/docs/simulation-setup/boundary-conditions/wedge/' target='_blank'>Learn more</a>."
      },
      "Simulation.CustomFluidBC" : {
        "title" : "Custom",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "This boundary condition allows the user to choose conditions for each physical variable separately. It provides full flexibility over the choice of boundary conditions to make advanced customization possible.\n\nSchema name: CustomFluidBC",
            "default" : "CUSTOM_V37"
          },
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "velocity" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_CustomFluidBCVelocity"
          },
          "pressure" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_CustomFluidBCPressure"
          },
          "pressureRgh" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_CustomFluidBCPressureRgh"
          },
          "gaugePressure" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_CustomFluidBCGaugePressure"
          },
          "gaugePressureRgh" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_CustomFluidBCGaugePressureRgh"
          },
          "temperature" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_CustomFluidBCTemperature"
          },
          "turbulentKineticEnergy" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_CustomFluidBCTurbulentKineticEnergy"
          },
          "omegaDissipationRate" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_CustomFluidBCOmegaDissipationRate"
          },
          "epsilonDissipationRate" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_CustomFluidBCEpsilonDissipationRate"
          },
          "eddyViscosity" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_CustomFluidBCEddyViscosity"
          },
          "eddyViscosityCompressible" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_CustomFluidBCEddyViscosityCompressible"
          },
          "nuTilda" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_CustomFluidBCNuTilda"
          },
          "turbulentThermalDiffusivity" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_CustomFluidBCTurbulentThermalDiffusivity"
          },
          "turbulentThermalDiffusivityCompressible" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_CustomFluidBCTurbulentThermalDiffusivityCompressible"
          },
          "turbulentDynamicViscosity" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_CustomFluidBCTurbulentDynamicViscosity"
          },
          "passiveScalars" : {
            "title" : "Passive scalars",
            "type" : "array",
            "description" : "Please choose a boundary condition for passive scalar (T).",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.OneOf_CustomFluidBCPassiveScalars"
            },
            "x-showWhen" : [ "type == INCOMPRESSIBLE && numOfPassiveSpecies > 0", "type == CONVECTIVE_HEAT_TRANSFER && numOfPassiveSpecies > 0", "type == COUPLED_CONJUGATE_HEAT_TRANSFER && numOfPassiveSpecies > 0", "type == EMBEDDED_BOUNDARY && numOfPassiveSpecies > 0" ]
          },
          "phaseFraction" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_CustomFluidBCPhaseFraction"
          },
          "netRadiativeHeatFlux" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_CustomFluidBCNetRadiativeHeatFlux"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          }
        },
        "additionalProperties" : false,
        "description" : "This boundary condition allows the user to choose conditions for each physical variable separately. It provides full flexibility over the choice of boundary conditions to make advanced customization possible."
      },
      "Simulation.AdvectiveVBC" : {
        "title" : "Advective",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: AdvectiveVBC",
            "default" : "ADVECTIVE"
          },
          "relaxBoundary" : {
            "title" : "Relax boundary",
            "type" : "boolean",
            "default" : false
          },
          "farFieldValue" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalVector_Speed"
          },
          "relaxationLengthScale" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Length"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.SymmetryVBC" : {
        "title" : "Symmetry",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: SymmetryVBC",
            "default" : "SYMMETRY"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.FixedGradientVBC" : {
        "title" : "Fixed gradient",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: FixedGradientVBC",
            "default" : "FIXED_GRADIENT"
          },
          "gradient" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalVector_SpecificTurbulenceDissipationRate"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.DimensionalVector_SpecificTurbulenceDissipationRate" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "$ref" : "#/components/schemas/Simulation.DecimalVector"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "1/s" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.InletOutletVBC" : {
        "title" : "Inlet-outlet",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: InletOutletVBC",
            "default" : "INLET_OUTLET"
          },
          "value" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalVector_Speed"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.PressureInletVBC" : {
        "title" : "Pressure inlet velocity",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: PressureInletVBC",
            "default" : "PRESSURE_INLET_VELOCITY"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.PressureInletOutletVBC" : {
        "title" : "Pressure inlet-outlet velocity",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: PressureInletOutletVBC",
            "default" : "PRESSURE_INLET_OUTLET_VELOCITY"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.ZeroGradientVBC" : {
        "title" : "Zero gradient",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: ZeroGradientVBC",
            "default" : "ZERO_GRADIENT"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.AdvectivePBC" : {
        "title" : "Advective",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: AdvectivePBC",
            "default" : "ADVECTIVE"
          },
          "relaxBoundary" : {
            "title" : "Relax boundary",
            "type" : "boolean",
            "default" : false
          },
          "farFieldValue" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Pressure"
          },
          "relaxationLengthScale" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Length"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.SymmetryPBC" : {
        "title" : "Symmetry",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: SymmetryPBC",
            "default" : "SYMMETRY"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.FixedGradientPBC" : {
        "title" : "Fixed gradient",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: FixedGradientPBC",
            "default" : "FIXED_GRADIENT"
          },
          "gradient" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_ForceDensity"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.Dimensional_ForceDensity" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "title" : "Value",
            "type" : "number"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "Pa/m", "lbf/in³" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.FreestreamPBC" : {
        "title" : "Freestream",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: FreestreamPBC",
            "default" : "FREESTREAM"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.ZeroGradientPBC" : {
        "title" : "Zero gradient",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: ZeroGradientPBC",
            "default" : "ZERO_GRADIENT"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.WaveTransmissivePBC" : {
        "title" : "Wave transmissive",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: WaveTransmissivePBC",
            "default" : "WAVE_TRANSMISSIVE"
          },
          "specificHeatRatio" : {
            "title" : "(γ) Gamma",
            "type" : "number",
            "default" : 1.4
          },
          "relaxBoundary" : {
            "title" : "Relax boundary",
            "type" : "boolean",
            "default" : false
          },
          "farFieldValue" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Pressure"
          },
          "relaxationLengthScale" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Length"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.FixedFluxPBC" : {
        "title" : "Fixed flux",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: FixedFluxPBC",
            "default" : "FIXED_FLUX_PRESSURE"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.FixedGradientTBC" : {
        "title" : "Fixed gradient",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: FixedGradientTBC",
            "default" : "FIXED_GRADIENT"
          },
          "gradient" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_TemperatureGradient"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.DimensionalFunction_TemperatureGradient" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_DimensionalFunction_TemperatureGradientValue"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "K/m", "°F/in" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.InletOutletTBC" : {
        "title" : "Inlet-outlet",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: InletOutletTBC",
            "default" : "INLET_OUTLET"
          },
          "value" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Temperature"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.SymmetryTBC" : {
        "title" : "Symmetry",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: SymmetryTBC",
            "default" : "SYMMETRY"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.WallHeatTransferTBC" : {
        "title" : "Wall heat transfer",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: WallHeatTransferTBC",
            "default" : "WALL_HEAT_TRANSFER"
          },
          "wallTemperature" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Temperature"
          },
          "thermalDiffusivity" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_KinematicViscosity"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.SymmetryTKEBC" : {
        "title" : "Symmetry",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: SymmetryTKEBC",
            "default" : "SYMMETRY"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.FixedGradientTKEBC" : {
        "title" : "Fixed gradient",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: FixedGradientTKEBC",
            "default" : "FIXED_GRADIENT"
          },
          "gradient" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Acceleration"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.Dimensional_Acceleration" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "title" : "Value",
            "type" : "number"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "m/s²", "in/s²", "G" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.FixedValueTKEBC" : {
        "title" : "Fixed value",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: FixedValueTKEBC",
            "default" : "FIXED_VALUE"
          },
          "value" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_TurbulenceKineticEnergy"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.InletOutletTKEBC" : {
        "title" : "Inlet-outlet",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: InletOutletTKEBC",
            "default" : "INLET_OUTLET"
          },
          "value" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_TurbulenceKineticEnergy"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.ZeroGradientTKEBC" : {
        "title" : "Zero gradient",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: ZeroGradientTKEBC",
            "default" : "ZERO_GRADIENT"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.IntensityKineticEnergyInletTKEBC" : {
        "title" : "Intensity inlet",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: IntensityKineticEnergyInletTKEBC",
            "default" : "TURBULENT_INTENSITY_KINETIC_ENERGY_INLET"
          },
          "intensity" : {
            "title" : "Intensity",
            "maximum" : 1.0,
            "exclusiveMaximum" : false,
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "default" : 0.05
          }
        },
        "additionalProperties" : false
      },
      "Simulation.WallFunctionTKEBC" : {
        "title" : "Wall function",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: WallFunctionTKEBC",
            "default" : "WALL_FUNCTION"
          },
          "wallRoughness" : {
            "title" : "Wall roughness",
            "type" : "boolean",
            "default" : false
          },
          "roughnessHeight" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Length"
          },
          "roughnessConstant" : {
            "title" : "Roughness constant",
            "minimum" : 0.5,
            "exclusiveMinimum" : false,
            "type" : "number",
            "default" : 0.5,
            "x-showWhen" : [ "1/wallRoughness == true" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.FullResolutionTKEBC" : {
        "title" : "Full resolution",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: FullResolutionTKEBC",
            "default" : "FULL_RESOLUTION"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.SymmetryOBC" : {
        "title" : "Symmetry",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: SymmetryOBC",
            "default" : "SYMMETRY"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.FixedGradientOBC" : {
        "title" : "Fixed gradient",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: FixedGradientOBC",
            "default" : "FIXED_GRADIENT"
          },
          "gradient" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_SpecificTurbulenceDissipationRateGradient"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.Dimensional_SpecificTurbulenceDissipationRateGradient" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "title" : "Value",
            "type" : "number"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "1/(s·m)", "1/(s·in)" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.FixedValueOBC" : {
        "title" : "Fixed value",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: FixedValueOBC",
            "default" : "FIXED_VALUE"
          },
          "value" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_SpecificTurbulenceDissipationRate"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.InletOutletOBC" : {
        "title" : "Inlet-outlet",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: InletOutletOBC",
            "default" : "INLET_OUTLET"
          },
          "value" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_SpecificTurbulenceDissipationRate"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.ZeroGradientOBC" : {
        "title" : "Zero gradient",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: ZeroGradientOBC",
            "default" : "ZERO_GRADIENT"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.WallFunctionOBC" : {
        "title" : "Wall function",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: WallFunctionOBC",
            "default" : "WALL_FUNCTION"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.FullResolutionOBC" : {
        "title" : "Full resolution",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: FullResolutionOBC",
            "default" : "FULL_RESOLUTION"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.SymmetryEBC" : {
        "title" : "Symmetry",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: SymmetryEBC",
            "default" : "SYMMETRY"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.FixedGradientEBC" : {
        "title" : "Fixed gradient",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: FixedGradientEBC",
            "default" : "FIXED_GRADIENT"
          },
          "gradient" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_EpsilonGradient"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.Dimensional_EpsilonGradient" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "title" : "Value",
            "type" : "number"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "m/s³", "lbf/(s·lb)" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.FixedValueEBC" : {
        "title" : "Fixed value",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: FixedValueEBC",
            "default" : "FIXED_VALUE"
          },
          "value" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_TurbulentDissipation"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.InletOutletEBC" : {
        "title" : "Inlet-outlet",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: InletOutletEBC",
            "default" : "INLET_OUTLET"
          },
          "value" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_TurbulentDissipation"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.MixingLengthInletEBC" : {
        "title" : "Mixing length inlet",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: MixingLengthInletEBC",
            "default" : "TURBULENCE_MIXING_LENGTH_DISSIPATION_RATE_INLET"
          },
          "mixingLength" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Length"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.ZeroGradientEBC" : {
        "title" : "Zero gradient",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: ZeroGradientEBC",
            "default" : "ZERO_GRADIENT"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.WallFunctionEBC" : {
        "title" : "Wall function",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: WallFunctionEBC",
            "default" : "WALL_FUNCTION"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.FullResolutionEBC" : {
        "title" : "Full resolution",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: FullResolutionEBC",
            "default" : "FULL_RESOLUTION"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.CalculatedEVBC" : {
        "title" : "Calculated",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: CalculatedEVBC",
            "default" : "CALCULATED"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.SymmetryEVBC" : {
        "title" : "Symmetry",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: SymmetryEVBC",
            "default" : "SYMMETRY"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.FixedGradientEVBC" : {
        "title" : "Fixed gradient",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: FixedGradientEVBC",
            "default" : "FIXED_GRADIENT"
          },
          "gradient" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_EddyViscosityGradient"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.FixedValueEVBC" : {
        "title" : "Fixed value",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: FixedValueEVBC",
            "default" : "FIXED_VALUE"
          },
          "value" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_DynamicViscosity"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.InletOutletEVBC" : {
        "title" : "Inlet-outlet",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: InletOutletEVBC",
            "default" : "INLET_OUTLET"
          },
          "value" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_DynamicViscosity"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.ZeroGradientEVBC" : {
        "title" : "Zero gradient",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: ZeroGradientEVBC",
            "default" : "ZERO_GRADIENT"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.WallFunctionEVBC" : {
        "title" : "Wall function",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: WallFunctionEVBC",
            "default" : "WALL_FUNCTION"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.FullResolutionEVBC" : {
        "title" : "Full resolution",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: FullResolutionEVBC",
            "default" : "FULL_RESOLUTION"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.CalculatedEVCBC" : {
        "title" : "Calculated",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: CalculatedEVCBC",
            "default" : "CALCULATED"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.SymmetryEVCBC" : {
        "title" : "Symmetry",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: SymmetryEVCBC",
            "default" : "SYMMETRY"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.FixedGradientEVCBC" : {
        "title" : "Fixed gradient",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: FixedGradientEVCBC",
            "default" : "FIXED_GRADIENT"
          },
          "gradient" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_EddyViscosityGradient"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.FixedValueEVCBC" : {
        "title" : "Fixed value",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: FixedValueEVCBC",
            "default" : "FIXED_VALUE"
          },
          "value" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_DynamicViscosity"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.InletOutletEVCBC" : {
        "title" : "Inlet-outlet",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: InletOutletEVCBC",
            "default" : "INLET_OUTLET"
          },
          "value" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_DynamicViscosity"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.ZeroGradientEVCBC" : {
        "title" : "Zero gradient",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: ZeroGradientEVCBC",
            "default" : "ZERO_GRADIENT"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.WallFunctionEVCBC" : {
        "title" : "Wall function",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: WallFunctionEVCBC",
            "default" : "WALL_FUNCTION"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.FullResolutionEVCBC" : {
        "title" : "Full resolution",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: FullResolutionEVCBC",
            "default" : "FULL_RESOLUTION"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.SymmetryNBC" : {
        "title" : "Symmetry",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: SymmetryNBC",
            "default" : "SYMMETRY"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.FixedGradientNBC" : {
        "title" : "Fixed gradient",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: FixedGradientNBC",
            "default" : "FIXED_GRADIENT"
          },
          "gradient" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Speed"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.FixedValueNBC" : {
        "title" : "Fixed value",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: FixedValueNBC",
            "default" : "FIXED_VALUE"
          },
          "value" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_KinematicViscosity"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.InletOutletNBC" : {
        "title" : "Inlet-outlet",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: InletOutletNBC",
            "default" : "INLET_OUTLET"
          },
          "value" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_KinematicViscosity"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.ZeroGradientNBC" : {
        "title" : "Zero gradient",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: ZeroGradientNBC",
            "default" : "ZERO_GRADIENT"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.WallFunctionNBC" : {
        "title" : "Wall function",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: WallFunctionNBC",
            "default" : "WALL_FUNCTION"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.FullResolutionNBC" : {
        "title" : "Full resolution",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: FullResolutionNBC",
            "default" : "FULL_RESOLUTION"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.CalculatedTDBC" : {
        "title" : "Calculated",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: CalculatedTDBC",
            "default" : "CALCULATED"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.FixedGradientTDBC" : {
        "title" : "Fixed gradient",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: FixedGradientTDBC",
            "default" : "FIXED_GRADIENT"
          },
          "gradient" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_EddyViscosityGradient"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.FixedValueTDBC" : {
        "title" : "Fixed value",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: FixedValueTDBC",
            "default" : "FIXED_VALUE"
          },
          "value" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_DynamicViscosity"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.ZeroGradientTDBC" : {
        "title" : "Zero gradient",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: ZeroGradientTDBC",
            "default" : "ZERO_GRADIENT"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.SymmetryTDBC" : {
        "title" : "Symmetry",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: SymmetryTDBC",
            "default" : "SYMMETRY"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.WallFunctionTDBC" : {
        "title" : "Wall function",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: WallFunctionTDBC",
            "default" : "WALL_FUNCTION"
          },
          "prandtlNumber" : {
            "title" : "(Pr) Prandtl number",
            "minimum" : 0,
            "exclusiveMinimum" : true,
            "type" : "number",
            "default" : 0.85
          }
        },
        "additionalProperties" : false
      },
      "Simulation.FullResolutionTDBC" : {
        "title" : "Full resolution",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: FullResolutionTDBC",
            "default" : "FULL_RESOLUTION"
          },
          "prandtlNumber" : {
            "title" : "(Pr) Prandtl number",
            "minimum" : 0,
            "exclusiveMinimum" : true,
            "type" : "number",
            "default" : 0.85
          }
        },
        "additionalProperties" : false
      },
      "Simulation.CalculatedTDCBC" : {
        "title" : "Calculated",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: CalculatedTDCBC",
            "default" : "CALCULATED"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.FixedGradientTDCBC" : {
        "title" : "Fixed gradient",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: FixedGradientTDCBC",
            "default" : "FIXED_GRADIENT"
          },
          "gradient" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_EddyViscosityGradient"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.FixedValueTDCBC" : {
        "title" : "Fixed value",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: FixedValueTDCBC",
            "default" : "FIXED_VALUE"
          },
          "value" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_DynamicViscosity"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.ZeroGradientTDCBC" : {
        "title" : "Zero gradient",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: ZeroGradientTDCBC",
            "default" : "ZERO_GRADIENT"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.SymmetryTDCBC" : {
        "title" : "Symmetry",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: SymmetryTDCBC",
            "default" : "SYMMETRY"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.WallFunctionTDCBC" : {
        "title" : "Wall function",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: WallFunctionTDCBC",
            "default" : "WALL_FUNCTION"
          },
          "prandtlNumber" : {
            "title" : "(Pr) Prandtl number",
            "minimum" : 0,
            "exclusiveMinimum" : true,
            "type" : "number",
            "default" : 0.85
          }
        },
        "additionalProperties" : false
      },
      "Simulation.FullResolutionTDCBC" : {
        "title" : "Full resolution",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: FullResolutionTDCBC",
            "default" : "FULL_RESOLUTION"
          },
          "prandtlNumber" : {
            "title" : "(Pr) Prandtl number",
            "minimum" : 0,
            "exclusiveMinimum" : true,
            "type" : "number",
            "default" : 0.85
          }
        },
        "additionalProperties" : false
      },
      "Simulation.CalculatedDVBC" : {
        "title" : "Calculated",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: CalculatedDVBC",
            "default" : "CALCULATED"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.FixedGradientDVBC" : {
        "title" : "Fixed gradient",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: FixedGradientDVBC",
            "default" : "FIXED_GRADIENT"
          },
          "gradient" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_EddyViscosityGradient"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.FixedValueDVBC" : {
        "title" : "Fixed value",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: FixedValueDVBC",
            "default" : "FIXED_VALUE"
          },
          "value" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_DynamicViscosity"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.InletOutletDVBC" : {
        "title" : "Inlet-outlet",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: InletOutletDVBC",
            "default" : "INLET_OUTLET"
          },
          "value" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_DynamicViscosity"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.ZeroGradientDVBC" : {
        "title" : "Zero gradient",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: ZeroGradientDVBC",
            "default" : "ZERO_GRADIENT"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.SymmetryDVBC" : {
        "title" : "Symmetry",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: SymmetryDVBC",
            "default" : "SYMMETRY"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.WallFunctionDVBC" : {
        "title" : "Wall function",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: WallFunctionDVBC",
            "default" : "WALL_FUNCTION"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.FullResolutionDVBC" : {
        "title" : "Full resolution",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: FullResolutionDVBC",
            "default" : "FULL_RESOLUTION"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.FixedGradientPSBC" : {
        "title" : "Fixed gradient",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: FixedGradientPSBC",
            "default" : "FIXED_GRADIENT"
          },
          "gradient" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Absorptivity"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.Dimensional_Absorptivity" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "title" : "Value",
            "type" : "number"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "1/m", "1/in" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.InletOutletPSBC" : {
        "title" : "Inlet-outlet",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: InletOutletPSBC",
            "default" : "INLET_OUTLET"
          },
          "value" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Dimensionless"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.ZeroGradientPSBC" : {
        "title" : "Zero gradient",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: ZeroGradientPSBC",
            "default" : "ZERO_GRADIENT"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.SymmetryPSBC" : {
        "title" : "Symmetry",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: SymmetryPSBC",
            "default" : "SYMMETRY"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.FixedGradientPFBC" : {
        "title" : "Fixed gradient",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: FixedGradientPFBC",
            "default" : "FIXED_GRADIENT"
          },
          "gradient" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_PhaseFractionGradient"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.Dimensional_PhaseFractionGradient" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "title" : "Value",
            "type" : "number"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "1/m", "1/in" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.InletOutletPFBC" : {
        "title" : "Inlet-outlet",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: InletOutletPFBC",
            "default" : "INLET_OUTLET"
          },
          "value" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Dimensionless"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.SymmetryPFBC" : {
        "title" : "Symmetry",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: SymmetryPFBC",
            "default" : "SYMMETRY"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.Empty2DBC" : {
        "title" : "Empty 2D",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "This boundary condition is intended only for uploaded 2D OpenFOAM meshes. A 2D mesh is ensured by having a single cell thickness in one of the 3 spatial directions. <a href='https://www.simscale.com/docs/simulation-setup/boundary-conditions/empty-2d/' target='_blank'>Learn more.</a>\n\nSchema name: Empty2DBC",
            "default" : "EMPTY_2D"
          },
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          }
        },
        "additionalProperties" : false,
        "description" : "This boundary condition is intended only for uploaded 2D OpenFOAM meshes. A 2D mesh is ensured by having a single cell thickness in one of the 3 spatial directions. <a href='https://www.simscale.com/docs/simulation-setup/boundary-conditions/empty-2d/' target='_blank'>Learn more.</a>"
      },
      "Simulation.AdvancedConcepts" : {
        "type" : "object",
        "properties" : {
          "thermalContactResistance" : {
            "title" : "Contact resistance",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.OneOf_AdvancedConceptsThermalContactResistance"
            },
            "x-showWhen" : [ "type == EMBEDDED_BOUNDARY" ]
          },
          "humiditySources" : {
            "title" : "Humidity sources",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.OneOf_AdvancedConceptsHumiditySources"
            },
            "x-showWhen" : [ "type == COUPLED_CONJUGATE_HEAT_TRANSFER && isCompressible == true && enableHumidityModel == true", "type == EMBEDDED_BOUNDARY && isCompressible == true && enableHumidityModel == true" ]
          },
          "momentumSources" : {
            "title" : "Momentum sources",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.OneOf_AdvancedConceptsMomentumSources"
            },
            "x-showWhen" : [ "type in [CONJUGATE_HEAT_TRANSFER,CONVECTIVE_HEAT_TRANSFER,COUPLED_CONJUGATE_HEAT_TRANSFER,EMBEDDED_BOUNDARY]", "type == INCOMPRESSIBLE && algorithm in [SIMPLE,PIMPLE]" ]
          },
          "passiveScalarSources" : {
            "title" : "Passive scalar sources",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.OneOf_AdvancedConceptsPassiveScalarSources"
            },
            "x-showWhen" : [ "type == INCOMPRESSIBLE && numOfPassiveSpecies > 0", "type == CONVECTIVE_HEAT_TRANSFER && numOfPassiveSpecies > 0", "type == COUPLED_CONJUGATE_HEAT_TRANSFER && numOfPassiveSpecies > 0", "type == EMBEDDED_BOUNDARY && numOfPassiveSpecies > 0" ]
          },
          "porousMediums" : {
            "title" : "Porous media",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.OneOf_AdvancedConceptsPorousMediums"
            },
            "x-showWhen" : [ "type in [COMPRESSIBLE,CONVECTIVE_HEAT_TRANSFER,COUPLED_CONJUGATE_HEAT_TRANSFER,EMBEDDED_BOUNDARY,SIMERICS_ANALYSIS]", "type == INCOMPRESSIBLE && algorithm in [SIMPLE,PIMPLE]" ]
          },
          "powerSources" : {
            "title" : "Power sources",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.OneOf_AdvancedConceptsPowerSources"
            },
            "x-showWhen" : [ "type in [CONJUGATE_HEAT_TRANSFER,CONVECTIVE_HEAT_TRANSFER,COUPLED_CONJUGATE_HEAT_TRANSFER,EMBEDDED_BOUNDARY]", "type == SIMERICS_ANALYSIS && isCompressible == true" ]
          },
          "rotatingZones" : {
            "title" : "Rotating zones",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.OneOf_AdvancedConceptsRotatingZones"
            },
            "x-showWhen" : [ "type in [INCOMPRESSIBLE,COMPRESSIBLE,SIMERICS_ANALYSIS]", "type == CONVECTIVE_HEAT_TRANSFER && timeDependency.type == STATIONARY && enableRadiation == false", "type == CONVECTIVE_HEAT_TRANSFER && timeDependency.type != STATIONARY", "type == CONJUGATE_HEAT_TRANSFER && timeDependency.type == STATIONARY && enableRadiation == false", "type == CONJUGATE_HEAT_TRANSFER && timeDependency.type != STATIONARY", "type == COUPLED_CONJUGATE_HEAT_TRANSFER && timeDependency.type == STATIONARY", "type == COUPLED_CONJUGATE_HEAT_TRANSFER && timeDependency.type != STATIONARY && enableRadiation == false", "type == EMBEDDED_BOUNDARY && timeDependency.type == STATIONARY", "type == EMBEDDED_BOUNDARY && timeDependency.type != STATIONARY && enableRadiation == false", "type == MULTIPHASE && useLocalTimeStepping == false" ]
          },
          "solidBodyMotions" : {
            "title" : "Solid body motions",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.OneOf_AdvancedConceptsSolidBodyMotions"
            },
            "x-showWhen" : [ "type == INCOMPRESSIBLE && algorithm == PIMPLE", "type == MULTIPHASE && useLocalTimeStepping == false" ]
          },
          "thermalResistanceNetworks" : {
            "title" : "Thermal Resistance Networks",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.OneOf_AdvancedConceptsThermalResistanceNetworks"
            },
            "x-showWhen" : [ "type == CONJUGATE_HEAT_TRANSFER && enableRadiation == false", "type in [COUPLED_CONJUGATE_HEAT_TRANSFER,EMBEDDED_BOUNDARY]" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.ThinResistanceLayer" : {
        "title" : "Thin layer resistance",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "<p>Choose the type of the contact resistance:</p><ul><li><p>To specify presence of thin layers with known thermal conductivity or/and electric resistivity and thickness, choose <b>Thin layer resistance</b>.</p><li><p>If the thermal/electric contact resistance is known (e.g. due to an imperfectly matching interface, choose <b>Contact resistance</b>. The resistance can be defined as surface-dependent or not, i.e. total or specific. To make a resistance inactive, set it to 0. Enter a high value to make it an isolator.</p><li><p>Conversely, if the thermal/electric contact conductance is known, choose <b>Specific conductance</b></p></ul><a href='https://www.simscale.com/docs/simulation-setup/advanced-concepts/contact-resistance/' target='_blank'>Learn more</a>.\n\nSchema name: ThinResistanceLayer",
            "default" : "THIN_RESISTANCE_LAYER"
          },
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "interfaceThermal" : {
            "$ref" : "#/components/schemas/Simulation.ContactInterfaceMaterialInterfaceThermal"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          }
        },
        "additionalProperties" : false,
        "description" : "<p>Choose the type of the contact resistance:</p><ul><li><p>To specify presence of thin layers with known thermal conductivity or/and electric resistivity and thickness, choose <b>Thin layer resistance</b>.</p><li><p>If the thermal/electric contact resistance is known (e.g. due to an imperfectly matching interface, choose <b>Contact resistance</b>. The resistance can be defined as surface-dependent or not, i.e. total or specific. To make a resistance inactive, set it to 0. Enter a high value to make it an isolator.</p><li><p>Conversely, if the thermal/electric contact conductance is known, choose <b>Specific conductance</b></p></ul><a href='https://www.simscale.com/docs/simulation-setup/advanced-concepts/contact-resistance/' target='_blank'>Learn more</a>."
      },
      "Simulation.ContactInterfaceMaterialInterfaceThermal" : {
        "title" : "Thin layer resistance interface",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: ContactInterfaceMaterialInterfaceThermal",
            "default" : "CONTACT_INTERFACE_MATERIAL"
          },
          "conductivityThicknessPairs" : {
            "title" : "Conductivity thickness pairs",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.ConductivityThicknessPair"
            }
          }
        },
        "additionalProperties" : false
      },
      "Simulation.ContactResistanceLayer" : {
        "title" : "Contact Resistance",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "<p>Choose the type of the contact resistance:</p><ul><li><p>To specify presence of thin layers with known thermal conductivity or/and electric resistivity and thickness, choose <b>Thin layer resistance</b>.</p><li><p>If the thermal/electric contact resistance is known (e.g. due to an imperfectly matching interface, choose <b>Contact resistance</b>. The resistance can be defined as surface-dependent or not, i.e. total or specific. To make a resistance inactive, set it to 0. Enter a high value to make it an isolator.</p><li><p>Conversely, if the thermal/electric contact conductance is known, choose <b>Specific conductance</b></p></ul><a href='https://www.simscale.com/docs/simulation-setup/advanced-concepts/contact-resistance/' target='_blank'>Learn more</a>.\n\nSchema name: ContactResistanceLayer",
            "default" : "CONTACT_RESISTANCE_LAYER"
          },
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "interfaceThermal" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_ContactResistanceLayerInterfaceThermal"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          }
        },
        "additionalProperties" : false,
        "description" : "<p>Choose the type of the contact resistance:</p><ul><li><p>To specify presence of thin layers with known thermal conductivity or/and electric resistivity and thickness, choose <b>Thin layer resistance</b>.</p><li><p>If the thermal/electric contact resistance is known (e.g. due to an imperfectly matching interface, choose <b>Contact resistance</b>. The resistance can be defined as surface-dependent or not, i.e. total or specific. To make a resistance inactive, set it to 0. Enter a high value to make it an isolator.</p><li><p>Conversely, if the thermal/electric contact conductance is known, choose <b>Specific conductance</b></p></ul><a href='https://www.simscale.com/docs/simulation-setup/advanced-concepts/contact-resistance/' target='_blank'>Learn more</a>."
      },
      "Simulation.TotalResistanceInterfaceThermal" : {
        "title" : "Total resistance interface",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: TotalResistanceInterfaceThermal",
            "default" : "TOTAL_RESISTANCE"
          },
          "contactResistance" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_ContactResistance"
          },
          "electricResistance" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_ElectricResistance"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.Dimensional_ElectricResistance" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "title" : "Value",
            "type" : "number"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "Ω" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.SpecificResistanceInterfaceThermal" : {
        "title" : "Specific resistance interface",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: SpecificResistanceInterfaceThermal",
            "default" : "SPECIFIC_RESISTANCE"
          },
          "contactResistance" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_SpecificContactResistance"
          },
          "electricResistance" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_SpecificElectricResistance"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.Dimensional_SpecificContactResistance" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "title" : "Value",
            "type" : "number"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "K·m²/W", "°F·s·in²/Btu" ],
            "x-MissingConversions" : true
          }
        },
        "additionalProperties" : false
      },
      "Simulation.Dimensional_SpecificElectricResistance" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "title" : "Value",
            "type" : "number"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "Ω·m²", "Ω·in²" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.ContactConductanceLayer" : {
        "title" : "Contact Conductance",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "<p>Choose the type of the contact resistance:</p><ul><li><p>To specify presence of thin layers with known thermal conductivity or/and electric resistivity and thickness, choose <b>Thin layer resistance</b>.</p><li><p>If the thermal/electric contact resistance is known (e.g. due to an imperfectly matching interface, choose <b>Contact resistance</b>. The resistance can be defined as surface-dependent or not, i.e. total or specific. To make a resistance inactive, set it to 0. Enter a high value to make it an isolator.</p><li><p>Conversely, if the thermal/electric contact conductance is known, choose <b>Specific conductance</b></p></ul><a href='https://www.simscale.com/docs/simulation-setup/advanced-concepts/contact-resistance/' target='_blank'>Learn more</a>.\n\nSchema name: ContactConductanceLayer",
            "default" : "CONTACT_CONDUCTANCE_LAYER"
          },
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "interfaceThermal" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_ContactConductanceLayerInterfaceThermal"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          }
        },
        "additionalProperties" : false,
        "description" : "<p>Choose the type of the contact resistance:</p><ul><li><p>To specify presence of thin layers with known thermal conductivity or/and electric resistivity and thickness, choose <b>Thin layer resistance</b>.</p><li><p>If the thermal/electric contact resistance is known (e.g. due to an imperfectly matching interface, choose <b>Contact resistance</b>. The resistance can be defined as surface-dependent or not, i.e. total or specific. To make a resistance inactive, set it to 0. Enter a high value to make it an isolator.</p><li><p>Conversely, if the thermal/electric contact conductance is known, choose <b>Specific conductance</b></p></ul><a href='https://www.simscale.com/docs/simulation-setup/advanced-concepts/contact-resistance/' target='_blank'>Learn more</a>."
      },
      "Simulation.SpecificConductanceInterfaceThermal" : {
        "title" : "Specific conductance interface",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: SpecificConductanceInterfaceThermal",
            "default" : "SPECIFIC_CONDUCTANCE"
          },
          "contactConductance" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_ThermalTransmittance"
          },
          "electricConductance" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_SpecificElectricConductance"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.Dimensional_SpecificElectricConductance" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "title" : "Value",
            "type" : "number"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "1/(Ω·m²)", "1/(Ω·in²)" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.TotalConductanceInterfaceThermal" : {
        "title" : "Total conductance interface",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: TotalConductanceInterfaceThermal",
            "default" : "TOTAL_CONDUCTANCE"
          },
          "contactConductance" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_TotalThermalTransmittance"
          },
          "electricConductance" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_ElectricConductance"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.Dimensional_TotalThermalTransmittance" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "title" : "Value",
            "type" : "number"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "W/K", "Btu/(s·°F)" ],
            "x-MissingConversions" : true
          }
        },
        "additionalProperties" : false
      },
      "Simulation.Dimensional_ElectricConductance" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "title" : "Value",
            "type" : "number"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "S" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.SpeciesHumiditySource" : {
        "title" : "Source of species",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "<i>Humidity sources</i> can be used to simulate humidity generation from a volume, knowing the mass of species entering the fluid domain per second.\n\nSchema name: SpeciesHumiditySource",
            "default" : "SPECIES_MASS_FLOW_RATE"
          },
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "waterVaporMassRate" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_MassFlowRate"
          },
          "dryAirMassRate" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_MassFlowRate"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          },
          "geometryPrimitiveUuids" : {
            "title" : "Geometry primitives",
            "type" : "array",
            "items" : {
              "type" : "string",
              "format" : "uuid"
            },
            "x-referencedPrimitivesOptions" : {
              "allowMultiple" : true,
              "pathToPrimitives" : "geometryPrimitives",
              "allowedReferencedPrimitiveTypes" : [ "CARTESIAN_BOX", "CYLINDER", "SPHERE" ]
            }
          }
        },
        "additionalProperties" : false,
        "description" : "<i>Humidity sources</i> can be used to simulate humidity generation from a volume, knowing the mass of species entering the fluid domain per second."
      },
      "Simulation.VolumetricSpeciesHumiditySource" : {
        "title" : "Volumetric source of species",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "<i>Humidity sources</i> can be used to simulate humidity generation from a volume, knowing the mass of species entering the fluid domain per second.\n\nSchema name: VolumetricSpeciesHumiditySource",
            "default" : "VOLUMETRIC_SPECIES_MASS_FLOW_RATE"
          },
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "waterVaporMassRate" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_AbsoluteHumidityRate"
          },
          "dryAirMassRate" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_AbsoluteHumidityRate"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          },
          "geometryPrimitiveUuids" : {
            "title" : "Geometry primitives",
            "type" : "array",
            "items" : {
              "type" : "string",
              "format" : "uuid"
            },
            "x-referencedPrimitivesOptions" : {
              "allowMultiple" : true,
              "pathToPrimitives" : "geometryPrimitives",
              "allowedReferencedPrimitiveTypes" : [ "CARTESIAN_BOX", "CYLINDER", "SPHERE" ]
            }
          }
        },
        "additionalProperties" : false,
        "description" : "<i>Humidity sources</i> can be used to simulate humidity generation from a volume, knowing the mass of species entering the fluid domain per second."
      },
      "Simulation.Dimensional_AbsoluteHumidityRate" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "title" : "Value",
            "type" : "number"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "kg/(m³·s)", "lb/(in³·s)" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.AverageVelocityMomentumSource" : {
        "title" : "Average velocity",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: AverageVelocityMomentumSource",
            "default" : "AVERAGE_VELOCITY"
          },
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "averageVelocity" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalVector_Speed"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          },
          "geometryPrimitiveUuids" : {
            "title" : "Geometry primitives",
            "type" : "array",
            "items" : {
              "type" : "string",
              "format" : "uuid"
            },
            "x-referencedPrimitivesOptions" : {
              "allowMultiple" : true,
              "pathToPrimitives" : "geometryPrimitives",
              "allowedReferencedPrimitiveTypes" : [ "CARTESIAN_BOX", "CYLINDER", "SPHERE" ]
            }
          }
        },
        "additionalProperties" : false
      },
      "Simulation.FanPressureDropMomentumSource" : {
        "title" : "Fan model",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: FanPressureDropMomentumSource",
            "default" : "FAN_PRESSURE_DROP"
          },
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "fanDirection" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalVector_Dimensionless"
          },
          "fanPressure" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_Pressure"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          },
          "geometryPrimitiveUuids" : {
            "title" : "Geometry primitives",
            "type" : "array",
            "items" : {
              "type" : "string",
              "format" : "uuid"
            },
            "x-referencedPrimitivesOptions" : {
              "allowMultiple" : true,
              "pathToPrimitives" : "geometryPrimitives",
              "allowedReferencedPrimitiveTypes" : [ "CARTESIAN_BOX", "CYLINDER" ]
            }
          }
        },
        "additionalProperties" : false
      },
      "Simulation.FrictionVelocityMomentumSource" : {
        "title" : "Friction velocity source",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: FrictionVelocityMomentumSource",
            "default" : "FRICTION_VELOCITY_SOURCE"
          },
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "frictionVelocity" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalVector_Speed"
          },
          "relaxationFactor" : {
            "title" : "Relaxation factor",
            "minimum" : 0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "default" : 1.0
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          },
          "geometryPrimitiveUuids" : {
            "title" : "Geometry primitives",
            "type" : "array",
            "items" : {
              "type" : "string",
              "format" : "uuid"
            },
            "x-referencedPrimitivesOptions" : {
              "allowMultiple" : true,
              "pathToPrimitives" : "geometryPrimitives",
              "allowedReferencedPrimitiveTypes" : [ "CARTESIAN_BOX", "CYLINDER", "SPHERE" ]
            }
          }
        },
        "additionalProperties" : false
      },
      "Simulation.AbsolutePassiveScalarSource" : {
        "title" : "Passive scalar source",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: AbsolutePassiveScalarSource",
            "default" : "ABSOLUTE"
          },
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "passiveScalarVariable" : {
            "title" : "Passive scalar variable",
            "type" : "string",
            "default" : "passive_scalar_one",
            "x-conditionalEnum" : [ {
              "value" : "passive_scalar_one"
            }, {
              "value" : "passive_scalar_two",
              "when" : [ "type == INCOMPRESSIBLE && numOfPassiveSpecies > 1", "type == CONVECTIVE_HEAT_TRANSFER && numOfPassiveSpecies > 1", "type == COUPLED_CONJUGATE_HEAT_TRANSFER && numOfPassiveSpecies > 1", "type == EMBEDDED_BOUNDARY && numOfPassiveSpecies > 1" ]
            }, {
              "value" : "passive_scalar_three",
              "when" : [ "type == INCOMPRESSIBLE && numOfPassiveSpecies > 2", "type == CONVECTIVE_HEAT_TRANSFER && numOfPassiveSpecies > 2", "type == COUPLED_CONJUGATE_HEAT_TRANSFER && numOfPassiveSpecies > 2", "type == EMBEDDED_BOUNDARY && numOfPassiveSpecies > 2" ]
            }, {
              "value" : "passive_scalar_four",
              "when" : [ "type == INCOMPRESSIBLE && numOfPassiveSpecies > 3", "type == CONVECTIVE_HEAT_TRANSFER && numOfPassiveSpecies > 3", "type == COUPLED_CONJUGATE_HEAT_TRANSFER && numOfPassiveSpecies > 3", "type == EMBEDDED_BOUNDARY && numOfPassiveSpecies > 3" ]
            }, {
              "value" : "passive_scalar_five",
              "when" : [ "type == INCOMPRESSIBLE && numOfPassiveSpecies > 4", "type == CONVECTIVE_HEAT_TRANSFER && numOfPassiveSpecies > 4", "type == COUPLED_CONJUGATE_HEAT_TRANSFER && numOfPassiveSpecies > 4", "type == EMBEDDED_BOUNDARY && numOfPassiveSpecies > 4" ]
            }, {
              "value" : "passive_scalar_six",
              "when" : [ "type == INCOMPRESSIBLE && numOfPassiveSpecies > 5", "type == CONVECTIVE_HEAT_TRANSFER && numOfPassiveSpecies > 5", "type == COUPLED_CONJUGATE_HEAT_TRANSFER && numOfPassiveSpecies > 5", "type == EMBEDDED_BOUNDARY && numOfPassiveSpecies > 5" ]
            }, {
              "value" : "passive_scalar_seven",
              "when" : [ "type == INCOMPRESSIBLE && numOfPassiveSpecies > 6", "type == CONVECTIVE_HEAT_TRANSFER && numOfPassiveSpecies > 6", "type == COUPLED_CONJUGATE_HEAT_TRANSFER && numOfPassiveSpecies > 6", "type == EMBEDDED_BOUNDARY && numOfPassiveSpecies > 6" ]
            }, {
              "value" : "passive_scalar_eight",
              "when" : [ "type == INCOMPRESSIBLE && numOfPassiveSpecies > 7", "type == CONVECTIVE_HEAT_TRANSFER && numOfPassiveSpecies > 7", "type == COUPLED_CONJUGATE_HEAT_TRANSFER && numOfPassiveSpecies > 7", "type == EMBEDDED_BOUNDARY && numOfPassiveSpecies > 7" ]
            }, {
              "value" : "passive_scalar_nine",
              "when" : [ "type == INCOMPRESSIBLE && numOfPassiveSpecies > 8", "type == CONVECTIVE_HEAT_TRANSFER && numOfPassiveSpecies > 8", "type == COUPLED_CONJUGATE_HEAT_TRANSFER && numOfPassiveSpecies > 8", "type == EMBEDDED_BOUNDARY && numOfPassiveSpecies > 8" ]
            } ]
          },
          "flux" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_PassiveScalarSourceRate"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          },
          "geometryPrimitiveUuids" : {
            "title" : "Geometry primitives",
            "type" : "array",
            "items" : {
              "type" : "string",
              "format" : "uuid"
            },
            "x-referencedPrimitivesOptions" : {
              "allowMultiple" : true,
              "pathToPrimitives" : "geometryPrimitives",
              "allowedReferencedPrimitiveTypes" : [ "CARTESIAN_BOX", "CYLINDER", "SPHERE", "POINT" ]
            }
          }
        },
        "additionalProperties" : false
      },
      "Simulation.Dimensional_PassiveScalarSourceRate" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "title" : "Value",
            "type" : "number"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "1/s" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.SpecificPassiveScalarSource" : {
        "title" : "Volumetric passive scalar source",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: SpecificPassiveScalarSource",
            "default" : "SPECIFIC"
          },
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "passiveScalarVariable" : {
            "title" : "Passive scalar variable",
            "type" : "string",
            "default" : "passive_scalar_one",
            "x-conditionalEnum" : [ {
              "value" : "passive_scalar_one"
            }, {
              "value" : "passive_scalar_two",
              "when" : [ "type == INCOMPRESSIBLE && numOfPassiveSpecies > 1", "type == CONVECTIVE_HEAT_TRANSFER && numOfPassiveSpecies > 1", "type == COUPLED_CONJUGATE_HEAT_TRANSFER && numOfPassiveSpecies > 1", "type == EMBEDDED_BOUNDARY && numOfPassiveSpecies > 1" ]
            }, {
              "value" : "passive_scalar_three",
              "when" : [ "type == INCOMPRESSIBLE && numOfPassiveSpecies > 2", "type == CONVECTIVE_HEAT_TRANSFER && numOfPassiveSpecies > 2", "type == COUPLED_CONJUGATE_HEAT_TRANSFER && numOfPassiveSpecies > 2", "type == EMBEDDED_BOUNDARY && numOfPassiveSpecies > 2" ]
            }, {
              "value" : "passive_scalar_four",
              "when" : [ "type == INCOMPRESSIBLE && numOfPassiveSpecies > 3", "type == CONVECTIVE_HEAT_TRANSFER && numOfPassiveSpecies > 3", "type == COUPLED_CONJUGATE_HEAT_TRANSFER && numOfPassiveSpecies > 3", "type == EMBEDDED_BOUNDARY && numOfPassiveSpecies > 3" ]
            }, {
              "value" : "passive_scalar_five",
              "when" : [ "type == INCOMPRESSIBLE && numOfPassiveSpecies > 4", "type == CONVECTIVE_HEAT_TRANSFER && numOfPassiveSpecies > 4", "type == COUPLED_CONJUGATE_HEAT_TRANSFER && numOfPassiveSpecies > 4", "type == EMBEDDED_BOUNDARY && numOfPassiveSpecies > 4" ]
            }, {
              "value" : "passive_scalar_six",
              "when" : [ "type == INCOMPRESSIBLE && numOfPassiveSpecies > 5", "type == CONVECTIVE_HEAT_TRANSFER && numOfPassiveSpecies > 5", "type == COUPLED_CONJUGATE_HEAT_TRANSFER && numOfPassiveSpecies > 5", "type == EMBEDDED_BOUNDARY && numOfPassiveSpecies > 5" ]
            }, {
              "value" : "passive_scalar_seven",
              "when" : [ "type == INCOMPRESSIBLE && numOfPassiveSpecies > 6", "type == CONVECTIVE_HEAT_TRANSFER && numOfPassiveSpecies > 6", "type == COUPLED_CONJUGATE_HEAT_TRANSFER && numOfPassiveSpecies > 6", "type == EMBEDDED_BOUNDARY && numOfPassiveSpecies > 6" ]
            }, {
              "value" : "passive_scalar_eight",
              "when" : [ "type == INCOMPRESSIBLE && numOfPassiveSpecies > 7", "type == CONVECTIVE_HEAT_TRANSFER && numOfPassiveSpecies > 7", "type == COUPLED_CONJUGATE_HEAT_TRANSFER && numOfPassiveSpecies > 7", "type == EMBEDDED_BOUNDARY && numOfPassiveSpecies > 7" ]
            }, {
              "value" : "passive_scalar_nine",
              "when" : [ "type == INCOMPRESSIBLE && numOfPassiveSpecies > 8", "type == CONVECTIVE_HEAT_TRANSFER && numOfPassiveSpecies > 8", "type == COUPLED_CONJUGATE_HEAT_TRANSFER && numOfPassiveSpecies > 8", "type == EMBEDDED_BOUNDARY && numOfPassiveSpecies > 8" ]
            } ]
          },
          "flux" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_VolumetricPassiveScalarSourceRate"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          },
          "geometryPrimitiveUuids" : {
            "title" : "Geometry primitives",
            "type" : "array",
            "items" : {
              "type" : "string",
              "format" : "uuid"
            },
            "x-referencedPrimitivesOptions" : {
              "allowMultiple" : true,
              "pathToPrimitives" : "geometryPrimitives",
              "allowedReferencedPrimitiveTypes" : [ "CARTESIAN_BOX", "CYLINDER", "SPHERE", "POINT" ]
            }
          }
        },
        "additionalProperties" : false
      },
      "Simulation.Dimensional_VolumetricPassiveScalarSourceRate" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "title" : "Value",
            "type" : "number"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "1/(m³·s)", "1/(in³·s)" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.DarcyMedium" : {
        "title" : "Darcy Law medium",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: DarcyMedium",
            "default" : "DARCY"
          },
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "porosity" : {
            "title" : "Porosity",
            "maximum" : 1.0,
            "exclusiveMaximum" : false,
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "description" : "Porosity is the fraction of a volume of material is that is void. It ranges from φ = 1 (completely empty) to φ = 0 (completely solid).",
            "default" : 1
          },
          "permeability" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Area"
          },
          "dragCoefficient" : {
            "title" : "Drag coefficient",
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "description" : "The Darcy law may be extended to include the Forchheimer drag term for more inertial flows (Re > 10). This term is quadratic in flow velocity. Its coefficient includes the fluid drag coefficient Cd.",
            "default" : 0
          },
          "porousMaterialType" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_DarcyMediumPorousMaterialType"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.Dimensional_Area" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "title" : "Value",
            "type" : "number"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "m²", "in²" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.HomogeneousMaterialStructure" : {
        "title" : "Homogeneous",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: HomogeneousMaterialStructure",
            "default" : "HOMOGENEOUS"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.DirectionalMaterialStructure" : {
        "title" : "Directional",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: DirectionalMaterialStructure",
            "default" : "DIRECTIONAL"
          },
          "mode" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_DirectionalMaterialStructureMode"
          },
          "direction" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalVector_Dimensionless"
          },
          "orientation" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_DirectionalMaterialStructureOrientation"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.AllowedDirection" : {
        "title" : "Allowed direction",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: AllowedDirection",
            "default" : "ALLOWED_DIRECTION"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.BlockedDirection" : {
        "title" : "Blocked direction",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: BlockedDirection",
            "default" : "BLOCKED_DIRECTION"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.CartesianOrientation" : {
        "title" : "Cartesian",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: CartesianOrientation",
            "default" : "CARTESIAN"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.CustomOrientation" : {
        "title" : "Custom",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: CustomOrientation",
            "default" : "CUSTOM"
          },
          "unitVector1" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalVector_Length"
          },
          "unitVector2" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalVector_Length"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.PressureLossFunctionMedium" : {
        "title" : "Pressure loss function",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: PressureLossFunctionMedium",
            "default" : "PRESSURE_LOSS_FUNCTION"
          },
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "pressureLossFunction" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_Pressure"
          },
          "porousMaterialType" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_PressureLossFunctionMediumPorousMaterialType"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.DarcyForchheimerMedium" : {
        "title" : "Darcy-Forchheimer medium",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: DarcyForchheimerMedium",
            "default" : "DARCY_FORCHHEIMER"
          },
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "coefficientD" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalVector_ReciprocalPermeability"
          },
          "coefficientF" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalVector_Absorptivity"
          },
          "orientation" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_DarcyForchheimerMediumOrientation"
          },
          "porousMediaHeatTransfer" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_DarcyForchheimerMediumPorousMediaHeatTransfer"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          },
          "geometryPrimitiveUuids" : {
            "title" : "Geometry primitives",
            "type" : "array",
            "items" : {
              "type" : "string",
              "format" : "uuid"
            },
            "x-referencedPrimitivesOptions" : {
              "allowMultiple" : true,
              "pathToPrimitives" : "geometryPrimitives",
              "allowedReferencedPrimitiveTypes" : [ "CARTESIAN_BOX", "CYLINDER" ]
            }
          }
        },
        "additionalProperties" : false
      },
      "Simulation.DimensionalVector_ReciprocalPermeability" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "$ref" : "#/components/schemas/Simulation.DecimalVector"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "1/m²", "1/in²", "1/mm²", "1/cm²", "1/ft²", "1/yd²" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.DimensionalVector_Absorptivity" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "$ref" : "#/components/schemas/Simulation.DecimalVector"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "1/m", "1/in" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.FluidOnlyHeatTransfer" : {
        "title" : "Fluid only",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: FluidOnlyHeatTransfer",
            "default" : "FLUID_ONLY_HEAT_TRANSFER"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.EffectiveConductivityHeatTransfer" : {
        "title" : "Effective conductivity",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: EffectiveConductivityHeatTransfer",
            "default" : "EFFECTIVE_CONDUCTIVITY_HEAT_TRANSFER"
          },
          "effectiveThermalConductivity" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_ThermalConductivity"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.VariableGroup_VELOCITY" : {
        "type" : "object",
        "properties" : {
          "VELOCITY" : {
            "$ref" : "#/components/schemas/Simulation.Unit_Speed"
          }
        }
      },
      "Simulation.Unit_Speed" : {
        "type" : "object",
        "properties" : {
          "value" : {
            "title" : "Value",
            "type" : "number"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "m/s", "in/s", "m/min", "m/h", "mm/s", "mm/min", "mm/h", "cm/s", "cm/min", "cm/h", "km/h", "ft/s", "ft/min", "ft/h", "in/min", "in/h", "mph", "kn" ]
          }
        }
      },
      "Simulation.FixedCoeffMedium" : {
        "title" : "Fixed coeff medium",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: FixedCoeffMedium",
            "default" : "FIXED_COEFFICIENTS"
          },
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "alpha" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalVector_SpecificTurbulenceDissipationRate"
          },
          "beta" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalVector_Absorptivity"
          },
          "referenceDensity" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Density"
          },
          "orientation" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_FixedCoeffMediumOrientation"
          },
          "porousMediaHeatTransfer" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_FixedCoeffMediumPorousMediaHeatTransfer"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          },
          "geometryPrimitiveUuids" : {
            "title" : "Geometry primitives",
            "type" : "array",
            "items" : {
              "type" : "string",
              "format" : "uuid"
            },
            "x-referencedPrimitivesOptions" : {
              "allowMultiple" : true,
              "pathToPrimitives" : "geometryPrimitives",
              "allowedReferencedPrimitiveTypes" : [ "CARTESIAN_BOX", "CYLINDER" ]
            }
          }
        },
        "additionalProperties" : false
      },
      "Simulation.PowerLawMedium" : {
        "title" : "Power law medium",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: PowerLawMedium",
            "default" : "POWER_LAW"
          },
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "linearCoefficient" : {
            "title" : "Linear coefficient",
            "maximum" : 100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000,
            "exclusiveMaximum" : false,
            "minimum" : 0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "default" : 1
          },
          "exponentCoefficient" : {
            "title" : "Exponent coefficient",
            "maximum" : 50,
            "exclusiveMaximum" : false,
            "minimum" : 0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "default" : 2
          },
          "porousMediaHeatTransfer" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_PowerLawMediumPorousMediaHeatTransfer"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          },
          "geometryPrimitiveUuids" : {
            "title" : "Geometry primitives",
            "type" : "array",
            "items" : {
              "type" : "string",
              "format" : "uuid"
            },
            "x-referencedPrimitivesOptions" : {
              "allowMultiple" : true,
              "pathToPrimitives" : "geometryPrimitives",
              "allowedReferencedPrimitiveTypes" : [ "CARTESIAN_BOX", "CYLINDER" ]
            }
          }
        },
        "additionalProperties" : false
      },
      "Simulation.PressureLossCurve" : {
        "title" : "Pressure loss curve",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: PressureLossCurve",
            "default" : "PRESSURE_LOSS_CURVE"
          },
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "pressureLossData" : {
            "$ref" : "#/components/schemas/Simulation.PressureLossData"
          },
          "directionalDependency" : {
            "$ref" : "#/components/schemas/Simulation.DirectionalDependency"
          },
          "porousMediaHeatTransfer" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_PressureLossCurvePorousMediaHeatTransfer"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          },
          "geometryPrimitiveUuids" : {
            "title" : "Geometry primitives",
            "type" : "array",
            "items" : {
              "type" : "string",
              "format" : "uuid"
            },
            "x-referencedPrimitivesOptions" : {
              "allowMultiple" : true,
              "pathToPrimitives" : "geometryPrimitives",
              "allowedReferencedPrimitiveTypes" : [ "CARTESIAN_BOX", "CYLINDER" ]
            }
          }
        },
        "additionalProperties" : false
      },
      "Simulation.PressureLossData" : {
        "type" : "object",
        "properties" : {
          "pressureLossCurve" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_Pressure"
          },
          "flowDirectionLength" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Length"
          },
          "crossSectionArea" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Area"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.DirectionalDependency" : {
        "title" : "Directional dependency",
        "type" : "object",
        "properties" : {
          "darcyForchheimerType" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_DirectionalDependencyDarcyForchheimerType"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.IsotropicDarcyForchheimer" : {
        "title" : "Isotropic",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Isotropic porous object where the same permeability and friction form coefficient are applied in all directions.\n\nSchema name: IsotropicDarcyForchheimer",
            "default" : "ISOTROPIC"
          }
        },
        "additionalProperties" : false,
        "description" : "Isotropic porous object where the same permeability and friction form coefficient are applied in all directions."
      },
      "Simulation.RectifyingDarcyForchheimer" : {
        "title" : "Directional",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Directional porous object where the permeability and friction form coefficient are applied only in the specified direction. For directions orthogonal to the specified direction, the permeability is set to zero, i.e. there is no flow in the orthogonal directions.\n\nSchema name: RectifyingDarcyForchheimer",
            "default" : "RECTIFYING"
          },
          "direction" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalVector_Length"
          }
        },
        "additionalProperties" : false,
        "description" : "Directional porous object where the permeability and friction form coefficient are applied only in the specified direction. For directions orthogonal to the specified direction, the permeability is set to zero, i.e. there is no flow in the orthogonal directions."
      },
      "Simulation.PerforatedPlate" : {
        "title" : "Perforated plate",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: PerforatedPlate",
            "default" : "PERFORATED_PLATE"
          },
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "plateData" : {
            "$ref" : "#/components/schemas/Simulation.PlateData"
          },
          "darcyForchheimerType" : {
            "$ref" : "#/components/schemas/Simulation.RectifyingDarcyForchheimer"
          },
          "porousMediaHeatTransfer" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_PerforatedPlatePorousMediaHeatTransfer"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          },
          "geometryPrimitiveUuids" : {
            "title" : "Geometry primitives",
            "type" : "array",
            "items" : {
              "type" : "string",
              "format" : "uuid"
            },
            "x-referencedPrimitivesOptions" : {
              "allowMultiple" : true,
              "pathToPrimitives" : "geometryPrimitives",
              "allowedReferencedPrimitiveTypes" : [ "CARTESIAN_BOX", "CYLINDER" ]
            }
          }
        },
        "additionalProperties" : false
      },
      "Simulation.PlateData" : {
        "title" : "Plate data",
        "type" : "object",
        "properties" : {
          "freeAreaRatio" : {
            "title" : "Free area ratio",
            "maximum" : 1.0,
            "exclusiveMaximum" : false,
            "minimum" : 0.0,
            "exclusiveMinimum" : true,
            "type" : "number",
            "description" : "Free area ratio is the ratio of open area of the perforated plate to its total area.",
            "default" : 0.5
          },
          "holeShape" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_PlateDataHoleShape"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.GeneralHoleShape" : {
        "title" : "General",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "General formulation that does not depend on the shape of the holes. Valid only for thin plates where thickness to hole ratio is less than 0.015 and Reynolds number is greater than 10000.\n\nSchema name: GeneralHoleShape",
            "default" : "GENERAL"
          }
        },
        "additionalProperties" : false,
        "description" : "General formulation that does not depend on the shape of the holes. Valid only for thin plates where thickness to hole ratio is less than 0.015 and Reynolds number is greater than 10000."
      },
      "Simulation.CircularHoleShape" : {
        "title" : "Circular",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Circular holes in the perforated plate.\n\nSchema name: CircularHoleShape",
            "default" : "CIRCULAR"
          },
          "averageHoleDiameter" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Length"
          }
        },
        "additionalProperties" : false,
        "description" : "Circular holes in the perforated plate."
      },
      "Simulation.AbsolutePowerSource" : {
        "title" : "Absolute power source",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "<i>Power sources</i> can be used to simulate heat generation from a volume. Three types are available:<br><li><b>Absolute</b>: Used when total power emitted by the assigned volume is known.<li><b>Specific:</b> Used when power density of the assigned volume is known.<li><b>Heat exchanger:</b> Used to model a heat exchanger on a fluid region. The heat input is computed from the total conductance (U [W/K]) and the difference between the fluid temperature (T) and the heat exchanger temperature (Tref). Q = U (T - Tref). <a href='https://www.simscale.com/docs/simulation-setup/advanced-concepts/power-sources/' target='_blank'>Learn more</a>.\n\nSchema name: AbsolutePowerSource",
            "default" : "ABSOLUTE_V23"
          },
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "heatFlux" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_Power"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          },
          "geometryPrimitiveUuids" : {
            "title" : "Geometry primitives",
            "type" : "array",
            "items" : {
              "type" : "string",
              "format" : "uuid"
            },
            "x-referencedPrimitivesOptions" : {
              "allowMultiple" : true,
              "pathToPrimitives" : "geometryPrimitives",
              "allowedReferencedPrimitiveTypes" : [ "CARTESIAN_BOX", "CYLINDER", "SPHERE" ]
            }
          }
        },
        "additionalProperties" : false,
        "description" : "<i>Power sources</i> can be used to simulate heat generation from a volume. Three types are available:<br><li><b>Absolute</b>: Used when total power emitted by the assigned volume is known.<li><b>Specific:</b> Used when power density of the assigned volume is known.<li><b>Heat exchanger:</b> Used to model a heat exchanger on a fluid region. The heat input is computed from the total conductance (U [W/K]) and the difference between the fluid temperature (T) and the heat exchanger temperature (Tref). Q = U (T - Tref). <a href='https://www.simscale.com/docs/simulation-setup/advanced-concepts/power-sources/' target='_blank'>Learn more</a>."
      },
      "Simulation.SpecificPowerSource" : {
        "title" : "Specific power source",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "<i>Power sources</i> can be used to simulate heat generation from a volume. Three types are available:<br><li><b>Absolute</b>: Used when total power emitted by the assigned volume is known.<li><b>Specific:</b> Used when power density of the assigned volume is known.<li><b>Heat exchanger:</b> Used to model a heat exchanger on a fluid region. The heat input is computed from the total conductance (U [W/K]) and the difference between the fluid temperature (T) and the heat exchanger temperature (Tref). Q = U (T - Tref). <a href='https://www.simscale.com/docs/simulation-setup/advanced-concepts/power-sources/' target='_blank'>Learn more</a>.\n\nSchema name: SpecificPowerSource",
            "default" : "SPECIFIC_V23"
          },
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "heatFlux" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_VolumetricPower"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          },
          "geometryPrimitiveUuids" : {
            "title" : "Geometry primitives",
            "type" : "array",
            "items" : {
              "type" : "string",
              "format" : "uuid"
            },
            "x-referencedPrimitivesOptions" : {
              "allowMultiple" : true,
              "pathToPrimitives" : "geometryPrimitives",
              "allowedReferencedPrimitiveTypes" : [ "CARTESIAN_BOX", "CYLINDER", "SPHERE" ]
            }
          }
        },
        "additionalProperties" : false,
        "description" : "<i>Power sources</i> can be used to simulate heat generation from a volume. Three types are available:<br><li><b>Absolute</b>: Used when total power emitted by the assigned volume is known.<li><b>Specific:</b> Used when power density of the assigned volume is known.<li><b>Heat exchanger:</b> Used to model a heat exchanger on a fluid region. The heat input is computed from the total conductance (U [W/K]) and the difference between the fluid temperature (T) and the heat exchanger temperature (Tref). Q = U (T - Tref). <a href='https://www.simscale.com/docs/simulation-setup/advanced-concepts/power-sources/' target='_blank'>Learn more</a>."
      },
      "Simulation.HeatExchangerSource" : {
        "title" : "Heat exchanger",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "<i>Power sources</i> can be used to simulate heat generation from a volume. Three types are available:<br><li><b>Absolute</b>: Used when total power emitted by the assigned volume is known.<li><b>Specific:</b> Used when power density of the assigned volume is known.<li><b>Heat exchanger:</b> Used to model a heat exchanger on a fluid region. The heat input is computed from the total conductance (U [W/K]) and the difference between the fluid temperature (T) and the heat exchanger temperature (Tref). Q = U (T - Tref). <a href='https://www.simscale.com/docs/simulation-setup/advanced-concepts/power-sources/' target='_blank'>Learn more</a>.\n\nSchema name: HeatExchangerSource",
            "default" : "HEAT_EXCHANGER_SOURCE"
          },
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "heatExchangerMode" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_HeatExchangerSourceHeatExchangerMode"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          },
          "geometryPrimitiveUuids" : {
            "title" : "Geometry primitives",
            "type" : "array",
            "items" : {
              "type" : "string",
              "format" : "uuid"
            },
            "x-referencedPrimitivesOptions" : {
              "allowMultiple" : true,
              "pathToPrimitives" : "geometryPrimitives",
              "allowedReferencedPrimitiveTypes" : [ "CARTESIAN_BOX", "CYLINDER", "SPHERE" ]
            }
          }
        },
        "additionalProperties" : false,
        "description" : "<i>Power sources</i> can be used to simulate heat generation from a volume. Three types are available:<br><li><b>Absolute</b>: Used when total power emitted by the assigned volume is known.<li><b>Specific:</b> Used when power density of the assigned volume is known.<li><b>Heat exchanger:</b> Used to model a heat exchanger on a fluid region. The heat input is computed from the total conductance (U [W/K]) and the difference between the fluid temperature (T) and the heat exchanger temperature (Tref). Q = U (T - Tref). <a href='https://www.simscale.com/docs/simulation-setup/advanced-concepts/power-sources/' target='_blank'>Learn more</a>."
      },
      "Simulation.HeatTransferCoefficients" : {
        "title" : "Heat transfer coefficient",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: HeatTransferCoefficients",
            "default" : "HEAT_TRANSFER_COEFFICIENTS"
          },
          "refTemperature" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_Temperature"
          },
          "heatTransferCoefficient" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_ThermalTransmittance"
          },
          "surfaceAreaDensity" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Absorptivity"
          },
          "heatDistribution" : {
            "title" : "Heat distribution",
            "type" : "string",
            "description" : "Sampling method for the field temperature (T) in T - Tref. This indicates whether the temperature (T) is averaged on the complete heat exchanger or sampled at each position.",
            "default" : "LOCAL",
            "enum" : [ "LOCAL", "AVERAGE" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.HeatExchangerPerformance" : {
        "title" : "Heat exchanger performance",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: HeatExchangerPerformance",
            "default" : "HEAT_EXCHANGER_PERFORMANCE"
          },
          "refTemperature" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_Temperature"
          },
          "performance" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_TotalThermalTransmittance"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.DimensionalFunction_TotalThermalTransmittance" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_DimensionalFunction_TotalThermalTransmittanceValue"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "W/K", "Btu/(s·°F)" ],
            "x-MissingConversions" : true
          }
        },
        "additionalProperties" : false
      },
      "Simulation.TrAbsolutePowerSource" : {
        "title" : "Absolute Power Source",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: TrAbsolutePowerSource",
            "default" : "TR_ABSOLUTE_POWER_SOURCE"
          },
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "heatFlux" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_Power"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.TrSpecificPowerSource" : {
        "title" : "Specific Power Source",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: TrSpecificPowerSource",
            "default" : "TR_SPECIFIC_POWER_SOURCE"
          },
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "heatFlux" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_VolumetricPower"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.AMIRotatingZone" : {
        "title" : "AMI rotating zone",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: AMIRotatingZone",
            "default" : "ARBITRARY_MESH_INTERFACE"
          },
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "motionType" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_AMIRotatingZoneMotionType"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.OscillatingRotatingMotionType" : {
        "title" : "Oscillating rotating motion",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: OscillatingRotatingMotionType",
            "default" : "OSCILLATING_ROTATING_MOTION"
          },
          "rotationCenter" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalVector_Length"
          },
          "amplitude" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalVector_Angle"
          },
          "angularVelocity" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_RotationSpeed"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.DimensionalVector_Angle" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "$ref" : "#/components/schemas/Simulation.DecimalVector"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "rad", "°" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.RotatingMotionType" : {
        "title" : "Rotating motion",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: RotatingMotionType",
            "default" : "ROTATING_MOTION"
          },
          "rotation" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_RotatingMotionTypeRotation"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.VectorRotation" : {
        "title" : "Vector rotation",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: VectorRotation",
            "default" : "VECTOR_ROTATION"
          },
          "rotationCenter" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalVector_Length"
          },
          "angularVelocity" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalVector_RotationSpeed"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.DimensionalVector_RotationSpeed" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "$ref" : "#/components/schemas/Simulation.DecimalVector"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "rad/s", "°/s", "RPM" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.MRFRotatingZone" : {
        "title" : "MRF rotating zone",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: MRFRotatingZone",
            "default" : "MULTI_REFERENCE_FRAME"
          },
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "origin" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalVector_Length"
          },
          "axis" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalVector_Length"
          },
          "angularVelocity" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_RotationSpeed"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.LinearSBM" : {
        "title" : "Linear motion",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: LinearSBM",
            "default" : "LINEAR_MOTION"
          },
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "velocity" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalVector_Speed"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.OscillatingRotatingSBM" : {
        "title" : "Oscillating rotating motion",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: OscillatingRotatingSBM",
            "default" : "OSCILLATING_ROTATING_MOTION"
          },
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "rotationCenter" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalVector_Length"
          },
          "amplitude" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalVector_Angle"
          },
          "angularVelocity" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_RotationSpeed"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.Dimensional_RotationSpeed" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "title" : "Value",
            "type" : "number"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "rad/s", "°/s", "RPM" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.OscillatingLinearSBM" : {
        "title" : "Oscillating linear motion",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: OscillatingLinearSBM",
            "default" : "OSCILLATING_LINEAR_MOTION"
          },
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "amplitude" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalVector_Length"
          },
          "angularVelocity" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_RotationSpeed"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.RotatingSBM" : {
        "title" : "Rotating motion",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: RotatingSBM",
            "default" : "ROTATING_MOTION"
          },
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "rotation" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_RotatingSBMRotation"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.ShipDesignAnalysisSBM" : {
        "title" : "Ship design analysis",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: ShipDesignAnalysisSBM",
            "default" : "SHIP_DESIGN_ANALYSIS"
          },
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "centerOfGravity" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalVector_Length"
          },
          "modelScaleRatio" : {
            "title" : "Model scale ratio",
            "minimum" : 1.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "default" : 1
          },
          "maxRollAmplitude" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Angle"
          },
          "minRollAmplitude" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Angle"
          },
          "heaveAmplitude" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Length"
          },
          "swayAmplitude" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Length"
          },
          "dampingCoefficient" : {
            "title" : "Damping coefficient",
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "default" : 1
          },
          "timePeriodForLiquid" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Time"
          },
          "naturalPeriodOfShip" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Time"
          },
          "referenceTimeStep" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Time"
          },
          "increaseInLiquidPerTimeStep" : {
            "title" : "Increase in liquid per time step",
            "type" : "number",
            "default" : -0.001
          }
        },
        "additionalProperties" : false
      },
      "Simulation.StarThermalResistanceNetwork" : {
        "title" : "Star Network Resistance Model",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "<br>A <i>Thermal Resistance Network</i> can be used to approximate the effect of heat sources and heat transfer from that source to the surrounding domain without resolving the source geometry.  Select the top face of the body you want to assign. <p>The models for <b>Thermal resistance network</b> are as follows:</p><ul><li><b>Star Network Resistance Model:</b> defines a thermal resistance network consisting out of a top, a board, a board to interface and four side resistances. A power source is assigned to the body.</li><li><b>Two resistor Model:</b> defines a thermal resistance network consisting out of a top, a board and a board to interface resistance. A power source is assigned to the body.</li></ul> <br> <a href='https://www.simscale.com/docs/simulation-setup/advanced-concepts/thermal-resistance-networks/' target='_blank'>Learn more</a>.\n\nSchema name: StarThermalResistanceNetwork",
            "default" : "STAR_NETWORK"
          },
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "resistanceTop" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_ContactResistance"
          },
          "resistanceBottom" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_ContactResistance"
          },
          "resistanceSides" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_ContactResistance"
          },
          "resistanceInterface" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_ContactResistance"
          },
          "networkPower" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Power"
          },
          "emissivity" : {
            "title" : "Emissivity",
            "maximum" : 1,
            "exclusiveMaximum" : false,
            "minimum" : 0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "default" : 0.9,
            "x-showWhen" : [ "type == COUPLED_CONJUGATE_HEAT_TRANSFER && enableRadiation == true", "type == EMBEDDED_BOUNDARY && enableRadiation == true" ]
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          }
        },
        "additionalProperties" : false,
        "description" : "<br>A <i>Thermal Resistance Network</i> can be used to approximate the effect of heat sources and heat transfer from that source to the surrounding domain without resolving the source geometry.  Select the top face of the body you want to assign. <p>The models for <b>Thermal resistance network</b> are as follows:</p><ul><li><b>Star Network Resistance Model:</b> defines a thermal resistance network consisting out of a top, a board, a board to interface and four side resistances. A power source is assigned to the body.</li><li><b>Two resistor Model:</b> defines a thermal resistance network consisting out of a top, a board and a board to interface resistance. A power source is assigned to the body.</li></ul> <br> <a href='https://www.simscale.com/docs/simulation-setup/advanced-concepts/thermal-resistance-networks/' target='_blank'>Learn more</a>."
      },
      "Simulation.TwoResistorNetwork" : {
        "title" : "Two Resistor Model",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "<br>A <i>Thermal Resistance Network</i> can be used to approximate the effect of heat sources and heat transfer from that source to the surrounding domain without resolving the source geometry.  Select the top face of the body you want to assign. <p>The models for <b>Thermal resistance network</b> are as follows:</p><ul><li><b>Star Network Resistance Model:</b> defines a thermal resistance network consisting out of a top, a board, a board to interface and four side resistances. A power source is assigned to the body.</li><li><b>Two resistor Model:</b> defines a thermal resistance network consisting out of a top, a board and a board to interface resistance. A power source is assigned to the body.</li></ul> <br> <a href='https://www.simscale.com/docs/simulation-setup/advanced-concepts/thermal-resistance-networks/' target='_blank'>Learn more</a>.\n\nSchema name: TwoResistorNetwork",
            "default" : "TWO_RESISTOR_NETWORK"
          },
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "resistanceTop" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_ContactResistance"
          },
          "resistanceBottom" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_ContactResistance"
          },
          "resistanceInterface" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_ContactResistance"
          },
          "networkPower" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Power"
          },
          "emissivity" : {
            "title" : "Emissivity",
            "maximum" : 1,
            "exclusiveMaximum" : false,
            "minimum" : 0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "default" : 0.9,
            "x-showWhen" : [ "type == COUPLED_CONJUGATE_HEAT_TRANSFER && enableRadiation == true", "type == EMBEDDED_BOUNDARY && enableRadiation == true" ]
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          }
        },
        "additionalProperties" : false,
        "description" : "<br>A <i>Thermal Resistance Network</i> can be used to approximate the effect of heat sources and heat transfer from that source to the surrounding domain without resolving the source geometry.  Select the top face of the body you want to assign. <p>The models for <b>Thermal resistance network</b> are as follows:</p><ul><li><b>Star Network Resistance Model:</b> defines a thermal resistance network consisting out of a top, a board, a board to interface and four side resistances. A power source is assigned to the body.</li><li><b>Two resistor Model:</b> defines a thermal resistance network consisting out of a top, a board and a board to interface resistance. A power source is assigned to the body.</li></ul> <br> <a href='https://www.simscale.com/docs/simulation-setup/advanced-concepts/thermal-resistance-networks/' target='_blank'>Learn more</a>."
      },
      "Simulation.FluidNumerics" : {
        "type" : "object",
        "properties" : {
          "relaxationType" : {
            "title" : "Relaxation type",
            "type" : "string",
            "default" : "MANUAL",
            "x-showWhen" : [ "type in [CONJUGATE_HEAT_TRANSFER,CONVECTIVE_HEAT_TRANSFER,COUPLED_CONJUGATE_HEAT_TRANSFER,EMBEDDED_BOUNDARY]", "type == INCOMPRESSIBLE && algorithm != PISO", "type == COMPRESSIBLE && turbulenceModel != NONE", "type == COMPRESSIBLE && timeDependency.type == STATIONARY", "type == COMPRESSIBLE && turbulenceModel == NONE && timeDependency.type == TRANSIENT", "type == MULTIPHASE" ],
            "x-conditionalEnum" : [ {
              "value" : "AUTOMATIC",
              "when" : [ "type == INCOMPRESSIBLE && enableAdjointOptimization == false", "type in [COMPRESSIBLE,CONJUGATE_HEAT_TRANSFER,CONVECTIVE_HEAT_TRANSFER] && timeDependency.type == STATIONARY" ]
            }, {
              "value" : "MANUAL"
            } ]
          },
          "relaxationFactor" : {
            "$ref" : "#/components/schemas/Simulation.RelaxationFactor"
          },
          "diagonalRelaxationFactor" : {
            "$ref" : "#/components/schemas/Simulation.RelaxationFactor"
          },
          "viscousWorkIncluded" : {
            "title" : "Include viscous work",
            "type" : "boolean",
            "description" : "Enabling this option makes the viscous work terms included everywhere in the domain.",
            "default" : false,
            "x-showWhen" : [ "type == SIMERICS_ANALYSIS && isCompressible == true" ]
          },
          "radiationResolution" : {
            "title" : "Radiation resolution",
            "type" : "string",
            "default" : "MODERATE",
            "enum" : [ "COARSE", "MODERATE", "FINE" ],
            "x-showWhen" : [ "type == CONVECTIVE_HEAT_TRANSFER && enableRadiation == true", "type == CONJUGATE_HEAT_TRANSFER && enableRadiation == true", "type == COUPLED_CONJUGATE_HEAT_TRANSFER && enableRadiation == true", "type == EMBEDDED_BOUNDARY && enableRadiation == true" ]
          },
          "momentumPredictor" : {
            "title" : "Momentum predictor",
            "type" : "boolean",
            "x-showWhen" : [ "type in [CONJUGATE_HEAT_TRANSFER,MULTIPHASE,CONVECTIVE_HEAT_TRANSFER]", "type == COMPRESSIBLE && timeDependency.type == TRANSIENT" ],
            "x-conditionalDefaults" : [ {
              "when" : [ "type == MULTIPHASE && useLocalTimeStepping == false", "type == COMPRESSIBLE", "type in [CONJUGATE_HEAT_TRANSFER,CONVECTIVE_HEAT_TRANSFER] && timeDependency.type == TRANSIENT" ],
              "default" : false
            }, {
              "when" : [ "type == MULTIPHASE && useLocalTimeStepping == true", "type in [CONJUGATE_HEAT_TRANSFER,CONVECTIVE_HEAT_TRANSFER] && timeDependency.type == STATIONARY" ],
              "default" : true
            } ]
          },
          "transonic" : {
            "title" : "Transonic",
            "type" : "boolean",
            "default" : false,
            "x-showWhen" : [ "type == COMPRESSIBLE && timeDependency.type == TRANSIENT && turbulenceModel != NONE", "type == COMPRESSIBLE && timeDependency.type == TRANSIENT", "type == CONVECTIVE_HEAT_TRANSFER && timeDependency.type == TRANSIENT && isCompressible == true" ]
          },
          "numOuterCorrectors" : {
            "title" : "Number of outer correctors",
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "default" : 3,
            "x-showWhen" : [ "type == MULTIPHASE", "type == INCOMPRESSIBLE && algorithm == PIMPLE", "type == COMPRESSIBLE && timeDependency.type == TRANSIENT && turbulenceModel != NONE", "type == COMPRESSIBLE && timeDependency.type == TRANSIENT", "type in [COUPLED_CONJUGATE_HEAT_TRANSFER,EMBEDDED_BOUNDARY,CONJUGATE_HEAT_TRANSFER,CONVECTIVE_HEAT_TRANSFER] && timeDependency.type == TRANSIENT" ],
            "x-conditionalDefaults" : [ {
              "when" : [ "type == MULTIPHASE" ],
              "default" : 6
            }, {
              "when" : [ "type in [COUPLED_CONJUGATE_HEAT_TRANSFER,EMBEDDED_BOUNDARY,COMPRESSIBLE]", "type == INCOMPRESSIBLE && algorithm == PIMPLE" ],
              "default" : 10
            } ]
          },
          "numCorrectors" : {
            "title" : "Number of correctors",
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "default" : 4,
            "x-showWhen" : [ "type == MULTIPHASE", "type == INCOMPRESSIBLE && algorithm in [PIMPLE,PISO,ICO]", "type == COMPRESSIBLE && timeDependency.type == TRANSIENT && turbulenceModel != NONE", "type == COMPRESSIBLE && timeDependency.type == TRANSIENT", "type in [COUPLED_CONJUGATE_HEAT_TRANSFER,EMBEDDED_BOUNDARY,CONVECTIVE_HEAT_TRANSFER] && timeDependency.type == TRANSIENT" ],
            "x-conditionalDefaults" : [ {
              "when" : [ "type == MULTIPHASE" ],
              "default" : 3
            }, {
              "when" : [ "type == INCOMPRESSIBLE && algorithm == PIMPLE" ],
              "default" : 2
            } ]
          },
          "numNonOrthogonalCorrectors" : {
            "title" : "Number of non-orthogonal correctors",
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "description" : "<p>The pressure equation is repeatedly solved based on the value of non-orthogonal correctors in the PISO/SIMPLE/PIMPLE algorithm. This may reduce the effect of bad mesh.</p>",
            "default" : 1,
            "x-showWhen" : [ "type in [CONJUGATE_HEAT_TRANSFER,CONVECTIVE_HEAT_TRANSFER,INCOMPRESSIBLE,MULTIPHASE,COUPLED_CONJUGATE_HEAT_TRANSFER,EMBEDDED_BOUNDARY]", "type == COMPRESSIBLE && turbulenceModel != NONE", "type == COMPRESSIBLE && timeDependency.type == STATIONARY", "type == COMPRESSIBLE && turbulenceModel == NONE && timeDependency.type == TRANSIENT" ]
          },
          "smoothingParameter" : {
            "title" : "Smoothing parameter",
            "maximum" : 10000000,
            "exclusiveMaximum" : false,
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "default" : 0.05,
            "x-showWhen" : [ "type == MULTIPHASE && useLocalTimeStepping == true" ]
          },
          "dampingCoefficient" : {
            "title" : "Damping coefficient",
            "maximum" : 10000000,
            "exclusiveMaximum" : false,
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "default" : 0.5,
            "x-showWhen" : [ "type == MULTIPHASE && useLocalTimeStepping == true" ]
          },
          "numAlphaSpreadIterations" : {
            "title" : "Number of alpha spread iterations",
            "maximum" : 10000000,
            "exclusiveMaximum" : false,
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "default" : 0,
            "x-showWhen" : [ "type == MULTIPHASE && useLocalTimeStepping == true" ]
          },
          "numAlphaSweepIterations" : {
            "title" : "Number of alpha sweep iterations",
            "maximum" : 10000000,
            "exclusiveMaximum" : false,
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "default" : 0,
            "x-showWhen" : [ "type == MULTIPHASE && useLocalTimeStepping == true" ]
          },
          "evaluateTurbulenceOnlyOnFinalIteration" : {
            "title" : "Evaluate turbulence only on final iteration",
            "type" : "boolean",
            "default" : false,
            "x-showWhen" : [ "type == COMPRESSIBLE && timeDependency.type == TRANSIENT && turbulenceModel != NONE", "type == COMPRESSIBLE && timeDependency.type == TRANSIENT", "type == CONVECTIVE_HEAT_TRANSFER && timeDependency.type == TRANSIENT && isCompressible == true" ]
          },
          "pressureReferenceCell" : {
            "title" : "Pressure reference cell",
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "description" : "<p>Enter the cell where you want to define reference pressure in the PISO/SIMPLE/PIMPLE algorithm.</p>",
            "default" : 0,
            "x-showWhen" : [ "type in [CONJUGATE_HEAT_TRANSFER,CONVECTIVE_HEAT_TRANSFER,INCOMPRESSIBLE,MULTIPHASE]", "type == COMPRESSIBLE && turbulenceModel != NONE", "type == COMPRESSIBLE && timeDependency.type == STATIONARY", "type == COMPRESSIBLE && turbulenceModel == NONE && timeDependency.type == TRANSIENT" ]
          },
          "pressureReferenceValue" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Pressure"
          },
          "velocityLimit" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Speed"
          },
          "maxVoltageInitialIterations" : {
            "title" : "Maximum voltage iterations",
            "maximum" : 10000,
            "exclusiveMaximum" : false,
            "minimum" : 0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "default" : 200,
            "x-showWhen" : [ "type == COUPLED_CONJUGATE_HEAT_TRANSFER && enableJouleHeating == true", "type == EMBEDDED_BOUNDARY && enableJouleHeating == true" ]
          },
          "voltageInitialTolerance" : {
            "title" : "Voltage tolerance",
            "maximum" : 1,
            "exclusiveMaximum" : false,
            "minimum" : 1.0E-16,
            "exclusiveMinimum" : false,
            "type" : "number",
            "default" : 1.0E-8,
            "x-showWhen" : [ "type == COUPLED_CONJUGATE_HEAT_TRANSFER && enableJouleHeating == true", "type == EMBEDDED_BOUNDARY && enableJouleHeating == true" ]
          },
          "residualControls" : {
            "$ref" : "#/components/schemas/Simulation.ResidualControls"
          },
          "solvers" : {
            "$ref" : "#/components/schemas/Simulation.FluidSolvers"
          },
          "schemes" : {
            "$ref" : "#/components/schemas/Simulation.Schemes"
          },
          "stabilization" : {
            "$ref" : "#/components/schemas/Simulation.Stabilization"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.RelaxationFactor" : {
        "type" : "object",
        "properties" : {
          "pressureField" : {
            "title" : "(P) Pressure field",
            "maximum" : 1.0,
            "exclusiveMaximum" : false,
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "description" : "<p>With this parameter you can initialize the under-relaxation of a field or equation. The solver will dynamically adapt this factor to improve stability.</p>",
            "x-showWhen" : [ "type == INCOMPRESSIBLE && algorithm == PIMPLE", "type == INCOMPRESSIBLE && algorithm == SIMPLE && turbulenceModel in [NONE,KEPSILON,KOMEGA,KOMEGASST,REALIZABLEKE]", "type == COMPRESSIBLE && turbulenceModel != NONE", "type == COMPRESSIBLE && timeDependency.type == STATIONARY", "type == COMPRESSIBLE && turbulenceModel == NONE && timeDependency.type == TRANSIENT", "type == SIMERICS_ANALYSIS" ],
            "x-conditionalDefaults" : [ {
              "when" : [ "type != SIMERICS_ANALYSIS && timeDependency.type == TRANSIENT", "type != SIMERICS_ANALYSIS && timeDependency.type == STATIONARY && 2/relaxationType == AUTOMATIC" ],
              "default" : 0.7
            }, {
              "when" : [ "type != SIMERICS_ANALYSIS && timeDependency.type == STATIONARY && 2/relaxationType == MANUAL" ],
              "default" : 0.3
            }, {
              "when" : [ "type == SIMERICS_ANALYSIS && 1# == relaxationFactor && isMultiphase == false" ],
              "default" : 0.0
            }, {
              "when" : [ "type == SIMERICS_ANALYSIS && 1# == relaxationFactor && isMultiphase == true" ],
              "default" : 0.3
            }, {
              "when" : [ "type == SIMERICS_ANALYSIS && 1# == diagonalRelaxationFactor" ],
              "default" : 0.3
            } ]
          },
          "pressureRghField" : {
            "title" : "(P) Modified pressure field",
            "maximum" : 1.0,
            "exclusiveMaximum" : false,
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "x-showWhen" : [ "type in [CONVECTIVE_HEAT_TRANSFER,CONJUGATE_HEAT_TRANSFER,COUPLED_CONJUGATE_HEAT_TRANSFER,MULTIPHASE,EMBEDDED_BOUNDARY]" ],
            "x-conditionalDefaults" : [ {
              "when" : [ "type in [CONVECTIVE_HEAT_TRANSFER,CONJUGATE_HEAT_TRANSFER,COUPLED_CONJUGATE_HEAT_TRANSFER,EMBEDDED_BOUNDARY]" ],
              "default" : 0.3
            }, {
              "when" : [ "type == MULTIPHASE" ],
              "default" : 0.7
            } ]
          },
          "passiveScalarEquation" : {
            "title" : "(T*) Passive Scalar Equation",
            "maximum" : 1.0,
            "exclusiveMaximum" : false,
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "x-showWhen" : [ "type == INCOMPRESSIBLE && numOfPassiveSpecies > 0", "type == CONVECTIVE_HEAT_TRANSFER && numOfPassiveSpecies > 0", "type == COUPLED_CONJUGATE_HEAT_TRANSFER && numOfPassiveSpecies > 0", "type == EMBEDDED_BOUNDARY && numOfPassiveSpecies > 0" ],
            "x-conditionalDefaults" : [ {
              "when" : [ "timeDependency.type == TRANSIENT" ],
              "default" : 1.0
            }, {
              "when" : [ "timeDependency.type == STATIONARY" ],
              "default" : 0.8
            } ]
          },
          "velocityEquation" : {
            "title" : "(U) Velocity equation",
            "maximum" : 1.0,
            "exclusiveMaximum" : false,
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "description" : "<p>With this parameter you can initialize the under-relaxation of a field or equation. The solver will dynamically adapt this factor to improve stability.</p>",
            "x-showWhen" : [ "type == MULTIPHASE", "type in [CONVECTIVE_HEAT_TRANSFER,CONJUGATE_HEAT_TRANSFER,COUPLED_CONJUGATE_HEAT_TRANSFER,EMBEDDED_BOUNDARY]", "type == INCOMPRESSIBLE && algorithm == PIMPLE", "type == INCOMPRESSIBLE && algorithm == SIMPLE && turbulenceModel in [NONE,KEPSILON,KOMEGA,KOMEGASST,REALIZABLEKE]", "type == COMPRESSIBLE && turbulenceModel != NONE", "type == COMPRESSIBLE && timeDependency.type == STATIONARY", "type == COMPRESSIBLE && turbulenceModel == NONE && timeDependency.type == TRANSIENT" ],
            "x-conditionalDefaults" : [ {
              "when" : [ "type in [INCOMPRESSIBLE,COMPRESSIBLE,CONVECTIVE_HEAT_TRANSFER,CONJUGATE_HEAT_TRANSFER] && timeDependency.type == STATIONARY && 2/relaxationType == AUTOMATIC" ],
              "default" : 0.01
            }, {
              "when" : [ "type in [INCOMPRESSIBLE,COMPRESSIBLE] && timeDependency.type == STATIONARY && 2/relaxationType == MANUAL", "type in [EMBEDDED_BOUNDARY,COUPLED_CONJUGATE_HEAT_TRANSFER]", "type in [CONVECTIVE_HEAT_TRANSFER,CONJUGATE_HEAT_TRANSFER] && timeDependency.type == STATIONARY && 2/relaxationType == MANUAL" ],
              "default" : 0.7
            }, {
              "when" : [ "type == MULTIPHASE", "type in [INCOMPRESSIBLE,COMPRESSIBLE,CONVECTIVE_HEAT_TRANSFER,CONJUGATE_HEAT_TRANSFER] && timeDependency.type == TRANSIENT" ],
              "default" : 0.8
            } ]
          },
          "velocity" : {
            "title" : "(U) Velocity",
            "maximum" : 1.0,
            "exclusiveMaximum" : false,
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "x-showWhen" : [ "type == SIMERICS_ANALYSIS" ],
            "x-conditionalDefaults" : [ {
              "when" : [ "type == SIMERICS_ANALYSIS && 1# == relaxationFactor && isMultiphase == false" ],
              "default" : 0.0
            }, {
              "when" : [ "type == SIMERICS_ANALYSIS && 1# == relaxationFactor && isMultiphase == true" ],
              "default" : 0.3
            }, {
              "when" : [ "type == SIMERICS_ANALYSIS && 1# == diagonalRelaxationFactor" ],
              "default" : 0.3
            } ]
          },
          "temperatureEquation" : {
            "title" : "(T) Temperature equation",
            "maximum" : 1.0,
            "exclusiveMaximum" : false,
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "x-showWhen" : [ "type == CONVECTIVE_HEAT_TRANSFER && isCompressible == false", "type in [COUPLED_CONJUGATE_HEAT_TRANSFER,EMBEDDED_BOUNDARY]" ],
            "x-conditionalDefaults" : [ {
              "when" : [ "type == CONVECTIVE_HEAT_TRANSFER && 2/relaxationType == AUTOMATIC" ],
              "default" : 0.01
            }, {
              "when" : [ "type in [EMBEDDED_BOUNDARY,COUPLED_CONJUGATE_HEAT_TRANSFER]", "type == CONVECTIVE_HEAT_TRANSFER && 2/relaxationType == MANUAL" ],
              "default" : 0.8
            } ]
          },
          "temperatureField" : {
            "title" : "(T) Temperature field",
            "maximum" : 1.0,
            "exclusiveMaximum" : false,
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "x-showWhen" : [ "type in [COUPLED_CONJUGATE_HEAT_TRANSFER,EMBEDDED_BOUNDARY]" ],
            "x-conditionalDefaults" : [ {
              "when" : [ "type == COUPLED_CONJUGATE_HEAT_TRANSFER" ],
              "default" : 0.8
            }, {
              "when" : [ "type == EMBEDDED_BOUNDARY" ],
              "default" : 1.0
            } ]
          },
          "densityField" : {
            "title" : "(ρ) Density field",
            "maximum" : 1.0,
            "exclusiveMaximum" : false,
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "x-showWhen" : [ "type == CONJUGATE_HEAT_TRANSFER", "type == COMPRESSIBLE && turbulenceModel != NONE", "type == COMPRESSIBLE && timeDependency.type == STATIONARY", "type == COMPRESSIBLE && turbulenceModel == NONE && timeDependency.type == TRANSIENT", "type == CONVECTIVE_HEAT_TRANSFER && isCompressible == true", "type == COUPLED_CONJUGATE_HEAT_TRANSFER && isCompressible == true", "type == EMBEDDED_BOUNDARY && isCompressible == true" ],
            "x-conditionalDefaults" : [ {
              "when" : [ "timeDependency.type == STATIONARY && 2/relaxationType == AUTOMATIC" ],
              "default" : 0.01
            }, {
              "when" : [ "timeDependency.type == TRANSIENT", "type != COMPRESSIBLE && timeDependency.type == STATIONARY && 2/relaxationType == MANUAL" ],
              "default" : 0.8
            }, {
              "when" : [ "type == COMPRESSIBLE && timeDependency.type == STATIONARY && 2/relaxationType == MANUAL" ],
              "default" : 0.1
            } ]
          },
          "enthalpyEquation" : {
            "title" : "(h) Enthalpy equation",
            "maximum" : 1.0,
            "exclusiveMaximum" : false,
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "description" : "<p>With this parameter you can initialize the under-relaxation of a field or equation. The solver will dynamically adapt this factor to improve stability.</p>",
            "x-showWhen" : [ "type == CONJUGATE_HEAT_TRANSFER", "type == COMPRESSIBLE && turbulenceModel != NONE", "type == COMPRESSIBLE && timeDependency.type == STATIONARY", "type == COMPRESSIBLE && turbulenceModel == NONE && timeDependency.type == TRANSIENT", "type == CONVECTIVE_HEAT_TRANSFER && isCompressible == true" ],
            "x-conditionalDefaults" : [ {
              "when" : [ "timeDependency.type == STATIONARY && 2/relaxationType == AUTOMATIC" ],
              "default" : 0.01
            }, {
              "when" : [ "timeDependency.type == TRANSIENT", "type in [CONJUGATE_HEAT_TRANSFER,CONVECTIVE_HEAT_TRANSFER] && timeDependency.type == STATIONARY && 2/relaxationType == MANUAL" ],
              "default" : 0.8
            }, {
              "when" : [ "type == COMPRESSIBLE && timeDependency.type == STATIONARY && 2/relaxationType == MANUAL" ],
              "default" : 0.1
            } ]
          },
          "internalEnergyEquation" : {
            "title" : "(e) Internal energy equation",
            "maximum" : 1.0,
            "exclusiveMaximum" : false,
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "description" : "<p>With this parameter you can initialize the under-relaxation of a field or equation. The solver will dynamically adapt this factor to improve stability.</p>",
            "x-showWhen" : [ "type == CONJUGATE_HEAT_TRANSFER", "type == COMPRESSIBLE && turbulenceModel != NONE", "type == COMPRESSIBLE && timeDependency.type == STATIONARY", "type == COMPRESSIBLE && turbulenceModel == NONE && timeDependency.type == TRANSIENT", "type == CONVECTIVE_HEAT_TRANSFER && isCompressible == true" ],
            "x-conditionalDefaults" : [ {
              "when" : [ "timeDependency.type == STATIONARY && 2/relaxationType == AUTOMATIC" ],
              "default" : 0.01
            }, {
              "when" : [ "timeDependency.type == TRANSIENT", "type in [CONJUGATE_HEAT_TRANSFER,CONVECTIVE_HEAT_TRANSFER] && timeDependency.type == STATIONARY && 2/relaxationType == MANUAL" ],
              "default" : 0.8
            }, {
              "when" : [ "type == COMPRESSIBLE && timeDependency.type == STATIONARY && 2/relaxationType == MANUAL" ],
              "default" : 0.1
            } ]
          },
          "turbulentKineticEnergyEquation" : {
            "title" : "(k) Turb. kinetic energy equation",
            "maximum" : 1.0,
            "exclusiveMaximum" : false,
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "x-showWhen" : [ "type in [COMPRESSIBLE,CONVECTIVE_HEAT_TRANSFER,CONJUGATE_HEAT_TRANSFER,COUPLED_CONJUGATE_HEAT_TRANSFER,EMBEDDED_BOUNDARY] && turbulenceModel in [KEPSILON,KOMEGASST]", "type == MULTIPHASE && turbulenceModel in [KEPSILON,KOMEGA,KOMEGASST]", "type == INCOMPRESSIBLE && turbulenceModel in [KEPSILON,KOMEGA,KOMEGASST,REALIZABLEKE] && algorithm in [PIMPLE,SIMPLE]" ],
            "x-conditionalDefaults" : [ {
              "when" : [ "type in [INCOMPRESSIBLE,COMPRESSIBLE,CONVECTIVE_HEAT_TRANSFER,CONJUGATE_HEAT_TRANSFER] && timeDependency.type == STATIONARY && 2/relaxationType == AUTOMATIC" ],
              "default" : 0.01
            }, {
              "when" : [ "type in [EMBEDDED_BOUNDARY,COUPLED_CONJUGATE_HEAT_TRANSFER]", "type in [INCOMPRESSIBLE,COMPRESSIBLE,CONVECTIVE_HEAT_TRANSFER,CONJUGATE_HEAT_TRANSFER] && timeDependency.type == STATIONARY && 2/relaxationType == MANUAL" ],
              "default" : 0.3
            }, {
              "when" : [ "type == MULTIPHASE", "type in [INCOMPRESSIBLE,COMPRESSIBLE,CONVECTIVE_HEAT_TRANSFER,CONJUGATE_HEAT_TRANSFER] && timeDependency.type == TRANSIENT" ],
              "default" : 0.7
            } ]
          },
          "omegaDissipationRateEquation" : {
            "title" : "(ω) Specific dissipation rate equation",
            "maximum" : 1.0,
            "exclusiveMaximum" : false,
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "x-showWhen" : [ "type in [COMPRESSIBLE,CONVECTIVE_HEAT_TRANSFER,CONJUGATE_HEAT_TRANSFER,COUPLED_CONJUGATE_HEAT_TRANSFER,EMBEDDED_BOUNDARY] && turbulenceModel == KOMEGASST", "type == MULTIPHASE && turbulenceModel in [KOMEGA,KOMEGASST]", "type == INCOMPRESSIBLE && turbulenceModel in [KOMEGA,KOMEGASST] && algorithm in [PIMPLE,SIMPLE]" ],
            "x-conditionalDefaults" : [ {
              "when" : [ "type in [INCOMPRESSIBLE,COMPRESSIBLE,CONVECTIVE_HEAT_TRANSFER,CONJUGATE_HEAT_TRANSFER] && timeDependency.type == STATIONARY && 2/relaxationType == AUTOMATIC" ],
              "default" : 0.01
            }, {
              "when" : [ "type in [EMBEDDED_BOUNDARY,COUPLED_CONJUGATE_HEAT_TRANSFER]", "type in [INCOMPRESSIBLE,COMPRESSIBLE,CONVECTIVE_HEAT_TRANSFER,CONJUGATE_HEAT_TRANSFER] && timeDependency.type == STATIONARY && 2/relaxationType == MANUAL" ],
              "default" : 0.3
            }, {
              "when" : [ "type == MULTIPHASE", "type in [INCOMPRESSIBLE,COMPRESSIBLE,CONVECTIVE_HEAT_TRANSFER,CONJUGATE_HEAT_TRANSFER] && timeDependency.type == TRANSIENT" ],
              "default" : 0.7
            } ]
          },
          "epsilonDissipationRateEquation" : {
            "title" : "(ε) Dissipation rate equation",
            "maximum" : 1.0,
            "exclusiveMaximum" : false,
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "x-showWhen" : [ "type in [COMPRESSIBLE,CONVECTIVE_HEAT_TRANSFER,CONJUGATE_HEAT_TRANSFER,MULTIPHASE,COUPLED_CONJUGATE_HEAT_TRANSFER] && turbulenceModel in [KEPSILON]", "type == INCOMPRESSIBLE && turbulenceModel in [KEPSILON,REALIZABLEKE] && algorithm in [PIMPLE,SIMPLE]" ],
            "x-conditionalDefaults" : [ {
              "when" : [ "timeDependency.type == STATIONARY && 2/relaxationType == AUTOMATIC" ],
              "default" : 0.01
            }, {
              "when" : [ "timeDependency.type == STATIONARY && 2/relaxationType == MANUAL" ],
              "default" : 0.3
            }, {
              "when" : [ "timeDependency.type == TRANSIENT", "type == MULTIPHASE" ],
              "default" : 0.7
            } ]
          },
          "turbulentKineticEnergy" : {
            "title" : "(k) Turb. kinetic energy",
            "maximum" : 1.0,
            "exclusiveMaximum" : false,
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "x-showWhen" : [ "type == SIMERICS_ANALYSIS && turbulenceModel != NONE" ],
            "x-conditionalDefaults" : [ {
              "when" : [ "type == SIMERICS_ANALYSIS && 1# == relaxationFactor" ],
              "default" : 0.0
            }, {
              "when" : [ "type == SIMERICS_ANALYSIS && 1# == diagonalRelaxationFactor" ],
              "default" : 0.3
            } ]
          },
          "turbulentEnergyDissipationRate" : {
            "title" : "(ε) Turb. energy dissipation rate",
            "maximum" : 1.0,
            "exclusiveMaximum" : false,
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "x-showWhen" : [ "type == SIMERICS_ANALYSIS && turbulenceModel != NONE" ],
            "x-conditionalDefaults" : [ {
              "when" : [ "type == SIMERICS_ANALYSIS && 1# == relaxationFactor" ],
              "default" : 0.0
            }, {
              "when" : [ "type == SIMERICS_ANALYSIS && 1# == diagonalRelaxationFactor" ],
              "default" : 0.3
            } ]
          },
          "nuTildaEquation" : {
            "title" : "(ῦ) nuTilda equation",
            "maximum" : 1.0,
            "exclusiveMaximum" : false,
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "x-showWhen" : [ "type == INCOMPRESSIBLE && algorithm in [PIMPLE,PISO] && turbulenceModel == SPALARTALLMARAS", "type == COMPRESSIBLE && turbulenceModel == SPALARTALLMARAS", "type == CONVECTIVE_HEAT_TRANSFER && turbulenceModel == SPALARTALLMARAS" ],
            "x-conditionalDefaults" : [ {
              "when" : [ "timeDependency.type == STATIONARY" ],
              "default" : 0.3
            }, {
              "when" : [ "timeDependency.type == TRANSIENT", "type == MULTIPHASE" ],
              "default" : 0.7
            } ]
          },
          "netRadiativeHeatFluxField" : {
            "title" : "(Qr) Net radiative heat flux field",
            "maximum" : 1.0,
            "exclusiveMaximum" : false,
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "x-showWhen" : [ "type == CONVECTIVE_HEAT_TRANSFER && enableRadiation == true", "type == CONJUGATE_HEAT_TRANSFER && enableRadiation == true", "type == COUPLED_CONJUGATE_HEAT_TRANSFER && enableRadiation == true", "type == EMBEDDED_BOUNDARY && enableRadiation == true" ],
            "x-conditionalDefaults" : [ {
              "when" : [ "type in [COUPLED_CONJUGATE_HEAT_TRANSFER,EMBEDDED_BOUNDARY]" ],
              "default" : 0.1
            }, {
              "when" : [ "type in [CONVECTIVE_HEAT_TRANSFER,CONJUGATE_HEAT_TRANSFER]" ],
              "default" : 0.3
            } ]
          },
          "internalEnergy" : {
            "title" : "(e) Internal energy",
            "maximum" : 1.0,
            "exclusiveMaximum" : false,
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "x-showWhen" : [ "type == SIMERICS_ANALYSIS && isCompressible == true" ],
            "x-conditionalDefaults" : [ {
              "when" : [ "type == SIMERICS_ANALYSIS && 1# == relaxationFactor && isMultiphase == false" ],
              "default" : 0.0
            }, {
              "when" : [ "type == SIMERICS_ANALYSIS && 1# == relaxationFactor && isMultiphase == true" ],
              "default" : 0.2
            }, {
              "when" : [ "type == SIMERICS_ANALYSIS && 1# == diagonalRelaxationFactor" ],
              "default" : 0.0
            } ]
          },
          "gasMixtureTransport" : {
            "title" : "(ṁ) Gas mixture transport",
            "maximum" : 1.0,
            "exclusiveMaximum" : false,
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "default" : 0.0,
            "x-showWhen" : [ "type == SIMERICS_ANALYSIS && isMulticomponent == true" ]
          },
          "radiativeIntensityRayEquation" : {
            "title" : "(I) Radiative intensity ray equation",
            "maximum" : 1.0,
            "exclusiveMaximum" : false,
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "default" : 0.8,
            "x-showWhen" : [ "type == COUPLED_CONJUGATE_HEAT_TRANSFER && enableRadiation == true && radiationModel == FV_DOM", "type == EMBEDDED_BOUNDARY && enableRadiation == true" ]
          },
          "radiativeIntensityRayField" : {
            "title" : "(I) Radiative intensity ray field",
            "maximum" : 1.0,
            "exclusiveMaximum" : false,
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "default" : 0.8,
            "x-showWhen" : [ "type == COUPLED_CONJUGATE_HEAT_TRANSFER && enableRadiation == true && radiationModel == FV_DOM", "type == EMBEDDED_BOUNDARY && enableRadiation == true" ]
          },
          "specificHumidityEquation" : {
            "title" : "Specific humidity equation",
            "maximum" : 1.0,
            "exclusiveMaximum" : false,
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "default" : 0.7,
            "x-showWhen" : [ "type == COUPLED_CONJUGATE_HEAT_TRANSFER && isCompressible == true && enableHumidityModel == true", "type == EMBEDDED_BOUNDARY && isCompressible == true && enableHumidityModel == true" ]
          },
          "ageOfFluidEquation" : {
            "title" : "Age of fluid equation",
            "maximum" : 1.0,
            "exclusiveMaximum" : false,
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "x-showWhen" : [ "type in [INCOMPRESSIBLE,CONVECTIVE_HEAT_TRANSFER,COUPLED_CONJUGATE_HEAT_TRANSFER,EMBEDDED_BOUNDARY]" ],
            "x-conditionalDefaults" : [ {
              "when" : [ "timeDependency.type == TRANSIENT" ],
              "default" : 1.0
            }, {
              "when" : [ "timeDependency.type == STATIONARY" ],
              "default" : 0.8
            } ]
          },
          "voltageField" : {
            "title" : "(V) Voltage equation",
            "maximum" : 1.0,
            "exclusiveMaximum" : false,
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "default" : 0.5,
            "x-showWhen" : [ "type == COUPLED_CONJUGATE_HEAT_TRANSFER && enableJouleHeating == true", "type == EMBEDDED_BOUNDARY && enableJouleHeating == true" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.ResidualControls" : {
        "type" : "object",
        "properties" : {
          "velocity" : {
            "$ref" : "#/components/schemas/Simulation.Tolerance"
          },
          "pressure" : {
            "$ref" : "#/components/schemas/Simulation.Tolerance"
          },
          "pressureRgh" : {
            "$ref" : "#/components/schemas/Simulation.Tolerance"
          },
          "temperature" : {
            "$ref" : "#/components/schemas/Simulation.Tolerance"
          },
          "turbulentKineticEnergy" : {
            "$ref" : "#/components/schemas/Simulation.Tolerance"
          },
          "omegaDissipationRate" : {
            "$ref" : "#/components/schemas/Simulation.Tolerance"
          },
          "epsilonDissipationRate" : {
            "$ref" : "#/components/schemas/Simulation.Tolerance"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.Tolerance" : {
        "type" : "object",
        "properties" : {
          "absoluteTolerance" : {
            "title" : "Absolute tolerance",
            "maximum" : 1.0,
            "exclusiveMaximum" : false,
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "description" : "Absolute tolerance is the measure of residual in the solution after the current iteration is solved. The solution is stopped when the absolute residual falls below this value.",
            "default" : 1.0E-5,
            "x-showWhen" : [ "type in [CONJUGATE_HEAT_TRANSFER,CONVECTIVE_HEAT_TRANSFER]", "type == INCOMPRESSIBLE && algorithm in [PIMPLE,SIMPLE]", "type == COMPRESSIBLE && turbulenceModel != NONE", "type == COMPRESSIBLE && timeDependency.type == STATIONARY", "type == COMPRESSIBLE && turbulenceModel == NONE && timeDependency.type == TRANSIENT" ],
            "x-conditionalDefaults" : [ {
              "when" : [ "type == INCOMPRESSIBLE && timeDependency.type == STATIONARY" ],
              "default" : 1.0E-6
            } ]
          },
          "relativeTolerance" : {
            "title" : "Relative tolerance",
            "maximum" : 1.0,
            "exclusiveMaximum" : false,
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "description" : "Relative tolerance is the ratio of current residual to the initial residual. The solution is stopped when the relative residual falls below this value.",
            "default" : 0.01,
            "x-showWhen" : [ "type == CONJUGATE_HEAT_TRANSFER", "type == INCOMPRESSIBLE && timeDependency.type == TRANSIENT && algorithm == PIMPLE", "type == COMPRESSIBLE && timeDependency.type == TRANSIENT && turbulenceModel != NONE", "type == COMPRESSIBLE && timeDependency.type == TRANSIENT", "type == CONVECTIVE_HEAT_TRANSFER && isCompressible == false", "type == CONVECTIVE_HEAT_TRANSFER && isCompressible == true && timeDependency.type == TRANSIENT" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.FluidSolvers" : {
        "type" : "object",
        "properties" : {
          "phaseFractionSolver" : {
            "$ref" : "#/components/schemas/Simulation.MULESSolver"
          },
          "velocitySolver" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_FluidSolversVelocitySolver"
          },
          "velocityFinalSolver" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_FluidSolversVelocityFinalSolver"
          },
          "densitySolver" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_FluidSolversDensitySolver"
          },
          "densityFinalSolver" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_FluidSolversDensityFinalSolver"
          },
          "pressureSolver" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_FluidSolversPressureSolver"
          },
          "pressureFinalSolver" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_FluidSolversPressureFinalSolver"
          },
          "temperatureSolver" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_FluidSolversTemperatureSolver"
          },
          "temperatureFinalSolver" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_FluidSolversTemperatureFinalSolver"
          },
          "pressureRghSolver" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_FluidSolversPressureRghSolver"
          },
          "pressureRghFinalSolver" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_FluidSolversPressureRghFinalSolver"
          },
          "solidEnthalpySolver" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_FluidSolversSolidEnthalpySolver"
          },
          "solidEnthalpyFinalSolver" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_FluidSolversSolidEnthalpyFinalSolver"
          },
          "enthalpySolver" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_FluidSolversEnthalpySolver"
          },
          "enthalpyFinalSolver" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_FluidSolversEnthalpyFinalSolver"
          },
          "internalEnergySolver" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_FluidSolversInternalEnergySolver"
          },
          "internalEnergyFinalSolver" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_FluidSolversInternalEnergyFinalSolver"
          },
          "turbulentKineticEnergySolver" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_FluidSolversTurbulentKineticEnergySolver"
          },
          "turbulentKineticEnergyFinalSolver" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_FluidSolversTurbulentKineticEnergyFinalSolver"
          },
          "nuTildaSolver" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_FluidSolversNuTildaSolver"
          },
          "nuTildaFinalSolver" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_FluidSolversNuTildaFinalSolver"
          },
          "omegaDissipationRateSolver" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_FluidSolversOmegaDissipationRateSolver"
          },
          "omegaDissipationRateFinalSolver" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_FluidSolversOmegaDissipationRateFinalSolver"
          },
          "epsilonDissipationRateSolver" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_FluidSolversEpsilonDissipationRateSolver"
          },
          "epsilonDissipationRateFinalSolver" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_FluidSolversEpsilonDissipationRateFinalSolver"
          },
          "passiveScalarSolver" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_FluidSolversPassiveScalarSolver"
          },
          "radiativeIntensityRaySolver" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_FluidSolversRadiativeIntensityRaySolver"
          },
          "internalNetRadiativeHeatFluxSolver" : {
            "$ref" : "#/components/schemas/Simulation.PBICGStabSolver"
          },
          "specificHumiditySolver" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_FluidSolversSpecificHumiditySolver"
          },
          "voltageSolver" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_FluidSolversVoltageSolver"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.MULESSolver" : {
        "title" : "MULES",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: MULESSolver",
            "default" : "MULES_V7"
          },
          "alphaCorrectors" : {
            "title" : "Alpha correctors",
            "type" : "integer",
            "default" : 2
          },
          "alphaSubCycles" : {
            "title" : "Alpha sub cycles",
            "type" : "integer",
            "default" : 2
          },
          "compressionCoefficient" : {
            "title" : "Compression coefficient",
            "type" : "number",
            "default" : 1
          },
          "isotropicCompressionCoefficient" : {
            "title" : "Isotropic compression coefficient",
            "type" : "number",
            "default" : 0.25
          },
          "semiImplicit" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_MULESSolverSemiImplicit"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.FalseSemiImplicit" : {
        "title" : "No",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: FalseSemiImplicit",
            "default" : "FALSE_SEMI_IMPLICIT"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.TrueSemiImplicit" : {
        "title" : "Yes",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: TrueSemiImplicit",
            "default" : "TRUE_SEMI_IMPLICIT"
          },
          "limiterIterations" : {
            "title" : "Limiter iterations",
            "type" : "integer",
            "default" : 8
          },
          "compressionCorrection" : {
            "title" : "Compression correction",
            "type" : "boolean",
            "default" : true
          },
          "solver" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_TrueSemiImplicitSolver"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.PBICGSolver" : {
        "title" : "PBiCG",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: PBICGSolver",
            "default" : "PBICG"
          },
          "absoluteTolerance" : {
            "title" : "Absolute tolerance",
            "maximum" : 1.0,
            "exclusiveMaximum" : false,
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "description" : "<p>Define the absolute tolerance for the residual. The convergence process will be stopped as soon as the residual falls below the absolute tolerance.</p>",
            "default" : 1.0E-5,
            "x-conditionalDefaults" : [ {
              "when" : [ "type in [COUPLED_CONJUGATE_HEAT_TRANSFER,EMBEDDED_BOUNDARY] && 1# != temperatureSolver" ],
              "default" : 1.0E-8
            }, {
              "when" : [ "type in [COUPLED_CONJUGATE_HEAT_TRANSFER,EMBEDDED_BOUNDARY] && 1# == temperatureSolver" ],
              "default" : 1.0E-6
            }, {
              "when" : [ "1# == passiveScalarSolver" ],
              "default" : 1.0E-8
            } ]
          },
          "relativeTolerance" : {
            "title" : "Relative tolerance",
            "maximum" : 1.0,
            "exclusiveMaximum" : false,
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "description" : "<p>Choose the relative tolerance for the residual. The convergence process will be stopped as soon as the ratio of current to initial residual falls below the relative tolerance.</p>",
            "x-conditionalDefaults" : [ {
              "when" : [ "1# in [velocitySolver,nuTildaSolver,nuTildaFinalSolver,turbulentKineticEnergySolver,epsilonDissipationRateSolver,turbulentKineticEnergyFinalSolver,epsilonDissipationRateFinalSolver,omegaDissipationRateSolver,omegaDissipationRateFinalSolver,enthalpySolver,internalEnergySolver,phaseFractionSolver,temperatureSolver,temperatureFinalSolver,passiveScalarSolver,radiativeIntensityRaySolver,specificHumiditySolver] && type in [INCOMPRESSIBLE,COMPRESSIBLE,CONJUGATE_HEAT_TRANSFER,CONVECTIVE_HEAT_TRANSFER,MULTIPHASE]", "type in [INCOMPRESSIBLE,CONJUGATE_HEAT_TRANSFER,CONVECTIVE_HEAT_TRANSFER,MULTIPHASE] && 1# in [velocityFinalSolver,enthalpyFinalSolver,internalEnergyFinalSolver]" ],
              "default" : 0.01
            }, {
              "when" : [ "type in [COUPLED_CONJUGATE_HEAT_TRANSFER,EMBEDDED_BOUNDARY] && 1# != temperatureSolver" ],
              "default" : 0.01
            }, {
              "when" : [ "type in [COUPLED_CONJUGATE_HEAT_TRANSFER,EMBEDDED_BOUNDARY] && 1# == temperatureSolver" ],
              "default" : 0.1
            }, {
              "when" : [ "type == COMPRESSIBLE && 1# in [velocityFinalSolver,enthalpyFinalSolver,internalEnergyFinalSolver]" ],
              "default" : 0
            } ]
          },
          "preconditioner" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_PBICGSolverPreconditioner"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.DILUPreconditioner" : {
        "title" : "DILU",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Diagonal incomplete lower-upper (ILU) algorithm for non-symmetric matrices without fill-in.\n\nSchema name: DILUPreconditioner",
            "default" : "DILU"
          }
        },
        "additionalProperties" : false,
        "description" : "Diagonal incomplete lower-upper (ILU) algorithm for non-symmetric matrices without fill-in."
      },
      "Simulation.ILUCpPreconditioner" : {
        "title" : "ILUCP",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Crout's version of the incomplete lower-upper (ILU) algorithm with arbitrary level of fill-in.\n\nSchema name: ILUCpPreconditioner",
            "default" : "ILUCP"
          },
          "fillInLevel" : {
            "title" : "Fill in level",
            "maximum" : 4.0,
            "exclusiveMaximum" : false,
            "minimum" : 1.0,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "description" : "Number of face-neighbour layers to fill in. Increasing the level of fill-in improves the performance of preconditioner at the expense of computational overhead.",
            "default" : 1
          }
        },
        "additionalProperties" : false,
        "description" : "Crout's version of the incomplete lower-upper (ILU) algorithm with arbitrary level of fill-in."
      },
      "Simulation.SmoothSolver" : {
        "title" : "Smooth solver",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: SmoothSolver",
            "default" : "SMOOTH"
          },
          "absoluteTolerance" : {
            "title" : "Absolute tolerance",
            "maximum" : 1.0,
            "exclusiveMaximum" : false,
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "description" : "<p>Define the absolute tolerance for the residual. The convergence process will be stopped as soon as the residual falls below the absolute tolerance.</p>",
            "x-conditionalDefaults" : [ {
              "when" : [ "1# in [phaseFractionSolver,passiveScalarSolver]" ],
              "default" : 1.0E-8
            }, {
              "when" : [ "type == INCOMPRESSIBLE && 1# == velocityFinalSolver", "type == INCOMPRESSIBLE && numOfPassiveSpecies > 0", "type in [COMPRESSIBLE,CONJUGATE_HEAT_TRANSFER,CONVECTIVE_HEAT_TRANSFER]" ],
              "default" : 1.0E-7
            }, {
              "when" : [ "type == MULTIPHASE", "type == INCOMPRESSIBLE && 1# != velocityFinalSolver", "type == INCOMPRESSIBLE && numOfPassiveSpecies == 0" ],
              "default" : 1.0E-6
            }, {
              "when" : [ "type in [COUPLED_CONJUGATE_HEAT_TRANSFER,EMBEDDED_BOUNDARY]" ],
              "default" : 1.0E-8
            } ]
          },
          "relativeTolerance" : {
            "title" : "Relative tolerance",
            "maximum" : 1.0,
            "exclusiveMaximum" : false,
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "description" : "<p>Choose the relative tolerance for the residual. The convergence process will be stopped as soon as the ratio of current to initial residual falls below the relative tolerance.</p>",
            "default" : 0.01,
            "x-conditionalDefaults" : [ {
              "when" : [ "1# == phaseFractionSolver" ],
              "default" : 0.01
            }, {
              "when" : [ "type == INCOMPRESSIBLE && 1# in [turbulentKineticEnergyFinalSolver,omegaDissipationRateFinalSolver]", "type == MULTIPHASE && 1# in [velocityFinalSolver,turbulentKineticEnergyFinalSolver,omegaDissipationRateFinalSolver]" ],
              "default" : 0.001
            }, {
              "when" : [ "type == INCOMPRESSIBLE && 1# == omegaDissipationRateFinalSolver && numOfPassiveSpecies > 0" ],
              "default" : 0.05
            } ]
          },
          "smoother" : {
            "title" : "Smoother",
            "type" : "string",
            "description" : "<p>Choose a smoother for your solver.</p>",
            "default" : "GAUSSSEIDEL",
            "enum" : [ "GAUSSSEIDEL", "SYMGAUSSSEIDEL", "DIC" ]
          },
          "numSweeps" : {
            "title" : "Number of sweeps",
            "minimum" : 1,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "description" : "<p>Define the numbers of sweeps.</p>",
            "default" : 1
          }
        },
        "additionalProperties" : false
      },
      "Simulation.PBICGStabSolver" : {
        "title" : "PBiCGStab",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: PBICGStabSolver",
            "default" : "PBICGStab"
          },
          "absoluteTolerance" : {
            "title" : "Absolute tolerance",
            "maximum" : 1.0,
            "exclusiveMaximum" : false,
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "description" : "<p>Define the absolute tolerance for the residual. The convergence process will be stopped as soon as the residual falls below the absolute tolerance.</p>",
            "default" : 1.0E-8
          },
          "relativeTolerance" : {
            "title" : "Relative tolerance",
            "maximum" : 1.0,
            "exclusiveMaximum" : false,
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "description" : "<p>Choose the relative tolerance for the residual. The convergence process will be stopped as soon as the ratio of current to initial residual falls below the relative tolerance.</p>",
            "default" : 0.01
          },
          "preconditioner" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_PBICGStabSolverPreconditioner"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.DICPreconditioner" : {
        "title" : "DIC",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Diagonal incomplete Cholesky algorithm for symmetric matrices without fill-in.\n\nSchema name: DICPreconditioner",
            "default" : "DIC"
          }
        },
        "additionalProperties" : false,
        "description" : "Diagonal incomplete Cholesky algorithm for symmetric matrices without fill-in."
      },
      "Simulation.GAMGSolver" : {
        "title" : "GAMG",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: GAMGSolver",
            "default" : "GAMG"
          },
          "absoluteTolerance" : {
            "title" : "Absolute tolerance",
            "maximum" : 1.0,
            "exclusiveMaximum" : false,
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "description" : "<p>Define the absolute tolerance for the residual. The convergence process will be stopped as soon as the residual falls below the absolute tolerance.</p>",
            "x-conditionalDefaults" : [ {
              "when" : [ "type == MULTIPHASE && 1# in [pressureRghSolver,pressureRghFinalSolver]" ],
              "default" : 1.0E-8
            }, {
              "when" : [ "type in [COUPLED_CONJUGATE_HEAT_TRANSFER,EMBEDDED_BOUNDARY]" ],
              "default" : 1.0E-8
            }, {
              "when" : [ "type in [COMPRESSIBLE,CONJUGATE_HEAT_TRANSFER,CONVECTIVE_HEAT_TRANSFER]", "type == INCOMPRESSIBLE && 1# == pressureSolver && numOfPassiveSpecies > 0" ],
              "default" : 1.0E-7
            }, {
              "when" : [ "type == MULTIPHASE && 1# != pressureRghSolver", "type == MULTIPHASE && 1# != pressureRghFinalSolver", "type == INCOMPRESSIBLE && numOfPassiveSpecies == 0", "type == INCOMPRESSIBLE && 1# != pressureSolver" ],
              "default" : 1.0E-6
            } ]
          },
          "relativeTolerance" : {
            "title" : "Relative tolerance",
            "maximum" : 1.0,
            "exclusiveMaximum" : false,
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "description" : "<p>Choose the relative tolerance for the residual. The convergence process will be stopped as soon as the ratio of current to initial residual falls below the relative tolerance.</p>",
            "x-conditionalDefaults" : [ {
              "when" : [ "type == INCOMPRESSIBLE && 1# == pressureSolver && timeDependency.type == TRANSIENT", "type == MULTIPHASE && 1# == pressureRghFinalSolver" ],
              "default" : 0.005
            }, {
              "when" : [ "type == INCOMPRESSIBLE && 1# != pressureSolver", "type == INCOMPRESSIBLE && timeDependency.type == STATIONARY" ],
              "default" : 0.001
            }, {
              "when" : [ "type in [COMPRESSIBLE,CONJUGATE_HEAT_TRANSFER,CONVECTIVE_HEAT_TRANSFER,COUPLED_CONJUGATE_HEAT_TRANSFER,EMBEDDED_BOUNDARY]", "type == MULTIPHASE && 1# != pressureRghFinalSolver" ],
              "default" : 0.01
            } ]
          },
          "smoother" : {
            "title" : "Smoother",
            "type" : "string",
            "description" : "<p>Choose a smoother for your solver.</p>",
            "enum" : [ "GAUSSSEIDEL", "DIC" ],
            "x-conditionalDefaults" : [ {
              "when" : [ "1# == voltageSolver" ],
              "default" : "DIC"
            }, {
              "when" : [ "1# != voltageSolver" ],
              "default" : "GAUSSSEIDEL"
            } ]
          },
          "numPreSweeps" : {
            "title" : "Number of pre sweeps",
            "minimum" : 0,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "x-conditionalDefaults" : [ {
              "when" : [ "type in [CONJUGATE_HEAT_TRANSFER,MULTIPHASE,COUPLED_CONJUGATE_HEAT_TRANSFER,EMBEDDED_BOUNDARY]" ],
              "default" : 1
            }, {
              "when" : [ "type in [COMPRESSIBLE,INCOMPRESSIBLE,CONVECTIVE_HEAT_TRANSFER]" ],
              "default" : 2
            } ]
          },
          "numPostSweeps" : {
            "title" : "Number of post sweeps",
            "minimum" : 0,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "default" : 1
          },
          "cacheAgglomerationOn" : {
            "title" : "Cache agglomeration on",
            "type" : "boolean",
            "default" : true
          },
          "numCellsCoarsestLevel" : {
            "title" : "Number of cells coarsest level",
            "minimum" : 2,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "default" : 100
          },
          "numMergeLevels" : {
            "title" : "Number of merge levels",
            "minimum" : 1,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "default" : 1
          }
        },
        "additionalProperties" : false
      },
      "Simulation.PCGSolver" : {
        "title" : "PCG",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: PCGSolver",
            "default" : "PCG"
          },
          "absoluteTolerance" : {
            "title" : "Absolute tolerance",
            "maximum" : 1.0,
            "exclusiveMaximum" : false,
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "description" : "<p>Define the absolute tolerance for the residual. The convergence process will be stopped as soon as the residual falls below the absolute tolerance.</p>",
            "x-conditionalDefaults" : [ {
              "when" : [ "1# == solidEnthalpySolver" ],
              "default" : 1.0E-5
            }, {
              "when" : [ "type in [COUPLED_CONJUGATE_HEAT_TRANSFER,EMBEDDED_BOUNDARY]" ],
              "default" : 1.0E-8
            }, {
              "when" : [ "type != COUPLED_CONJUGATE_HEAT_TRANSFER && type != EMBEDDED_BOUNDARY", "1# != solidEnthalpySolver" ],
              "default" : 1.0E-4
            } ]
          },
          "relativeTolerance" : {
            "title" : "Relative tolerance",
            "maximum" : 1.0,
            "exclusiveMaximum" : false,
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "description" : "<p>Choose the relative tolerance for the residual. The convergence process will be stopped as soon as the ratio of current to initial residual falls below the relative tolerance.</p>",
            "default" : 0.01
          },
          "preconditioner" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_PCGSolverPreconditioner"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.Schemes" : {
        "type" : "object",
        "properties" : {
          "flux" : {
            "$ref" : "#/components/schemas/Simulation.FluxSchemes"
          },
          "timeDifferentiation" : {
            "$ref" : "#/components/schemas/Simulation.TimeDifferentiationSchemes"
          },
          "spatialDiscretization" : {
            "$ref" : "#/components/schemas/Simulation.SpatialDiscretizationSchemes"
          },
          "gradient" : {
            "$ref" : "#/components/schemas/Simulation.GradientSchemes"
          },
          "divergence" : {
            "$ref" : "#/components/schemas/Simulation.DivergenceSchemes"
          },
          "laplacian" : {
            "$ref" : "#/components/schemas/Simulation.LaplacianSchemes"
          },
          "interpolation" : {
            "$ref" : "#/components/schemas/Simulation.InterpolationSchemes"
          },
          "surfaceNormalGradient" : {
            "$ref" : "#/components/schemas/Simulation.SurfaceNormalGradientSchemes"
          },
          "secondOrderConvection" : {
            "title" : "Second order convection",
            "type" : "boolean",
            "description" : "Whether to use second-order convection scheme, which is less stable but more accurate for a given mesh. If false, first-order accurate upwind scheme is used.",
            "default" : false,
            "x-showWhen" : [ "type in [COUPLED_CONJUGATE_HEAT_TRANSFER,EMBEDDED_BOUNDARY]" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.FluxSchemes" : {
        "type" : "object",
        "properties" : {
          "forDefault" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_FluxSchemesForDefault"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.TadmorFluxScheme" : {
        "title" : "Tadmor flux scheme",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: TadmorFluxScheme",
            "default" : "TADMOR"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.KurganovFluxScheme" : {
        "title" : "Kurganov",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: KurganovFluxScheme",
            "default" : "KURGANOV"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.TimeDifferentiationSchemes" : {
        "type" : "object",
        "properties" : {
          "forDefault" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_TimeDifferentiationSchemesForDefault"
          },
          "secondOrderScheme" : {
            "title" : "Second order scheme",
            "type" : "boolean",
            "default" : false,
            "x-showWhen" : [ "type == SIMERICS_ANALYSIS" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.EulerTimeDifferentiationScheme" : {
        "title" : "Euler",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: EulerTimeDifferentiationScheme",
            "default" : "EULER"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.LocalEulerTimeDifferentiationScheme" : {
        "title" : "Local euler",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: LocalEulerTimeDifferentiationScheme",
            "default" : "LOCAL_EULER"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.SteadystateTimeDifferentiationScheme" : {
        "title" : "Steady-state",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: SteadystateTimeDifferentiationScheme",
            "default" : "STEADYSTATE"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.SpatialDiscretizationSchemes" : {
        "type" : "object",
        "properties" : {
          "velocity" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_SpatialDiscretizationSchemesVelocity"
          },
          "density" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_SpatialDiscretizationSchemesDensity"
          },
          "turbulentKineticEnergy" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_SpatialDiscretizationSchemesTurbulentKineticEnergy"
          },
          "turbulentEnergyDissipationRate" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_SpatialDiscretizationSchemesTurbulentEnergyDissipationRate"
          },
          "volumeOfFluid" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_SpatialDiscretizationSchemesVolumeOfFluid"
          },
          "internalEnergy" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_SpatialDiscretizationSchemesInternalEnergy"
          },
          "gasMixtureTransport" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_SpatialDiscretizationSchemesGasMixtureTransport"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.FirstOrderUpwindSpatialScheme" : {
        "title" : "Upwind",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: FirstOrderUpwindSpatialScheme",
            "default" : "UPWIND_1ST"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.SecondOrderUpwindSpatialScheme" : {
        "title" : "Second order upwind",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: SecondOrderUpwindSpatialScheme",
            "default" : "UPWIND_2ND"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.CentralDifferenceSpatialScheme" : {
        "title" : "Central difference",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: CentralDifferenceSpatialScheme",
            "default" : "CENTRAL_DIFFERENCE"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.HighResolutionSpatialScheme" : {
        "title" : "High resolution",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: HighResolutionSpatialScheme",
            "default" : "HIGH_RESOLUTION"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.GradientSchemes" : {
        "type" : "object",
        "properties" : {
          "forDefault" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_GradientSchemesForDefault"
          },
          "grad_pressure" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_GradientSchemesGrad_pressure"
          },
          "grad_velocity" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_GradientSchemesGrad_velocity"
          },
          "grad_pressureRgh" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_GradientSchemesGrad_pressureRgh"
          },
          "grad_density" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_GradientSchemesGrad_density"
          },
          "grad_enthalpy" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_GradientSchemesGrad_enthalpy"
          },
          "grad_internalEnergy" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_GradientSchemesGrad_internalEnergy"
          },
          "grad_turbulentKineticEnergy" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_GradientSchemesGrad_turbulentKineticEnergy"
          },
          "grad_epsilonDissipationRate" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_GradientSchemesGrad_epsilonDissipationRate"
          },
          "grad_omegaDissipationRate" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_GradientSchemesGrad_omegaDissipationRate"
          },
          "grad_nuTilda" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_GradientSchemesGrad_nuTilda"
          },
          "grad_temperature" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_GradientSchemesGrad_temperature"
          },
          "grad_rhok" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_GradientSchemesGrad_rhok"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.GaussLinearGradientScheme" : {
        "title" : "Gauss linear",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: GaussLinearGradientScheme",
            "default" : "GAUSS_LINEAR"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.CelllimitedGaussLinearGradientScheme" : {
        "title" : "Celllimited Gauss linear",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: CelllimitedGaussLinearGradientScheme",
            "default" : "CELLLIMITED_GAUSS_LINEAR"
          },
          "limiterCoefficient" : {
            "title" : "Limiter coefficient",
            "maximum" : 1.0,
            "exclusiveMaximum" : false,
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "description" : "This property defines a limiter coefficient for the scheme. 1 ensures boundedness while 0 applies no limiting.",
            "default" : 1
          }
        },
        "additionalProperties" : false
      },
      "Simulation.CelllimitedLeastSquaresGradientScheme" : {
        "title" : "Celllimited leastSquares",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: CelllimitedLeastSquaresGradientScheme",
            "default" : "CELLLIMITED_LEASTSQUARES"
          },
          "limiterCoefficient" : {
            "title" : "Limiter coefficient",
            "maximum" : 1.0,
            "exclusiveMaximum" : false,
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "description" : "This property defines a limiter coefficient for the scheme. 1 ensures boundedness while 0 applies no limiting.",
            "default" : 1
          }
        },
        "additionalProperties" : false
      },
      "Simulation.FourthGradientScheme" : {
        "title" : "Fourth gradient",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: FourthGradientScheme",
            "default" : "FOURTH"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.LeastsquaresGradientScheme" : {
        "title" : "Least squares",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: LeastsquaresGradientScheme",
            "default" : "LEASTSQUARES"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.DivergenceSchemes" : {
        "type" : "object",
        "properties" : {
          "forDefault" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_DivergenceSchemesForDefault"
          },
          "div_Phi_velocity" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_DivergenceSchemesDiv_Phi_velocity"
          },
          "div_Phi_kineticEnergy" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_DivergenceSchemesDiv_Phi_kineticEnergy"
          },
          "div_Phi_enthalpy" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_DivergenceSchemesDiv_Phi_enthalpy"
          },
          "div_Phi_internalEnergy" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_DivergenceSchemesDiv_Phi_internalEnergy"
          },
          "div_Phiv_pressure" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_DivergenceSchemesDiv_Phiv_pressure"
          },
          "div_Phi_turbulentKineticEnergy" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_DivergenceSchemesDiv_Phi_turbulentKineticEnergy"
          },
          "div_NuEff_dev_T_grad_velocity" : {
            "$ref" : "#/components/schemas/Simulation.GaussLinearDivergenceScheme"
          },
          "div_MuEff_dev2_T_grad_velocity" : {
            "$ref" : "#/components/schemas/Simulation.GaussLinearDivergenceScheme"
          },
          "div_Phi_omegaDissipationRate" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_DivergenceSchemesDiv_Phi_omegaDissipationRate"
          },
          "div_Phi_epsilonDissipationRate" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_DivergenceSchemesDiv_Phi_epsilonDissipationRate"
          },
          "div_R" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_DivergenceSchemesDiv_R"
          },
          "div_Phi_R" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_DivergenceSchemesDiv_Phi_R"
          },
          "div_Phi_nuTilda" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_DivergenceSchemesDiv_Phi_nuTilda"
          },
          "div_Phi_temperature" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_DivergenceSchemesDiv_Phi_temperature"
          },
          "div_Phi_passiveScalar" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_DivergenceSchemesDiv_Phi_passiveScalar"
          },
          "div_tauMC" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_DivergenceSchemesDiv_tauMC"
          },
          "div_phid_pressure" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_DivergenceSchemesDiv_phid_pressure"
          },
          "div_velocity" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_DivergenceSchemesDiv_velocity"
          },
          "div_phi_Ekp" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_DivergenceSchemesDiv_phi_Ekp"
          },
          "div_phirb_alpha" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_DivergenceSchemesDiv_phirb_alpha"
          },
          "div_muEff_dev_T_grad_velocity" : {
            "$ref" : "#/components/schemas/Simulation.GaussLinearDivergenceScheme"
          },
          "div_phi_alpha" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_DivergenceSchemesDiv_phi_alpha"
          },
          "div_rhoPhi_velocity" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_DivergenceSchemesDiv_rhoPhi_velocity"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.GaussLinearDivergenceScheme" : {
        "title" : "Gauss linear",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: GaussLinearDivergenceScheme",
            "default" : "GAUSS_LINEAR"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.GaussLinearUpwindVUnlimitedDivergenceScheme" : {
        "title" : "Gauss linear upwind v unlimited",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: GaussLinearUpwindVUnlimitedDivergenceScheme",
            "default" : "GAUSS_LINEARUPWINDV_UNLIMITED"
          },
          "limiterCoefficient" : {
            "title" : "Limiter coefficient",
            "maximum" : 1.0,
            "exclusiveMaximum" : false,
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "description" : "This property defines a limiter coefficient for the scheme. 1 ensures boundedness while 0 applies no limiting.",
            "default" : 1
          }
        },
        "additionalProperties" : false
      },
      "Simulation.GaussLinearUpwindUnlimitedDivergenceScheme" : {
        "title" : "Gauss linear upwind unlimited",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: GaussLinearUpwindUnlimitedDivergenceScheme",
            "default" : "GAUSS_LINEARUPWIND_UNLIMITED"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.GaussLinearUpwindLimitedGradDivergenceScheme" : {
        "title" : "Gauss linear upwind limited grad",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: GaussLinearUpwindLimitedGradDivergenceScheme",
            "default" : "GAUSS_LINEARUPWIND_LIMITEDGRAD"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.GaussLimitedLinear1DivergenceScheme" : {
        "title" : "Gauss limited linear 1",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: GaussLimitedLinear1DivergenceScheme",
            "default" : "GAUSS_LIMITEDLINEAR_1"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.GaussLimitedLinearV1DivergenceScheme" : {
        "title" : "Gauss limited linear",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: GaussLimitedLinearV1DivergenceScheme",
            "default" : "GAUSS_LIMITEDLINEARV_1"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.BoundedGaussUpwindDivergenceScheme" : {
        "title" : "Bounded Gauss upwind",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: BoundedGaussUpwindDivergenceScheme",
            "default" : "BOUNDED_GAUSS_UPWIND"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.GaussUpwindDivergenceScheme" : {
        "title" : "Gauss upwind",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: GaussUpwindDivergenceScheme",
            "default" : "GAUSS_UPWIND"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.GaussVanleerDivergenceScheme" : {
        "title" : "Gauss vanLeer",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: GaussVanleerDivergenceScheme",
            "default" : "GAUSS_VANLEER"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.GaussLinearUpwindVGradUDivergenceScheme" : {
        "title" : "Gauss linear upwind v ∇U ",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: GaussLinearUpwindVGradUDivergenceScheme",
            "default" : "GAUSS_LINEARUPWINDV_GRAD_U_"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.GaussInterfaceCompressionDivergenceScheme" : {
        "title" : "Gauss interface compression",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: GaussInterfaceCompressionDivergenceScheme",
            "default" : "GAUSS_INTERFACECOMPRESSION"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.LaplacianSchemes" : {
        "type" : "object",
        "properties" : {
          "forDefault" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_LaplacianSchemesForDefault"
          },
          "laplacian_NuEff_velocity" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_LaplacianSchemesLaplacian_NuEff_velocity"
          },
          "laplacian_1A_U_pressure" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_LaplacianSchemesLaplacian_1A_U_pressure"
          },
          "laplacian_Nu_velocity" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_LaplacianSchemesLaplacian_Nu_velocity"
          },
          "laplacian_DREff_R" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_LaplacianSchemesLaplacian_DREff_R"
          },
          "laplacian_DnuTildaEff_nuTilda" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_LaplacianSchemesLaplacian_DnuTildaEff_nuTilda"
          },
          "laplacian_DkEff_turbulentKineticEnergy" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_LaplacianSchemesLaplacian_DkEff_turbulentKineticEnergy"
          },
          "laplacian_alphaEff_enthalpy" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_LaplacianSchemesLaplacian_alphaEff_enthalpy"
          },
          "laplacian_alpha_enthalpy" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_LaplacianSchemesLaplacian_alpha_enthalpy"
          },
          "laplacian_muEff_velocity" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_LaplacianSchemesLaplacian_muEff_velocity"
          },
          "laplacian_alphaEff_internalEnergy" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_LaplacianSchemesLaplacian_alphaEff_internalEnergy"
          },
          "laplacian_rhorAUf_pressureRgh" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_LaplacianSchemesLaplacian_rhorAUf_pressureRgh"
          },
          "laplacian_DepsilonEff_epsilonDissipationRate" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_LaplacianSchemesLaplacian_DepsilonEff_epsilonDissipationRate"
          },
          "laplacian_DomegaEff_omegaDissipationRate" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_LaplacianSchemesLaplacian_DomegaEff_omegaDissipationRate"
          },
          "laplacian_rAUf_pressure" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_LaplacianSchemesLaplacian_rAUf_pressure"
          },
          "laplacian_DT_passiveScalar" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_LaplacianSchemesLaplacian_DT_passiveScalar"
          },
          "laplacian_Dp_pressure" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_LaplacianSchemesLaplacian_Dp_pressure"
          },
          "laplacian_rhorAUf_pressure" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_LaplacianSchemesLaplacian_rhorAUf_pressure"
          },
          "laplacian_rho_1_A_U_pressure" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_LaplacianSchemesLaplacian_rho_1_A_U_pressure"
          },
          "laplacian_mut_velocity" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_LaplacianSchemesLaplacian_mut_velocity"
          },
          "laplacian_alphaEff_temperature" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_LaplacianSchemesLaplacian_alphaEff_temperature"
          },
          "laplacian_rAUf_pressureRgh" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_LaplacianSchemesLaplacian_rAUf_pressureRgh"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.GaussLinearCorrectedLaplacianScheme" : {
        "title" : "Gauss linear corrected",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: GaussLinearCorrectedLaplacianScheme",
            "default" : "GAUSS_LINEAR_CORRECTED"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.GaussLinearLimitedCorrectedLaplacianScheme" : {
        "title" : "Gauss linear limited corrected",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: GaussLinearLimitedCorrectedLaplacianScheme",
            "default" : "GAUSS_LINEAR_LIMITED_CORRECTED"
          },
          "limiterCoefficient" : {
            "title" : "Limiter coefficient",
            "maximum" : 1.0,
            "exclusiveMaximum" : false,
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "description" : "This property defines a limiter coefficient for the scheme:<ul><li><strong>0</strong>: no correction, equivalent to the uncorrected scheme</li><li><strong>1</strong>: full non-orthogonal correction applied</li><li><strong>0.5</strong>: non-orthogonal contribution does not exceed the orthogonal part</li></ul>",
            "default" : 0.5,
            "x-conditionalDefaults" : [ {
              "when" : [ "type == CONJUGATE_HEAT_TRANSFER" ],
              "default" : 0.33
            } ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.GaussLinearUncorrectedLaplacianScheme" : {
        "title" : "Gauss linear uncorrected",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: GaussLinearUncorrectedLaplacianScheme",
            "default" : "GAUSS_LINEAR_UNCORRECTED"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.InterpolationSchemes" : {
        "type" : "object",
        "properties" : {
          "forDefault" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_InterpolationSchemesForDefault"
          },
          "interpolate_HbyA" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_InterpolationSchemesInterpolate_HbyA"
          },
          "interpolate_velocity" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_InterpolationSchemesInterpolate_velocity"
          },
          "interpolate_kappa" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_InterpolationSchemesInterpolate_kappa"
          },
          "interpolate_rho" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_InterpolationSchemesInterpolate_rho"
          },
          "interpolate_thermo_rho_Cp" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_InterpolationSchemesInterpolate_thermo_rho_Cp"
          },
          "interpolate_map_Kappa" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_InterpolationSchemesInterpolate_map_Kappa"
          },
          "interpolate_rho_Hbya" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_InterpolationSchemesInterpolate_rho_Hbya"
          },
          "interpolate_rho_0_velocity0" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_InterpolationSchemesInterpolate_rho_0_velocity0"
          },
          "interpolate_grad_enthalpy" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_InterpolationSchemesInterpolate_grad_enthalpy"
          },
          "interpolate_rho_rAU" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_InterpolationSchemesInterpolate_rho_rAU"
          },
          "interpolate_rAU" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_InterpolationSchemesInterpolate_rAU"
          },
          "interpolate_velocity0" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_InterpolationSchemesInterpolate_velocity0"
          },
          "reconstruct_velocity" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_InterpolationSchemesReconstruct_velocity"
          },
          "reconstruct_temperature" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_InterpolationSchemesReconstruct_temperature"
          },
          "reconstruct_rho" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_InterpolationSchemesReconstruct_rho"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.CubicInterpolationScheme" : {
        "title" : "Cubic",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: CubicInterpolationScheme",
            "default" : "CUBIC"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.LinearInterpolationScheme" : {
        "title" : "Linear",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: LinearInterpolationScheme",
            "default" : "LINEAR"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.SurfaceNormalGradientSchemes" : {
        "type" : "object",
        "properties" : {
          "forDefault" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_SurfaceNormalGradientSchemesForDefault"
          },
          "surfaceNormalGradient_rho" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_SurfaceNormalGradientSchemesSurfaceNormalGradient_rho"
          },
          "surfaceNormalGradient_pressureRgh" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_SurfaceNormalGradientSchemesSurfaceNormalGradient_pressureRgh"
          },
          "surfaceNormalGradient_rhok" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_SurfaceNormalGradientSchemesSurfaceNormalGradient_rhok"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.CorrectedSurfaceNormalGradientScheme" : {
        "title" : "Corrected",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: CorrectedSurfaceNormalGradientScheme",
            "default" : "CORRECTED"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.UncorrectedSurfaceNormalGradientScheme" : {
        "title" : "Uncorrected",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: UncorrectedSurfaceNormalGradientScheme",
            "default" : "UNCORRECTED"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.LimitedSurfaceNormalGradientScheme" : {
        "title" : "Limited",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: LimitedSurfaceNormalGradientScheme",
            "default" : "LIMITED"
          },
          "limiterCoefficient" : {
            "title" : "Limiter coefficient",
            "maximum" : 1.0,
            "exclusiveMaximum" : false,
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "description" : "This property defines a limiter coefficient for the scheme:<ul><li><strong>0</strong>: no correction, equivalent to the uncorrected scheme</li><li><strong>1</strong>: full non-orthogonal correction applied</li><li><strong>0.5</strong>: non-orthogonal contribution does not exceed the orthogonal part</li></ul>",
            "default" : 0.5
          }
        },
        "additionalProperties" : false
      },
      "Simulation.Stabilization" : {
        "title" : "Stabilization",
        "type" : "object",
        "properties" : {
          "fieldLimits" : {
            "$ref" : "#/components/schemas/Simulation.FieldLimits"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.FieldLimits" : {
        "title" : "Field limits",
        "type" : "object",
        "properties" : {
          "lowerDensityBound" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Density"
          },
          "upperDensityBound" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Density"
          },
          "lowerPressureBound" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Pressure"
          },
          "upperPressureBound" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Pressure"
          },
          "lowerTemperatureBound" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Temperature"
          },
          "upperTemperatureBound" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Temperature"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.FluidSimulationControl" : {
        "type" : "object",
        "properties" : {
          "endTime" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Time"
          },
          "adjointEndTime" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Time"
          },
          "numberOfIterations" : {
            "title" : "Number of iterations",
            "minimum" : 1,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "description" : "This represents the total number of iterations at which the simulation will terminate. No further iterations will be performed beyond this point. <a href='https://www.simscale.com/docs/simulation-setup/simulation-control/' target='_blank'>Learn more</a>.",
            "x-showWhen" : [ "type == SIMERICS_ANALYSIS" ],
            "x-conditionalDefaults" : [ {
              "when" : [ "type == SIMERICS_ANALYSIS && timeDependency.type == TRANSIENT && isMultiphase == true" ],
              "default" : 10
            }, {
              "when" : [ "type == SIMERICS_ANALYSIS && timeDependency.type == TRANSIENT && isMultiphase == false" ],
              "default" : 25
            }, {
              "when" : [ "type == SIMERICS_ANALYSIS && timeDependency.type == STATIONARY" ],
              "default" : 1000
            } ]
          },
          "deltaT" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Time"
          },
          "variableDeltaT" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_Time"
          },
          "adjustableTimestep" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_FluidSimulationControlAdjustableTimestep"
          },
          "writeControl" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_FluidSimulationControlWriteControl"
          },
          "relativeConvergenceCriteria" : {
            "title" : "Convergence criteria",
            "maximum" : 1.0,
            "exclusiveMaximum" : false,
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "description" : "<b>Steady-state simulation:</b> This represents the relative error residuals that once attained by the solver the simulation is considered to be converged and will stop. The recommended value is 0.001.<br> <b>Transient simulation:</b> This represents the relative error residuals that once attained by the solver the simulation will move to the next time-step regardless of the <i>Number of iterations</i>. The recommended value is 0.1.</br> <br> <b>Please note: </b>Relative residual is defined as the residual in the current iteration divided by the maximum value of residual calculated up to that point.</br> <br> <b>Please note: </b>Lower convergence criterion is demanded for <b>Steady-state simulations</b> because the initial guess is typically farther from the correct solution.</br>",
            "x-showWhen" : [ "type == SIMERICS_ANALYSIS" ],
            "x-conditionalDefaults" : [ {
              "when" : [ "type == SIMERICS_ANALYSIS && timeDependency.type == TRANSIENT" ],
              "default" : 0.1
            }, {
              "when" : [ "type == SIMERICS_ANALYSIS && timeDependency.type == STATIONARY" ],
              "default" : 0.001
            } ]
          },
          "numProcessors" : {
            "title" : "Number of processors",
            "maximum" : 192,
            "exclusiveMaximum" : false,
            "minimum" : -1,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "description" : "<p>Selecting more processor cores will speed up the simulation process. Choosing a smaller computation instance will save core hours. <a href='https://www.simscale.com/docs/simulation-setup/simulation-control-fluid/#number-of-processors' target='_blank'>Learn more</a>.</p>",
            "default" : -1,
            "x-showWhen" : [ "type in [COMPRESSIBLE,INCOMPRESSIBLE,CONJUGATE_HEAT_TRANSFER,CONVECTIVE_HEAT_TRANSFER,MULTIPHASE,COUPLED_CONJUGATE_HEAT_TRANSFER,EMBEDDED_BOUNDARY,SIMERICS_ANALYSIS]" ],
            "x-conditionalEnum" : [ {
              "value" : -1,
              "when" : [ "type in [COMPRESSIBLE,INCOMPRESSIBLE,CONJUGATE_HEAT_TRANSFER,CONVECTIVE_HEAT_TRANSFER,MULTIPHASE,COUPLED_CONJUGATE_HEAT_TRANSFER,EMBEDDED_BOUNDARY]" ]
            }, {
              "value" : -1,
              "when" : [ "type == SIMERICS_ANALYSIS" ]
            }, {
              "value" : 1,
              "when" : [ "type in [COMPRESSIBLE,INCOMPRESSIBLE,CONJUGATE_HEAT_TRANSFER,CONVECTIVE_HEAT_TRANSFER,MULTIPHASE,COUPLED_CONJUGATE_HEAT_TRANSFER,EMBEDDED_BOUNDARY]" ]
            }, {
              "value" : 1,
              "when" : [ "type == SIMERICS_ANALYSIS" ]
            }, {
              "value" : 2,
              "when" : [ "type in [COMPRESSIBLE,INCOMPRESSIBLE,CONJUGATE_HEAT_TRANSFER,CONVECTIVE_HEAT_TRANSFER,MULTIPHASE,COUPLED_CONJUGATE_HEAT_TRANSFER,EMBEDDED_BOUNDARY]" ]
            }, {
              "value" : 2,
              "when" : [ "type == SIMERICS_ANALYSIS" ]
            }, {
              "value" : 4,
              "when" : [ "type in [COMPRESSIBLE,INCOMPRESSIBLE,CONJUGATE_HEAT_TRANSFER,CONVECTIVE_HEAT_TRANSFER,MULTIPHASE,COUPLED_CONJUGATE_HEAT_TRANSFER,EMBEDDED_BOUNDARY]" ]
            }, {
              "value" : 4,
              "when" : [ "type == SIMERICS_ANALYSIS" ]
            }, {
              "value" : 8,
              "when" : [ "type in [COMPRESSIBLE,INCOMPRESSIBLE,CONJUGATE_HEAT_TRANSFER,CONVECTIVE_HEAT_TRANSFER,MULTIPHASE,COUPLED_CONJUGATE_HEAT_TRANSFER,EMBEDDED_BOUNDARY]" ]
            }, {
              "value" : 8,
              "when" : [ "type == SIMERICS_ANALYSIS" ]
            }, {
              "value" : 16,
              "when" : [ "type in [COMPRESSIBLE,INCOMPRESSIBLE,CONJUGATE_HEAT_TRANSFER,CONVECTIVE_HEAT_TRANSFER,MULTIPHASE,COUPLED_CONJUGATE_HEAT_TRANSFER,EMBEDDED_BOUNDARY]" ]
            }, {
              "value" : 16,
              "when" : [ "type == SIMERICS_ANALYSIS" ]
            }, {
              "value" : 32,
              "when" : [ "type in [COMPRESSIBLE,INCOMPRESSIBLE,CONJUGATE_HEAT_TRANSFER,CONVECTIVE_HEAT_TRANSFER,MULTIPHASE,COUPLED_CONJUGATE_HEAT_TRANSFER,EMBEDDED_BOUNDARY]" ]
            }, {
              "value" : 32,
              "when" : [ "type == SIMERICS_ANALYSIS" ]
            }, {
              "value" : 48,
              "when" : [ "type == SIMERICS_ANALYSIS" ]
            }, {
              "value" : 64,
              "when" : [ "type in [COMPRESSIBLE,INCOMPRESSIBLE,CONJUGATE_HEAT_TRANSFER,CONVECTIVE_HEAT_TRANSFER,MULTIPHASE,COUPLED_CONJUGATE_HEAT_TRANSFER,EMBEDDED_BOUNDARY]" ]
            }, {
              "value" : 64,
              "when" : [ "type == SIMERICS_ANALYSIS" ]
            }, {
              "value" : 96,
              "when" : [ "type in [COMPRESSIBLE,INCOMPRESSIBLE,CONJUGATE_HEAT_TRANSFER,CONVECTIVE_HEAT_TRANSFER,MULTIPHASE,COUPLED_CONJUGATE_HEAT_TRANSFER,EMBEDDED_BOUNDARY]" ]
            }, {
              "value" : 96,
              "when" : [ "type == SIMERICS_ANALYSIS" ]
            }, {
              "value" : 128,
              "when" : [ "type == SIMERICS_ANALYSIS" ]
            }, {
              "value" : 192,
              "when" : [ "type in [COMPRESSIBLE,INCOMPRESSIBLE,CONJUGATE_HEAT_TRANSFER,CONVECTIVE_HEAT_TRANSFER,MULTIPHASE,COUPLED_CONJUGATE_HEAT_TRANSFER,EMBEDDED_BOUNDARY]" ]
            }, {
              "value" : 192,
              "when" : [ "type == SIMERICS_ANALYSIS" ]
            } ]
          },
          "maxRunTime" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Time"
          },
          "velocityScaling" : {
            "title" : "Velocity scaling",
            "maximum" : 0.25,
            "exclusiveMaximum" : false,
            "minimum" : 0.025,
            "exclusiveMinimum" : false,
            "type" : "number",
            "description" : "<p>It affects the stability of the simulation. The default value of 0.1 is a good compromise between accuracy and computational requirements. Lower values of this parameter might increase the stability of the simulation at the cost of higher computational time.</p>",
            "default" : 0.1,
            "x-showWhen" : [ "type == INCOMPRESSIBLE_PACEFISH" ]
          },
          "potentialFoamInitialization" : {
            "title" : "Potential flow initialization",
            "type" : "boolean",
            "description" : "This setting activates the solution of a potential flow field. The potential flow is used as initial condition for the actual simulation. This can accelerate convergence and improve stability during the first time steps. If you experience stability problems, this setting may bring some improvement.",
            "default" : false,
            "x-showWhen" : [ "type in [INCOMPRESSIBLE,MULTIPHASE]", "type == CONVECTIVE_HEAT_TRANSFER && turbulenceModel in [NONE,KEPSILON,KOMEGASST]" ]
          },
          "decomposeAlgorithm" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_FluidSimulationControlDecomposeAlgorithm"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.DimensionalFunction_Time" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_DimensionalFunction_TimeValue"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "s" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.InactiveAdjustableTimestep" : {
        "title" : "False",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "This option activates an adjustable time step. The time step is being modified according to the Courant number.\n\nSchema name: InactiveAdjustableTimestep",
            "default" : "INACTIVE_TIMESTEP"
          }
        },
        "additionalProperties" : false,
        "description" : "This option activates an adjustable time step. The time step is being modified according to the Courant number."
      },
      "Simulation.ActiveAdjustableTimestep" : {
        "title" : "True",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "This option activates an adjustable time step. The time step is being modified according to the Courant number.\n\nSchema name: ActiveAdjustableTimestep",
            "default" : "ACTIVE_TIMESTEP"
          },
          "maximalCourantNumber" : {
            "title" : "Maximal Courant number",
            "type" : "number",
            "description" : "This option defines a maximum Courant number. The resulting time step should resolve relevant transient effects with at least 100 steps. <br><b>Transient multiphase simulations</b>: Maximum Courant number may not be greater than 1. Values of 0.5-0.7 are recommended for many cases.",
            "default" : 0.5,
            "x-conditionalDefaults" : [ {
              "when" : [ "type in [COUPLED_CONJUGATE_HEAT_TRANSFER,EMBEDDED_BOUNDARY,COMPRESSIBLE]", "type == INCOMPRESSIBLE && algorithm == PIMPLE" ],
              "default" : 100
            } ]
          },
          "maximalStep" : {
            "title" : "Maximal step",
            "minimum" : 0.0,
            "exclusiveMinimum" : true,
            "type" : "number",
            "description" : "This option defines a maximum time step length which may not be exceeded when the time step is adapted during runtime.",
            "default" : 1
          },
          "maxAlphaCo" : {
            "title" : "Max alpha co",
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "description" : "Define a maximum Courant number based on the interface velocity.",
            "default" : 0.5,
            "x-showWhen" : [ "type == MULTIPHASE" ]
          }
        },
        "additionalProperties" : false,
        "description" : "This option activates an adjustable time step. The time step is being modified according to the Courant number."
      },
      "Simulation.TimeStepWriteControl" : {
        "title" : "Time step",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "This option controls how the simulation results are written and how frequently.\n\nSchema name: TimeStepWriteControl",
            "default" : "TIME_STEP"
          },
          "writeInterval" : {
            "title" : "Write interval",
            "minimum" : 1,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "description" : "Specify an interval value that defines the number of time steps between two writes of the result.",
            "x-conditionalDefaults" : [ {
              "when" : [ "type == INCOMPRESSIBLE && timeDependency.type == TRANSIENT && 2# == simulationControl", "type == COMPRESSIBLE && timeDependency.type == TRANSIENT && 2# == simulationControl", "type == CONJUGATE_HEAT_TRANSFER && timeDependency.type == TRANSIENT && 2# == simulationControl", "type == CONVECTIVE_HEAT_TRANSFER && timeDependency.type == TRANSIENT && 2# == simulationControl", "type == COUPLED_CONJUGATE_HEAT_TRANSFER && timeDependency.type == TRANSIENT && 2# == simulationControl", "type == EMBEDDED_BOUNDARY && timeDependency.type == TRANSIENT && 2# == simulationControl", "type == MULTIPHASE && 2# == simulationControl", "type == SIMERICS_ANALYSIS && 2# == simulationControl" ],
              "default" : 50
            }, {
              "when" : [ "type == INCOMPRESSIBLE && timeDependency.type == STATIONARY && 2# == simulationControl", "type == COMPRESSIBLE && timeDependency.type == STATIONARY && 2# == simulationControl", "type == CONJUGATE_HEAT_TRANSFER && timeDependency.type == STATIONARY && 2# == simulationControl", "type == CONVECTIVE_HEAT_TRANSFER && timeDependency.type == STATIONARY && 2# == simulationControl", "type == MULTIPHASE && 2# == simulationControl", "type == COUPLED_CONJUGATE_HEAT_TRANSFER && timeDependency.type == STATIONARY && 2# == simulationControl", "type == EMBEDDED_BOUNDARY && timeDependency.type == STATIONARY && 2# == simulationControl" ],
              "default" : 1000
            }, {
              "when" : [ "2# != simulationControl", "2/type in [FORCES_AND_MOMENTS,FORCE_AND_MOMENT_COEFFICIENTS,AREA_AVERAGE,AREA_INTEGRAL,PROBE_POINTS]", "type == ELECTROMAGNETIC_ANALYSIS" ],
              "default" : 1
            } ]
          }
        },
        "additionalProperties" : false,
        "description" : "This option controls how the simulation results are written and how frequently."
      },
      "Simulation.ClockTimeWriteControl" : {
        "title" : "Clock time",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "This option controls how the simulation results are written and how frequently.\n\nSchema name: ClockTimeWriteControl",
            "default" : "CLOCK_TIME"
          },
          "writeInterval" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Time"
          }
        },
        "additionalProperties" : false,
        "description" : "This option controls how the simulation results are written and how frequently."
      },
      "Simulation.RunTimeWriteControl" : {
        "title" : "Runtime",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "This option controls how the simulation results are written and how frequently.\n\nSchema name: RunTimeWriteControl",
            "default" : "RUNTIME"
          },
          "writeInterval" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Time"
          }
        },
        "additionalProperties" : false,
        "description" : "This option controls how the simulation results are written and how frequently."
      },
      "Simulation.CpuTimeWriteControl" : {
        "title" : "CPU time",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "This option controls how the simulation results are written and how frequently.\n\nSchema name: CpuTimeWriteControl",
            "default" : "CPU_TIME"
          },
          "writeInterval" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Time"
          }
        },
        "additionalProperties" : false,
        "description" : "This option controls how the simulation results are written and how frequently."
      },
      "Simulation.AdjustableRuntimeWriteControl" : {
        "title" : "Adjustable runtime",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "This option controls how the simulation results are written and how frequently.\n\nSchema name: AdjustableRuntimeWriteControl",
            "default" : "ADJUSTABLE_RUNTIME"
          },
          "writeInterval" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Time"
          }
        },
        "additionalProperties" : false,
        "description" : "This option controls how the simulation results are written and how frequently."
      },
      "Simulation.NumberIterationsWriteControl" : {
        "title" : "Iterations",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "This option controls how the simulation results are written and how frequently.\n\nSchema name: NumberIterationsWriteControl",
            "default" : "NUMBER_OF_ITERATIONS_STEADY_STATE"
          },
          "writeInterval" : {
            "title" : "Write interval",
            "minimum" : 1,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "description" : "Specify an interval value that defines the number of iterations between two writes of the result.",
            "default" : 1000
          }
        },
        "additionalProperties" : false,
        "description" : "This option controls how the simulation results are written and how frequently."
      },
      "Simulation.ScotchDecomposeAlgorithm" : {
        "title" : "Scotch",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: ScotchDecomposeAlgorithm",
            "default" : "SCOTCH"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.HierarchicalDecomposeAlgorithm" : {
        "title" : "Hierarchical",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: HierarchicalDecomposeAlgorithm",
            "default" : "HIERARCHICAL"
          },
          "decompositionOrder" : {
            "title" : "Decomposition order",
            "type" : "string",
            "description" : "<p>Choose the order of domain decomposition .</p>",
            "default" : "XYZ",
            "enum" : [ "XYZ", "XZY", "YXZ", "YZX", "ZXY", "ZYX" ]
          },
          "delta" : {
            "title" : "Delta",
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "description" : "Delta is cell skew factor. It represents the cell skewness allowed at the decomposed domain boundaries and is generally kept below 10^{-2}. <a href='https://www.simscale.com/docs/simulation-setup/simulation-control/' target='_blank'>Learn more</a>.",
            "default" : 0.01
          },
          "numSubdomainX" : {
            "title" : "Number of subdomain x",
            "minimum" : 1,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "description" : "<p>Define the number of subdomains the mesh is split into in the specific direction.</p>",
            "default" : 1
          },
          "numSubdomainY" : {
            "title" : "Number of subdomain y",
            "minimum" : 1,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "description" : "<p>Define the number of subdomains the mesh is split into in the specific direction.</p>",
            "default" : 1
          },
          "numSubdomainZ" : {
            "title" : "Number of subdomain z",
            "minimum" : 1,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "description" : "<p>Define the number of subdomains the mesh is split into in the specific direction.</p>",
            "default" : 1
          }
        },
        "additionalProperties" : false
      },
      "Simulation.SimpleDecomposeAlgorithm" : {
        "title" : "Simple",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: SimpleDecomposeAlgorithm",
            "default" : "SIMPLE"
          },
          "delta" : {
            "title" : "Delta",
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "description" : "Delta is cell skew factor. It represents the cell skewness allowed at the decomposed domain boundaries and is generally kept below 10^{-2}. <a href='https://www.simscale.com/docs/simulation-setup/simulation-control/' target='_blank'>Learn more</a>.",
            "default" : 0.01
          },
          "numSubdomainX" : {
            "title" : "Number of subdomain x",
            "minimum" : 1,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "description" : "<p>Define the number of subdomains the mesh is split into in the specific direction.</p>",
            "default" : 1
          },
          "numSubdomainY" : {
            "title" : "Number of subdomain y",
            "minimum" : 1,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "description" : "<p>Define the number of subdomains the mesh is split into in the specific direction.</p>",
            "default" : 1
          },
          "numSubdomainZ" : {
            "title" : "Number of subdomain z",
            "minimum" : 1,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "description" : "<p>Define the number of subdomains the mesh is split into in the specific direction.</p>",
            "default" : 1
          }
        },
        "additionalProperties" : false
      },
      "Simulation.FluidResultControls" : {
        "type" : "object",
        "properties" : {
          "customComfortCriteria" : {
            "title" : "Custom comfort criteria",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.CustomComfortCriterionResultControl"
            },
            "x-showWhen" : [ "type == WIND_COMFORT" ]
          },
          "forcesMoments" : {
            "title" : "Forces and moments",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.OneOf_FluidResultControlsForcesMoments"
            },
            "x-showWhen" : [ "type in [SIMERICS_ANALYSIS,INCOMPRESSIBLE,INCOMPRESSIBLE_PACEFISH,COMPRESSIBLE,CONVECTIVE_HEAT_TRANSFER,MULTIPHASE,WIND_COMFORT]" ]
          },
          "surfaceData" : {
            "title" : "Surface data",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.OneOf_FluidResultControlsSurfaceData"
            },
            "x-showWhen" : [ "type in [SIMERICS_ANALYSIS,COMPRESSIBLE,INCOMPRESSIBLE,CONVECTIVE_HEAT_TRANSFER]", "type in [CONJUGATE_HEAT_TRANSFER,COUPLED_CONJUGATE_HEAT_TRANSFER,MULTIPHASE,EMBEDDED_BOUNDARY]" ]
          },
          "scalarTransport" : {
            "title" : "Scalar transport",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.ScalarTransportResultControl"
            },
            "x-showWhen" : [ "type == INCOMPRESSIBLE && numOfPassiveSpecies == 0" ]
          },
          "probePoints" : {
            "title" : "Probe points",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.ProbePointsResultControl"
            }
          },
          "fieldCalculations" : {
            "title" : "Field calculations",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.OneOf_FluidResultControlsFieldCalculations"
            },
            "x-showWhen" : [ "type in [INCOMPRESSIBLE,INCOMPRESSIBLE_PACEFISH,WIND_COMFORT,COMPRESSIBLE,CONVECTIVE_HEAT_TRANSFER]", "type in [CONJUGATE_HEAT_TRANSFER,COUPLED_CONJUGATE_HEAT_TRANSFER,EMBEDDED_BOUNDARY]", "type == SIMERICS_ANALYSIS && isCHT == true" ]
          },
          "transientResultControl" : {
            "$ref" : "#/components/schemas/Simulation.TransientResultControl"
          },
          "statisticalAveragingResultControl" : {
            "$ref" : "#/components/schemas/Simulation.StatisticalAveragingResultControlV2"
          },
          "snapshotResultControl" : {
            "$ref" : "#/components/schemas/Simulation.SnapshotResultControl"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.CustomComfortCriterionResultControl" : {
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: CustomComfortCriterionResultControl",
            "default" : "CUSTOM_COMFORT_CRITERION"
          },
          "name" : {
            "title" : "Name",
            "pattern" : "^[A-Za-z()][-+0-9a-zA-Z_()\\h]{0,199}$",
            "type" : "string"
          },
          "comfortCriterionDefinitionV2" : {
            "$ref" : "#/components/schemas/Simulation.ComfortCriterionDefinitionV2"
          },
          "outOfBoundsName" : {
            "title" : "Out of bounds name",
            "pattern" : "^[A-Za-z][-0-9a-zA-Z_\\h]{0,31}$",
            "type" : "string",
            "description" : "It defines the name of the category that is reached if all defined criteria are exceeded.",
            "default" : "Uncomfortable"
          },
          "advancedSettings" : {
            "$ref" : "#/components/schemas/Simulation.AdvancedComfortCriterionSettings"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.ComfortCriterionDefinitionV2" : {
        "type" : "object",
        "properties" : {
          "windSpeedThresholds" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_Speed"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.VariableGroup_LEGEND_PROBABILITY" : {
        "type" : "object",
        "properties" : {
          "Legend" : {
            "$ref" : "#/components/schemas/Simulation.Unit_Text"
          },
          "Probability [%]" : {
            "$ref" : "#/components/schemas/Simulation.Unit_Dimensionless"
          }
        }
      },
      "Simulation.Unit_Text" : {
        "type" : "object",
        "properties" : {
          "value" : {
            "title" : "Value",
            "type" : "string"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "" ]
          }
        }
      },
      "Simulation.AdvancedComfortCriterionSettings" : {
        "type" : "object",
        "properties" : {
          "gustFactor" : {
            "title" : "Gust factor",
            "minimum" : 0.0,
            "exclusiveMinimum" : true,
            "type" : "number",
            "description" : "Value of the gust factor <b>k<sub>g</sub></b> used in the computation of the gust wind speed from the mean wind speed <b>U<sub>mean</sub></b> and the standard deviation of the wind speed <b>&sigma;</b>: <ul><b>U<sub>gust</sub> = U<sub>mean</sub> + k<sub>g</sub> &sigma;</b></ul> <a href= https://www.simscale.com/docs/analysis-types/pedestrian-wind-comfort-analysis/pedestrian-comfort-map/gust-equivalent-mean/#gust-equivalent-mean-formulation target='_blank'>Learn more</a>.",
            "default" : 3.5
          },
          "gemCorrection" : {
            "title" : "GEM correction",
            "minimum" : 0.0,
            "exclusiveMinimum" : true,
            "type" : "number",
            "description" : "Value of the gust equivalent mean correction factor <b>k<sub>GEM</sub></b> used in the computation of the gust equivalent mean wind speed <b>U<sub>GEM</sub></b> from the gust wind speed <b>U<sub>gust</sub>: <ul>U<sub>GEM</sub> = U<sub>gust</sub> / k<sub>GEM</sub></b></ul> <a href= https://www.simscale.com/docs/analysis-types/pedestrian-wind-comfort-analysis/pedestrian-comfort-map/gust-equivalent-mean/#gust-equivalent-mean-formulation target='_blank'>Learn more</a>.",
            "default" : 1.85
          }
        },
        "additionalProperties" : false
      },
      "Simulation.ForcesMomentsResultControl" : {
        "title" : "Forces and moments",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: ForcesMomentsResultControl",
            "default" : "FORCES_AND_MOMENTS"
          },
          "name" : {
            "title" : "Name",
            "pattern" : "^[A-Za-z()][-+0-9a-zA-Z_()\\h]{0,199}$",
            "type" : "string"
          },
          "centerOfRotation" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalVector_Length"
          },
          "writeControl" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_ForcesMomentsResultControlWriteControl"
          },
          "fractionFromEnd" : {
            "title" : "Fraction from end",
            "maximum" : 1.0,
            "exclusiveMaximum" : false,
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "description" : "It defines the point in simulation where the result output data extraction starts. For instance, <i>Fraction from end</i> of 1 (100%) extracts all data from the beginning of the simulation while default 0.2 extracts 20% data from the end of the simulation.",
            "default" : 0.2,
            "x-showWhen" : [ "type in [INCOMPRESSIBLE_PACEFISH,WIND_COMFORT]" ]
          },
          "exportStatistics" : {
            "title" : "Export statistical data",
            "type" : "boolean",
            "description" : "<p>When this switch is activated, statistical data for the selected forces and moments will be exported:</p><ul><li>Minimum (<strong>MIN</strong>)</li><li>Maximum (<strong>MAX</strong>)</li><li>Average (<strong>AVG</strong>)</li><li>Standard deviation (<strong>STDDEV</strong>)</li><li>Root mean square (<strong>RMS</strong>)</li></ul>",
            "default" : true,
            "x-showWhen" : [ "type in [INCOMPRESSIBLE_PACEFISH,WIND_COMFORT]" ]
          },
          "groupAssignments" : {
            "title" : "Group assignments",
            "type" : "boolean",
            "description" : "When this switch is activated, forces and moments will be calculated cumulatively on all assignments. When deactivated, they will be calculated individually for each assignment.",
            "default" : true,
            "x-showWhen" : [ "type in [INCOMPRESSIBLE_PACEFISH,WIND_COMFORT]" ]
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.SynchronizeWithFieldOutputWriteControl" : {
        "title" : "Synchronize with field output",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "This option controls how the simulation results are written and how frequently.\n\nSchema name: SynchronizeWithFieldOutputWriteControl",
            "default" : "OUTPUT_TIME"
          },
          "writeInterval" : {
            "title" : "Write interval",
            "minimum" : 1,
            "exclusiveMinimum" : false,
            "type" : "number",
            "default" : 1
          }
        },
        "additionalProperties" : false,
        "description" : "This option controls how the simulation results are written and how frequently."
      },
      "Simulation.HighResolution" : {
        "title" : "High resolution",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Output will be written every 2 time steps.\n\nSchema name: HighResolution",
            "default" : "HIGH_RESOLUTION"
          }
        },
        "additionalProperties" : false,
        "description" : "Output will be written every 2 time steps."
      },
      "Simulation.ModerateResolution" : {
        "title" : "Moderate resolution",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Output will be written every 4 time steps.\n\nSchema name: ModerateResolution",
            "default" : "MODERATE_RESOLUTION"
          }
        },
        "additionalProperties" : false,
        "description" : "Output will be written every 4 time steps."
      },
      "Simulation.CoarseResolution" : {
        "title" : "Coarse resolution",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Output will be written every 8 time steps.\n\nSchema name: CoarseResolution",
            "default" : "COARSE_RESOLUTION"
          }
        },
        "additionalProperties" : false,
        "description" : "Output will be written every 8 time steps."
      },
      "Simulation.CustomResolution" : {
        "title" : "Custom resolution",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "This option controls how the simulation results are written and how frequently.\n\nSchema name: CustomResolution",
            "default" : "CUSTOM_RESOLUTION"
          },
          "writeInterval" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Time"
          }
        },
        "additionalProperties" : false,
        "description" : "This option controls how the simulation results are written and how frequently."
      },
      "Simulation.ForceMomentCoefficientsResultControl" : {
        "title" : "Force and moment coefficients",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: ForceMomentCoefficientsResultControl",
            "default" : "FORCE_AND_MOMENT_COEFFICIENTS"
          },
          "name" : {
            "title" : "Name",
            "pattern" : "^[A-Za-z()][-+0-9a-zA-Z_()\\h]{0,199}$",
            "type" : "string"
          },
          "centerOfRotation" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalVector_Length"
          },
          "liftDirection" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalVector_Length"
          },
          "dragDirection" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalVector_Length"
          },
          "pitchAxis" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalVector_Length"
          },
          "freestreamVelocityMagnitude" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Speed"
          },
          "referenceLength" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Length"
          },
          "referenceAreaValue" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Area"
          },
          "writeControl" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_ForceMomentCoefficientsResultControlWriteControl"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.AreaAverageResultControl" : {
        "title" : "Area average",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: AreaAverageResultControl",
            "default" : "AREA_AVERAGE"
          },
          "name" : {
            "title" : "Name",
            "pattern" : "^[A-Za-z()][-+0-9a-zA-Z_()\\h]{0,199}$",
            "type" : "string"
          },
          "writeControl" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_AreaAverageResultControlWriteControl"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.AreaIntegralResultControl" : {
        "title" : "Area integral",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: AreaIntegralResultControl",
            "default" : "AREA_INTEGRAL"
          },
          "name" : {
            "title" : "Name",
            "pattern" : "^[A-Za-z()][-+0-9a-zA-Z_()\\h]{0,199}$",
            "type" : "string"
          },
          "writeControl" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_AreaIntegralResultControlWriteControl"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.PressureDifferenceResultControl" : {
        "title" : "Pressure difference",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: PressureDifferenceResultControl",
            "default" : "PRESSURE_DIFFERENCE"
          },
          "name" : {
            "title" : "Name",
            "pattern" : "^[A-Za-z()][-+0-9a-zA-Z_()\\h]{0,199}$",
            "type" : "string"
          },
          "absoluteValueOfPressureDifference" : {
            "title" : "Apply Absolute Value",
            "type" : "boolean",
            "description" : "Ensure a non-negative pressure difference result. Useful for many applications in which the pressure difference is assumed to be a <i>pressure drop</i>. However, leaving this on may yield <b>non-physical</b> results for some combinations of static/total pressure.",
            "default" : true
          },
          "inletFacePressureDifferenceType" : {
            "title" : "Inlet face pressure type",
            "type" : "string",
            "description" : "<p>The total pressure is the sum of the static pressure and the dynamic pressure.</p>",
            "default" : "STATIC_PRESSURE",
            "enum" : [ "STATIC_PRESSURE", "TOTAL_PRESSURE" ]
          },
          "inletFaceTopologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          },
          "outletFacePressureDifferenceType" : {
            "title" : "Outlet face pressure type",
            "type" : "string",
            "description" : "<p>The total pressure is the sum of the static pressure and the dynamic pressure.</p>",
            "default" : "STATIC_PRESSURE",
            "enum" : [ "STATIC_PRESSURE", "TOTAL_PRESSURE" ]
          },
          "outletFaceTopologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.ScalarTransportResultControl" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "title" : "Name",
            "pattern" : "^[A-Za-z()][-+0-9a-zA-Z_()\\h]{0,199}$",
            "type" : "string"
          },
          "diffusionCoefficient" : {
            "title" : "Diffusion coefficient",
            "type" : "number",
            "default" : 0
          },
          "volumeMode" : {
            "title" : "Volume mode",
            "type" : "string",
            "default" : "SPECIFIC",
            "enum" : [ "SPECIFIC", "ABSOLUTE" ]
          },
          "su" : {
            "title" : "Explicit source term",
            "type" : "number",
            "default" : 1
          },
          "sp" : {
            "title" : "Implicit sink term",
            "type" : "number",
            "default" : 0
          },
          "writeControl" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_ScalarTransportResultControlWriteControl"
          },
          "geometryPrimitiveUuids" : {
            "title" : "Geometry primitives",
            "type" : "array",
            "items" : {
              "type" : "string",
              "format" : "uuid"
            },
            "x-referencedPrimitivesOptions" : {
              "allowMultiple" : true,
              "pathToPrimitives" : "geometryPrimitives",
              "allowedReferencedPrimitiveTypes" : [ "POINT" ]
            }
          }
        },
        "additionalProperties" : false
      },
      "Simulation.ProbePointsResultControl" : {
        "title" : "Probe points",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: ProbePointsResultControl",
            "default" : "PROBE_POINTS"
          },
          "name" : {
            "title" : "Name",
            "pattern" : "^[A-Za-z()][-+0-9a-zA-Z_()\\h]{0,199}$",
            "type" : "string"
          },
          "writeControl" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_ProbePointsResultControlWriteControl"
          },
          "fractionFromEnd" : {
            "title" : "Fraction from end",
            "maximum" : 1.0,
            "exclusiveMaximum" : false,
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "description" : "It defines the point in simulation where the result output data extraction starts. For instance, <i>Fraction from end</i> of 1 (100%) extracts all data from the beginning of the simulation while default 0.2 extracts 20% data from the end of the simulation.",
            "default" : 0.2,
            "x-showWhen" : [ "type in [INCOMPRESSIBLE_PACEFISH,WIND_COMFORT]" ]
          },
          "exportStatistics" : {
            "title" : "Export statistical data",
            "type" : "boolean",
            "description" : "<p>When this switch is activated, statistical data for the selected probe points will be exported:</p><ul><li>Minimum (<strong>MIN</strong>)</li><li>Maximum (<strong>MAX</strong>)</li><li>Average (<strong>AVG</strong>)</li><li>Standard deviation (<strong>STDDEV</strong>)</li><li>Root mean square (<strong>RMS</strong>)</li></ul>",
            "default" : true,
            "x-showWhen" : [ "type in [INCOMPRESSIBLE_PACEFISH,WIND_COMFORT]" ]
          },
          "geometryPrimitiveUuids" : {
            "title" : "Geometry primitives",
            "type" : "array",
            "items" : {
              "type" : "string",
              "format" : "uuid"
            },
            "x-showWhen" : [ "type in [COMPRESSIBLE,INCOMPRESSIBLE,CONJUGATE_HEAT_TRANSFER,COUPLED_CONJUGATE_HEAT_TRANSFER,CONVECTIVE_HEAT_TRANSFER,MULTIPHASE,EMBEDDED_BOUNDARY,SIMERICS_ANALYSIS]" ],
            "x-referencedPrimitivesOptions" : {
              "allowMultiple" : true,
              "pathToPrimitives" : "geometryPrimitives",
              "allowedReferencedPrimitiveTypes" : [ "POINT" ]
            }
          },
          "probeLocations" : {
            "$ref" : "#/components/schemas/Simulation.TableDefinedProbeLocations"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.TableDefinedProbeLocations" : {
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: TableDefinedProbeLocations",
            "default" : "TABULAR"
          },
          "tableId" : {
            "type" : "string",
            "description" : "The ID of the imported table.",
            "format" : "uuid"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.FieldCalculationsPressureResultControl" : {
        "title" : "Pressure fields",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: FieldCalculationsPressureResultControl",
            "default" : "PRESSURE"
          },
          "name" : {
            "title" : "Name",
            "pattern" : "^[A-Za-z()][-+0-9a-zA-Z_()\\h]{0,199}$",
            "type" : "string"
          },
          "pressureType" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_FieldCalculationsPressureResultControlPressureType"
          },
          "resultType" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_FieldCalculationsPressureResultControlResultType"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.TotalPressurePressureType" : {
        "title" : "Total pressure",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: TotalPressurePressureType",
            "default" : "TOTAL_PRESSURE"
          },
          "pressureValue" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Pressure"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.StaticPressurePressureType" : {
        "title" : "Static pressure",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: StaticPressurePressureType",
            "default" : "STATIC_PRESSURE"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.PressureValueResultType" : {
        "title" : "Pressure value",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: PressureValueResultType",
            "default" : "PRESSURE_VALUE"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.PressureCoefficientResultType" : {
        "title" : "Pressure coefficient",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: PressureCoefficientResultType",
            "default" : "PRESSURE_COEFFICIENT"
          },
          "freeStreamPressure" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Pressure"
          },
          "freeStreamVelocity" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalVector_Speed"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.FieldCalculationsTurbulenceResultControl" : {
        "title" : "Turbulence",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: FieldCalculationsTurbulenceResultControl",
            "default" : "TURBULENCE"
          },
          "name" : {
            "title" : "Name",
            "pattern" : "^[A-Za-z()][-+0-9a-zA-Z_()\\h]{0,199}$",
            "type" : "string"
          },
          "resultType" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_FieldCalculationsTurbulenceResultControlResultType"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.YPlusRASResultType" : {
        "title" : "y<plus>",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: YPlusRASResultType",
            "default" : "DIMENSIONLESS_WALL_DISTANCE_YPLUS"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.ReynoldsStressResultType" : {
        "title" : "Reynolds stress tensor",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: ReynoldsStressResultType",
            "default" : "REYNOLDS_STRESS_TENSOR"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.FieldCalculationsVelocityResultControl" : {
        "title" : "Vorticity",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: FieldCalculationsVelocityResultControl",
            "default" : "VELOCITY"
          },
          "name" : {
            "title" : "Name",
            "pattern" : "^[A-Za-z()][-+0-9a-zA-Z_()\\h]{0,199}$",
            "type" : "string"
          },
          "resultType" : {
            "$ref" : "#/components/schemas/Simulation.VorticityResultType"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.VorticityResultType" : {
        "title" : "Vorticity",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: VorticityResultType",
            "default" : "VORTICITY"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.FieldCalculationsFrictionVelocityResultControl" : {
        "title" : "Friction Velocity",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: FieldCalculationsFrictionVelocityResultControl",
            "default" : "FRICTION_VELOCITY_U_TAU"
          },
          "name" : {
            "title" : "Name",
            "pattern" : "^[A-Za-z()][-+0-9a-zA-Z_()\\h]{0,199}$",
            "type" : "string"
          },
          "resultType" : {
            "$ref" : "#/components/schemas/Simulation.FrictionVelocityResultType"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.FrictionVelocityResultType" : {
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: FrictionVelocityResultType",
            "default" : "FRICTION_VELOCITY_U_TAU"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.FieldCalculationsSurfaceNormalsResultControl" : {
        "title" : "Surface Normals",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: FieldCalculationsSurfaceNormalsResultControl",
            "default" : "SURFACE_NORMALS"
          },
          "name" : {
            "title" : "Name",
            "pattern" : "^[A-Za-z()][-+0-9a-zA-Z_()\\h]{0,199}$",
            "type" : "string"
          },
          "resultType" : {
            "$ref" : "#/components/schemas/Simulation.SurfaceNormalsResultType"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.SurfaceNormalsResultType" : {
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: SurfaceNormalsResultType",
            "default" : "SURFACE_NORMALS"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.FieldCalculationsWallFluxesResultControl" : {
        "title" : "Wall shear stress",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: FieldCalculationsWallFluxesResultControl",
            "default" : "WALL_FLUXES"
          },
          "name" : {
            "title" : "Name",
            "pattern" : "^[A-Za-z()][-+0-9a-zA-Z_()\\h]{0,199}$",
            "type" : "string"
          },
          "resultType" : {
            "$ref" : "#/components/schemas/Simulation.WallShearStressResultType"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.WallShearStressResultType" : {
        "title" : "Wall shear stress",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: WallShearStressResultType",
            "default" : "WALL_SHEAR_STRESS"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.FieldCalculationsMeanAgeOfFluidResultControl" : {
        "title" : "Mean age of fluid",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: FieldCalculationsMeanAgeOfFluidResultControl",
            "default" : "AGE_OF_FLUID"
          },
          "name" : {
            "title" : "Name",
            "pattern" : "^[A-Za-z()][-+0-9a-zA-Z_()\\h]{0,199}$",
            "type" : "string"
          },
          "resultType" : {
            "$ref" : "#/components/schemas/Simulation.MeanAgeOfFluidResultType"
          },
          "ageOfFluidDiffusion" : {
            "title" : "Diffusion",
            "type" : "boolean",
            "description" : "<p>Enable or disable the diffusion term in the age of fluid equation. The exclusion of the diffusion term can be valid for laminar flows but tends to overestimate the age of fluid for turbulent flows.</p>",
            "x-conditionalDefaults" : [ {
              "when" : [ "turbulenceModel == NONE" ],
              "default" : false
            }, {
              "when" : [ "turbulenceModel != NONE" ],
              "default" : true
            } ]
          },
          "turbulentSchmidtNumber" : {
            "title" : "(Sc<t>) Turb. Schmidt number",
            "minimum" : 1.0E-12,
            "exclusiveMinimum" : true,
            "type" : "number",
            "description" : "<p>The <b>turbulent Schmidt number</b> characteristic of the flow. For HVAC applications it is recommended to maintain the default value of 0.7.</p>",
            "default" : 0.7,
            "x-showWhen" : [ "turbulenceModel != NONE && 1/ageOfFluidDiffusion == true" ]
          },
          "diffusionCoefficient" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_KinematicViscosity"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.MeanAgeOfFluidResultType" : {
        "title" : "Mean age of fluid",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: MeanAgeOfFluidResultType",
            "default" : "MEAN_AGE_OF_FLUID"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.FieldCalculationsThermalComfortResultControl" : {
        "title" : "Thermal comfort parameters",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: FieldCalculationsThermalComfortResultControl",
            "default" : "THERMAL_COMFORT"
          },
          "name" : {
            "title" : "Name",
            "pattern" : "^[A-Za-z()][-+0-9a-zA-Z_()\\h]{0,199}$",
            "type" : "string"
          },
          "clothingCoefficientFactor" : {
            "title" : "Clothing Coefficient (clo)",
            "maximum" : 2.0,
            "exclusiveMaximum" : false,
            "minimum" : 0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "default" : 1
          },
          "metabolicRateFactor" : {
            "title" : "Metabolic Rate (met)",
            "maximum" : 4.0,
            "exclusiveMaximum" : false,
            "minimum" : 0.8,
            "exclusiveMinimum" : false,
            "type" : "number",
            "default" : 1
          },
          "relativeHumidityFactor" : {
            "title" : "Relative Air Humidity (%)",
            "maximum" : 100,
            "exclusiveMaximum" : false,
            "minimum" : 0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "default" : 50,
            "x-showWhen" : [ "type == CONVECTIVE_HEAT_TRANSFER", "type == COUPLED_CONJUGATE_HEAT_TRANSFER && isCompressible == false", "type == COUPLED_CONJUGATE_HEAT_TRANSFER && enableHumidityModel == false", "type == EMBEDDED_BOUNDARY && isCompressible == false", "type == EMBEDDED_BOUNDARY && enableHumidityModel == false" ]
          },
          "mrtSolarParameters" : {
            "$ref" : "#/components/schemas/Simulation.MrtSolarParameters"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.MrtSolarParameters" : {
        "type" : "object",
        "properties" : {
          "fractionBodySurface" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_MrtSolarParametersFractionBodySurface"
          },
          "projectedAreaFactor" : {
            "title" : "Projected area factor",
            "maximum" : 1.0,
            "exclusiveMaximum" : false,
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "description" : "The projected area of a standard person exposed to direct beam sunlight in the range [0, 1]. This projection depends on the time of day and year usually in the range [0, 0.7]. This parameter is not a necessary input if the solar load is computed from time and place since it can be computed.",
            "default" : 0.7,
            "x-showWhen" : [ "type == COUPLED_CONJUGATE_HEAT_TRANSFER && solarCalculator.sunDirection.type == CUSTOM_SOLAR_DIRECTION", "type == EMBEDDED_BOUNDARY && solarCalculator.sunDirection.type == CUSTOM_SOLAR_DIRECTION" ]
          },
          "shortWaveAbsorptivity" : {
            "title" : "Short wave absorptivity",
            "maximum" : 1.0,
            "exclusiveMaximum" : false,
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "description" : "The radiation wavelength of a source depends on its temperature. Since the sun is much hotter than surfaces in a typical room, the amount of sun heat absorbed by a person is different than the amount it is able to emit back to its surroundings. Typical values are: <br><li><b> 0.2 </b>: White clothing. <br><li><b> 0.57 </b>: Khaki clothing <br><li><b> 0.57 </b>: White skin <br><li><b> 0.65 </b>: Brown skin <br><li><b> 0.84 </b>: Black skin. <br><li><b> 0.88 </b>: Black clothing.",
            "default" : 0.67
          }
        },
        "additionalProperties" : false
      },
      "Simulation.SittingFractionBodySurface" : {
        "title" : "Sitting",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: SittingFractionBodySurface",
            "default" : "SITTING_FRACTION_BODY_SURFACE"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.StandingFractionBodySurface" : {
        "title" : "Standing",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: StandingFractionBodySurface",
            "default" : "STANDING_FRACTION_BODY_SURFACE"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.CustomFractionBodySurface" : {
        "title" : "Custom",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: CustomFractionBodySurface",
            "default" : "CUSTOM_FRACTION_BODY_SURFACE"
          },
          "value" : {
            "title" : "Value",
            "type" : "number",
            "default" : 0.696
          }
        },
        "additionalProperties" : false
      },
      "Simulation.FieldCalculationsAdjointSensitivitiesResultControl" : {
        "title" : "Adjoint sensitivities",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: FieldCalculationsAdjointSensitivitiesResultControl",
            "default" : "ADJOINT_SENSITIVITIES"
          },
          "name" : {
            "title" : "Name",
            "pattern" : "^[A-Za-z()][-+0-9a-zA-Z_()\\h]{0,199}$",
            "type" : "string"
          },
          "computeSensitivitiesTo" : {
            "title" : "Compute sensitivities to",
            "type" : "string",
            "default" : "MINIMIZE_FORCE",
            "enum" : [ "MAXIMIZE_FORCE", "MINIMIZE_FORCE" ]
          },
          "optimizationForceDirection" : {
            "$ref" : "#/components/schemas/Simulation.DecimalVector"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.FieldCalculationsWallHeatFluxResultControl" : {
        "title" : "Convective wall heat flux",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Computes the <b>heat flux</b> [W/m²] at every <b>wall</b> based on the surface normal gradient of the temperature. Radiation effects are not included.\n\nSchema name: FieldCalculationsWallHeatFluxResultControl",
            "default" : "WALL_HEAT_FLUX"
          },
          "name" : {
            "title" : "Name",
            "pattern" : "^[A-Za-z()][-+0-9a-zA-Z_()\\h]{0,199}$",
            "type" : "string"
          },
          "resultType" : {
            "$ref" : "#/components/schemas/Simulation.WallHeatFluxResultType"
          },
          "computeHeatTransferCoefficient" : {
            "title" : "Heat transfer coefficient",
            "type" : "boolean",
            "description" : "Computes the <b>heat transfer coefficient</b> [W/(m²K)] at every wall. Radiation effects are not included. Two modes are available for the <b>reference temperature</b> calculation: <ul><li> <b>Wall adjacent cell</b>: Uses the temperature of the first adjacent cell. </li> <li><b>Fixed</b>: Uses a custom value.</li></ul>",
            "default" : false,
            "x-showWhen" : [ "type in [CONJUGATE_HEAT_TRANSFER,COUPLED_CONJUGATE_HEAT_TRANSFER,EMBEDDED_BOUNDARY]" ]
          },
          "referenceTemperatureResultType" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_FieldCalculationsWallHeatFluxResultControlReferenceTemperatureResultType"
          },
          "computeNusseltNumber" : {
            "title" : "Nusselt Number",
            "type" : "boolean",
            "description" : "Computes the <b>Nusselt Number</b> at every wall. The specified heat transfer coefficient mode will be used.",
            "default" : false,
            "x-showWhen" : [ "type in [CONJUGATE_HEAT_TRANSFER,COUPLED_CONJUGATE_HEAT_TRANSFER,EMBEDDED_BOUNDARY]" ]
          },
          "referenceNusseltNumberLength" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Length"
          }
        },
        "additionalProperties" : false,
        "description" : "Computes the <b>heat flux</b> [W/m²] at every <b>wall</b> based on the surface normal gradient of the temperature. Radiation effects are not included."
      },
      "Simulation.WallHeatFluxResultType" : {
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: WallHeatFluxResultType",
            "default" : "WALL_HEAT_FLUX"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.WallNextCellHeatTransferCoefficientResultType" : {
        "title" : "Wall adjacent cell",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: WallNextCellHeatTransferCoefficientResultType",
            "default" : "WALL_NEXT_CELL_HEAT_TRANSFER_COEFFICIENT"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.FixedTemperatureHeatTransferCoefficientResultType" : {
        "title" : "Fixed",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: FixedTemperatureHeatTransferCoefficientResultType",
            "default" : "REFERENCE_TEMPERATURE_HEAT_TRANSFER_COEFFICIENT"
          },
          "referenceHeatTransferTemperature" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Temperature"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.FieldCalculationsMeanRadiantTemperatureResultControl" : {
        "title" : "Mean radiant temperature",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Computes the <b>Mean Radiant Temperature (MRT)</b>. It is defined as the uniform surface temperature of an imaginary black enclosure in which an every point of the domain would exchange the same amount of radiative heat as in the actual nonuniform space\n\nSchema name: FieldCalculationsMeanRadiantTemperatureResultControl",
            "default" : "MEAN_RADIANT_TEMPERATURE"
          },
          "name" : {
            "title" : "Name",
            "pattern" : "^[A-Za-z()][-+0-9a-zA-Z_()\\h]{0,199}$",
            "type" : "string"
          },
          "resultType" : {
            "$ref" : "#/components/schemas/Simulation.MeanRadiantTemperatureResultType"
          },
          "mrtSolarParameters" : {
            "$ref" : "#/components/schemas/Simulation.MrtSolarParameters"
          }
        },
        "additionalProperties" : false,
        "description" : "Computes the <b>Mean Radiant Temperature (MRT)</b>. It is defined as the uniform surface temperature of an imaginary black enclosure in which an every point of the domain would exchange the same amount of radiative heat as in the actual nonuniform space"
      },
      "Simulation.MeanRadiantTemperatureResultType" : {
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: MeanRadiantTemperatureResultType",
            "default" : "MEAN_RADIANT_TEMPERATURE"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.FieldCalculationsOperativeTemperatureResultControl" : {
        "title" : "Operative temperature",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Computes the <b>Operative Temperature</b>. It is defined as the uniform surface temperature of an imaginary black enclosure in which an every point of the domain would exchange the same amount of convective and radiative heat as in the actual nonuniform space\n\nSchema name: FieldCalculationsOperativeTemperatureResultControl",
            "default" : "OPERATIVE_TEMPERATURE"
          },
          "name" : {
            "title" : "Name",
            "pattern" : "^[A-Za-z()][-+0-9a-zA-Z_()\\h]{0,199}$",
            "type" : "string"
          },
          "resultType" : {
            "$ref" : "#/components/schemas/Simulation.OperativeTemperatureResultType"
          },
          "mrtSolarParameters" : {
            "$ref" : "#/components/schemas/Simulation.MrtSolarParameters"
          }
        },
        "additionalProperties" : false,
        "description" : "Computes the <b>Operative Temperature</b>. It is defined as the uniform surface temperature of an imaginary black enclosure in which an every point of the domain would exchange the same amount of convective and radiative heat as in the actual nonuniform space"
      },
      "Simulation.OperativeTemperatureResultType" : {
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: OperativeTemperatureResultType",
            "default" : "OPERATIVE_TEMPERATURE"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.FieldCalculationsResolvedTKEResultControl" : {
        "title" : "Turbulent Kinetic Energy (Resolved)",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: FieldCalculationsResolvedTKEResultControl",
            "default" : "RESOLVED_TURBULENT_KINETIC_ENERGY"
          },
          "name" : {
            "title" : "Name",
            "pattern" : "^[A-Za-z()][-+0-9a-zA-Z_()\\h]{0,199}$",
            "type" : "string"
          },
          "resultType" : {
            "$ref" : "#/components/schemas/Simulation.ResolvedTurbulentKineticEnergy"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.ResolvedTurbulentKineticEnergy" : {
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: ResolvedTurbulentKineticEnergy",
            "default" : "RESOLVED_TURBULENT_KINETIC_ENERGY"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.FieldCalculationsTotalTKEResultControl" : {
        "title" : "Turbulent Kinetic Energy (Total)",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: FieldCalculationsTotalTKEResultControl",
            "default" : "TOTAL_TURBULENT_KINETIC_ENERGY"
          },
          "name" : {
            "title" : "Name",
            "pattern" : "^[A-Za-z()][-+0-9a-zA-Z_()\\h]{0,199}$",
            "type" : "string"
          },
          "resultType" : {
            "$ref" : "#/components/schemas/Simulation.TotalTurbulentKineticEnergy"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.TotalTurbulentKineticEnergy" : {
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: TotalTurbulentKineticEnergy",
            "default" : "TOTAL_TURBULENT_KINETIC_ENERGY"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.FieldCalculationsModeledTIResultControl" : {
        "title" : "Turbulence Intensity (Modeled)",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: FieldCalculationsModeledTIResultControl",
            "default" : "MODELED_TURBULENCE_INTENSITY"
          },
          "name" : {
            "title" : "Name",
            "pattern" : "^[A-Za-z()][-+0-9a-zA-Z_()\\h]{0,199}$",
            "type" : "string"
          },
          "resultType" : {
            "$ref" : "#/components/schemas/Simulation.ModeledTurbulenceIntensity"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.ModeledTurbulenceIntensity" : {
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: ModeledTurbulenceIntensity",
            "default" : "MODELED_TURBULENCE_INTENSITY"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.FieldCalculationsResolvedTIResultControl" : {
        "title" : "Turbulence Intensity (Resolved)",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: FieldCalculationsResolvedTIResultControl",
            "default" : "RESOLVED_TURBULENCE_INTENSITY"
          },
          "name" : {
            "title" : "Name",
            "pattern" : "^[A-Za-z()][-+0-9a-zA-Z_()\\h]{0,199}$",
            "type" : "string"
          },
          "resultType" : {
            "$ref" : "#/components/schemas/Simulation.ResolvedTurbulenceIntensity"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.ResolvedTurbulenceIntensity" : {
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: ResolvedTurbulenceIntensity",
            "default" : "RESOLVED_TURBULENCE_INTENSITY"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.FieldCalculationsTotalTIResultControl" : {
        "title" : "Turbulence Intensity (Total)",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: FieldCalculationsTotalTIResultControl",
            "default" : "TOTAL_TURBULENCE_INTENSITY"
          },
          "name" : {
            "title" : "Name",
            "pattern" : "^[A-Za-z()][-+0-9a-zA-Z_()\\h]{0,199}$",
            "type" : "string"
          },
          "resultType" : {
            "$ref" : "#/components/schemas/Simulation.TotalTurbulenceIntensity"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.TotalTurbulenceIntensity" : {
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: TotalTurbulenceIntensity",
            "default" : "TOTAL_TURBULENCE_INTENSITY"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.TransientResultControl" : {
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: TransientResultControl",
            "default" : "TRANSIENT"
          },
          "writeControl" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_TransientResultControlWriteControl"
          },
          "fractionFromEnd" : {
            "title" : "Fraction from end",
            "maximum" : 1.0,
            "exclusiveMaximum" : false,
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "description" : "It defines the point in simulation where the result output data extraction starts. For instance, <i>Fraction from end</i> of 1 (100%) extracts all data from the beginning of the simulation while default 0.2 extracts 20% data from the end of the simulation.",
            "default" : 0.2
          },
          "exportFluid" : {
            "title" : "Export flow-domain fields",
            "type" : "boolean",
            "description" : "When this switch is activated, simulation data of the flow-field enclosed in the assignments will be exported",
            "default" : false
          },
          "exportSurface" : {
            "title" : "Export surface fields",
            "type" : "boolean",
            "description" : "When this switch is activated, simulation data on all surfaces enclosed in the assignments will be exported",
            "default" : false
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          },
          "geometryPrimitiveUuids" : {
            "title" : "Geometry primitives",
            "type" : "array",
            "items" : {
              "type" : "string",
              "format" : "uuid"
            },
            "x-showWhen" : [ "1/exportFluid == true" ],
            "x-referencedPrimitivesOptions" : {
              "allowMultiple" : true,
              "pathToPrimitives" : "geometryPrimitives",
              "allowedReferencedPrimitiveTypes" : [ "LOCAL_CARTESIAN_BOX", "ROTATABLE_CARTESIAN_BOX", "LOCAL_HALF_SPACE" ]
            }
          }
        },
        "additionalProperties" : false
      },
      "Simulation.StatisticalAveragingResultControlV2" : {
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: StatisticalAveragingResultControlV2",
            "default" : "STATISTICAL_AVERAGING_V2"
          },
          "fractionFromEnd" : {
            "title" : "Fraction from end",
            "maximum" : 1.0,
            "exclusiveMaximum" : false,
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "description" : "It defines the point in simulation where the result output data extraction starts. For instance, <i>Fraction from end</i> of 1 (100%) extracts all data from the beginning of the simulation while default 0.2 extracts 20% data from the end of the simulation.",
            "default" : 0.2
          },
          "samplingInterval" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_StatisticalAveragingResultControlV2SamplingInterval"
          },
          "exportFluid" : {
            "title" : "Export flow-domain fields",
            "type" : "boolean",
            "description" : "When this switch is activated, simulation data of the flow-field enclosed in the assignments will be exported",
            "default" : false
          },
          "exportSurface" : {
            "title" : "Export surface fields",
            "type" : "boolean",
            "description" : "When this switch is activated, simulation data on all surfaces enclosed in the assignments will be exported",
            "default" : false
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          },
          "geometryPrimitiveUuids" : {
            "title" : "Geometry primitives",
            "type" : "array",
            "items" : {
              "type" : "string",
              "format" : "uuid"
            },
            "x-showWhen" : [ "1/exportFluid == true" ],
            "x-referencedPrimitivesOptions" : {
              "allowMultiple" : true,
              "pathToPrimitives" : "geometryPrimitives",
              "allowedReferencedPrimitiveTypes" : [ "LOCAL_CARTESIAN_BOX", "ROTATABLE_CARTESIAN_BOX", "LOCAL_HALF_SPACE" ]
            }
          }
        },
        "additionalProperties" : false
      },
      "Simulation.SnapshotResultControl" : {
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: SnapshotResultControl",
            "default" : "SNAPSHOT"
          },
          "exportFluid" : {
            "title" : "Export flow-domain fields",
            "type" : "boolean",
            "description" : "When this switch is activated, simulation data of the flow-field enclosed in the assignments will be exported",
            "default" : false
          },
          "exportSurface" : {
            "title" : "Export surface fields",
            "type" : "boolean",
            "description" : "When this switch is activated, simulation data on all surfaces enclosed in the assignments will be exported",
            "default" : false
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          },
          "geometryPrimitiveUuids" : {
            "title" : "Geometry primitives",
            "type" : "array",
            "items" : {
              "type" : "string",
              "format" : "uuid"
            },
            "x-showWhen" : [ "1/exportFluid == true" ],
            "x-referencedPrimitivesOptions" : {
              "allowMultiple" : true,
              "pathToPrimitives" : "geometryPrimitives",
              "allowedReferencedPrimitiveTypes" : [ "LOCAL_CARTESIAN_BOX", "ROTATABLE_CARTESIAN_BOX", "LOCAL_HALF_SPACE" ]
            }
          }
        },
        "additionalProperties" : false
      },
      "Simulation.IncompressiblePacefish" : {
        "title" : "Incompressible (LBM)",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: IncompressiblePacefish",
            "default" : "INCOMPRESSIBLE_PACEFISH"
          },
          "boundingBoxUuid" : {
            "type" : "string",
            "format" : "uuid"
          },
          "turbulenceModel" : {
            "title" : "Turbulence model",
            "type" : "string",
            "description" : "Choose between RANS, LES, or DES turbulence models. <a href='https://www.simscale.com/docs/incompressible-lbm-lattice-boltzmann-advanced/#turbulence-models-in-incompressible-lbm' target='_blank'>Learn more</a>.",
            "default" : "KOMEGASST_DDES",
            "enum" : [ "SMAGORINSKY", "SMAGORINSKY_DIRECT", "NONE", "KOMEGASST", "KOMEGASST_DDES", "KOMEGASST_IDDES" ]
          },
          "material" : {
            "$ref" : "#/components/schemas/Simulation.IncompressibleMaterial"
          },
          "flowDomainBoundaries" : {
            "$ref" : "#/components/schemas/Simulation.FlowDomainBoundaries"
          },
          "simulationControl" : {
            "$ref" : "#/components/schemas/Simulation.FluidSimulationControl"
          },
          "advancedModelling" : {
            "$ref" : "#/components/schemas/Simulation.AdvancedModelling"
          },
          "resultControl" : {
            "$ref" : "#/components/schemas/Simulation.FluidResultControls"
          },
          "meshSettingsNew" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_IncompressiblePacefishMeshSettingsNew"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.FlowDomainBoundaries" : {
        "type" : "object",
        "properties" : {
          "XMIN" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_FlowDomainBoundariesXMIN"
          },
          "XMAX" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_FlowDomainBoundariesXMAX"
          },
          "YMIN" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_FlowDomainBoundariesYMIN"
          },
          "YMAX" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_FlowDomainBoundariesYMAX"
          },
          "ZMIN" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_FlowDomainBoundariesZMIN"
          },
          "ZMAX" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_FlowDomainBoundariesZMAX"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.AtmosphericBoundaryLayerInletBC" : {
        "title" : "Atmospheric boundary layer inlet",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "The atmospheric boundary layer boundary condition implements the standard logarithmic profile for the stream-wise wind velocity component with corresponding profiles for turbulence kinetic energy and specific dissipation rate, where the ground roughness effects are taken into account.\n\nSchema name: AtmosphericBoundaryLayerInletBC",
            "default" : "ATMOSPHERIC_BOUNDARY_LAYER_INLET"
          },
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "referenceVelocity" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Speed"
          },
          "referenceHeight" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Length"
          },
          "groundRoughness" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Length"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          }
        },
        "additionalProperties" : false,
        "description" : "The atmospheric boundary layer boundary condition implements the standard logarithmic profile for the stream-wise wind velocity component with corresponding profiles for turbulence kinetic energy and specific dissipation rate, where the ground roughness effects are taken into account."
      },
      "Simulation.AdvancedModelling" : {
        "type" : "object",
        "properties" : {
          "surfaceRoughnessModels" : {
            "title" : "Surface roughness",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.SurfaceRoughnessModel"
            }
          },
          "porousObjects" : {
            "title" : "Porous objects",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.OneOf_AdvancedModellingPorousObjects"
            }
          },
          "rotatingWalls" : {
            "title" : "Rotating walls",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.RotatingWall"
            },
            "x-showWhen" : [ "type in [INCOMPRESSIBLE_PACEFISH]" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.SurfaceRoughnessModel" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "surfaceRoughnessType" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_SurfaceRoughnessModelSurfaceRoughnessType"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.EquivalentSandGrainRoughness" : {
        "title" : "Equivalent sand grain",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: EquivalentSandGrainRoughness",
            "default" : "EQUIVALENT_SAND_GRAIN_ROUGHNESS"
          },
          "surfaceRoughness" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Length"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.AerodynamicRoughness" : {
        "title" : "Aerodynamic",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: AerodynamicRoughness",
            "default" : "AERODYNAMIC_ROUGHNESS"
          },
          "surfaceRoughness" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Length"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.WindExposureRoughness" : {
        "title" : "From wind exposure",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: WindExposureRoughness",
            "default" : "WIND_EXPOSURE_ROUGHNESS"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.GeneralDarcyForchheimerPacefish" : {
        "title" : "Darcy-Forchheimer",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: GeneralDarcyForchheimerPacefish",
            "default" : "GENERAL_POROSITY"
          },
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "darcyForchheimerType" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_GeneralDarcyForchheimerPacefishDarcyForchheimerType"
          },
          "permeability" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Area"
          },
          "frictionFormCoefficient" : {
            "title" : "Friction form coefficient",
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "description" : "Friction form coefficient defines the pressure losses due to inertial effects through the porous object. The greater the friction form coefficient, the greater the pressure losses due to inertial effects  are. Friction form coefficient of zero means that there are no inertial losses through the porous object.",
            "default" : 1.0
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          },
          "geometryPrimitiveUuids" : {
            "title" : "Geometry primitives",
            "type" : "array",
            "items" : {
              "type" : "string",
              "format" : "uuid"
            },
            "x-referencedPrimitivesOptions" : {
              "allowMultiple" : true,
              "pathToPrimitives" : "geometryPrimitives",
              "allowedReferencedPrimitiveTypes" : [ "ROTATABLE_CARTESIAN_BOX", "LOCAL_CARTESIAN_BOX", "LOCAL_SPHERE" ]
            }
          }
        },
        "additionalProperties" : false
      },
      "Simulation.PorousTree" : {
        "title" : "Tree",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: PorousTree",
            "default" : "POROUS_TREE"
          },
          "name" : {
            "title" : "Name",
            "pattern" : "^[A-Za-z][-+0-9a-zA-Z_\\h]{0,11}$",
            "type" : "string"
          },
          "treeType" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_PorousTreeTreeType"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          },
          "geometryPrimitiveUuids" : {
            "title" : "Geometry primitives",
            "type" : "array",
            "items" : {
              "type" : "string",
              "format" : "uuid"
            },
            "x-referencedPrimitivesOptions" : {
              "allowMultiple" : true,
              "pathToPrimitives" : "geometryPrimitives",
              "allowedReferencedPrimitiveTypes" : [ "ROTATABLE_CARTESIAN_BOX", "LOCAL_CARTESIAN_BOX", "LOCAL_SPHERE" ]
            }
          }
        },
        "additionalProperties" : false
      },
      "Simulation.CustomTree" : {
        "title" : "Custom tree",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: CustomTree",
            "default" : "CUSTOM_TREE"
          },
          "leafAreaIndex" : {
            "title" : "Leaf area index",
            "type" : "number",
            "description" : "Leaf Area Index (LAI) is a dimensionless quantity that is defined as the leaf area per unit ground surface area in broadle af canopies",
            "default" : 5.28
          },
          "averageTreeHeight" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Length"
          },
          "dragCoefficient" : {
            "title" : "Drag coefficient",
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "description" : "Drag coefficient of the tree canopy.",
            "default" : 0.2
          }
        },
        "additionalProperties" : false
      },
      "Simulation.PlaneTree" : {
        "title" : "Plane tree",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: PlaneTree",
            "default" : "PLANE_TREE"
          },
          "averageTreeHeight" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Length"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.Oak" : {
        "title" : "Oak",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: Oak",
            "default" : "OAK"
          },
          "averageTreeHeight" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Length"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.Sycamore" : {
        "title" : "Sycamore",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: Sycamore",
            "default" : "SYCAMORE"
          },
          "averageTreeHeight" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Length"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.SilverBirch" : {
        "title" : "Silver birch",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: SilverBirch",
            "default" : "SILVER_BIRCH"
          },
          "averageTreeHeight" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Length"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.Chestnut" : {
        "title" : "Chestnut",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: Chestnut",
            "default" : "CHESTNUT"
          },
          "averageTreeHeight" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Length"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.RotatingWall" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "origin" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalVector_Length"
          },
          "axis" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalVector_Length"
          },
          "rotationalVelocity" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_RotationSpeed"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.PacefishMeshLegacy" : {
        "title" : "Manual",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "<p>Choose between <i>Automatic</i> and <i>Manual</i> mesh settings. <a href='https://www.simscale.com/docs/analysis-types/incompressible-lbm/#mesh' target='_blank'>Learn more.</a></p><p><b>Note:</b> Mesh fineness impacts the accuracy of your results as well as computing time and result size. A finer mesh will be more demanding in terms of machine size and memory but lead to more accurate results in most cases.</p>\n\nSchema name: PacefishMeshLegacy",
            "default" : "PACEFISH_MESH_LEGACY"
          },
          "fineness" : {
            "title" : "Fineness",
            "type" : "string",
            "default" : "COARSE",
            "enum" : [ "VERY_COARSE", "COARSE", "MODERATE", "FINE", "VERY_FINE" ]
          },
          "progressiveRefinement" : {
            "$ref" : "#/components/schemas/Simulation.ProgressiveRefinement"
          },
          "referenceLength" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Length"
          },
          "reynoldsScalingType" : {
            "$ref" : "#/components/schemas/Simulation.ManualReynoldsScaling"
          },
          "refinements" : {
            "title" : "Refinements",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.OneOf_PacefishMeshLegacyRefinements"
            }
          }
        },
        "additionalProperties" : false,
        "description" : "<p>Choose between <i>Automatic</i> and <i>Manual</i> mesh settings. <a href='https://www.simscale.com/docs/analysis-types/incompressible-lbm/#mesh' target='_blank'>Learn more.</a></p><p><b>Note:</b> Mesh fineness impacts the accuracy of your results as well as computing time and result size. A finer mesh will be more demanding in terms of machine size and memory but lead to more accurate results in most cases.</p>"
      },
      "Simulation.ProgressiveRefinement" : {
        "type" : "object",
        "properties" : {
          "enableProgressiveRefinement" : {
            "title" : "Enable progressive refinement",
            "type" : "boolean",
            "default" : true
          },
          "baseRefinementFraction" : {
            "title" : "Base refinement fraction",
            "maximum" : 1.0,
            "exclusiveMaximum" : true,
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "default" : 0.4,
            "x-showWhen" : [ "1/enableProgressiveRefinement == true" ],
            "x-divisibleBy" : 0.01
          },
          "fullRefinementFraction" : {
            "title" : "Full refinement fraction",
            "maximum" : 1.0,
            "exclusiveMaximum" : false,
            "minimum" : 0.0,
            "exclusiveMinimum" : true,
            "type" : "number",
            "default" : 0.3,
            "x-showWhen" : [ "1/enableProgressiveRefinement == true" ],
            "x-divisibleBy" : 0.01
          }
        },
        "additionalProperties" : false
      },
      "Simulation.ManualReynoldsScaling" : {
        "title" : "Manual",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: ManualReynoldsScaling",
            "default" : "MANUAL_REYNOLDS_SCALING"
          },
          "reynoldsScalingFactor" : {
            "title" : "Reynolds scaling factor",
            "maximum" : 1.0,
            "exclusiveMaximum" : false,
            "minimum" : 0.001,
            "exclusiveMinimum" : false,
            "type" : "number",
            "default" : 1.0
          }
        },
        "additionalProperties" : false
      },
      "Simulation.RegionRefinementPacefish" : {
        "title" : "Region refinement",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: RegionRefinementPacefish",
            "default" : "REGION_PACEFISH"
          },
          "name" : {
            "title" : "Name",
            "type" : "string",
            "default" : "Region refinement"
          },
          "targetResolution" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Length"
          },
          "geometryPrimitiveUuids" : {
            "title" : "Geometry primitives",
            "type" : "array",
            "items" : {
              "type" : "string",
              "format" : "uuid"
            },
            "x-referencedPrimitivesOptions" : {
              "allowMultiple" : true,
              "pathToPrimitives" : "geometryPrimitives",
              "allowedReferencedPrimitiveTypes" : [ "ROTATABLE_CARTESIAN_BOX", "LOCAL_CARTESIAN_BOX", "LOCAL_SPHERE" ]
            }
          }
        },
        "additionalProperties" : false
      },
      "Simulation.SurfaceRefinementPacefish" : {
        "title" : "Surface refinement",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: SurfaceRefinementPacefish",
            "default" : "SURFACE_PACEFISH"
          },
          "name" : {
            "title" : "Name",
            "type" : "string",
            "default" : "Surface refinement"
          },
          "targetResolution" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Length"
          },
          "bufferCellsNoExtrude" : {
            "title" : "Buffer cells between refinement levels",
            "minimum" : 3,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "description" : "Specify the minimum number of buffer cells between regions of different refinements.",
            "default" : 4
          },
          "additionalDirectionalCells" : {
            "$ref" : "#/components/schemas/Simulation.AdditionalDirectionalCells"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.AdditionalDirectionalCells" : {
        "required" : [ "x", "y", "z" ],
        "type" : "object",
        "properties" : {
          "x" : {
            "title" : "X",
            "type" : "integer",
            "description" : "Specify the number of additional cells to be added in the X-direction. Note: additional cells in the negative X direction is not supported."
          },
          "y" : {
            "title" : "Y",
            "type" : "integer",
            "description" : "Specify the number of additional cells to be added in the Y-direction. Note: additional cells in the negative Y direction is not supported."
          },
          "z" : {
            "title" : "Z",
            "type" : "integer",
            "description" : "Specify the number of additional cells to be added in the Z-direction. Note: additional cells in the negative Z direction is not supported."
          }
        },
        "additionalProperties" : false
      },
      "Simulation.PacefishAutomesh" : {
        "title" : "Automatic",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "<p>Choose between <i>Automatic</i> and <i>Manual</i> mesh settings. <a href='https://www.simscale.com/docs/analysis-types/incompressible-lbm/#mesh' target='_blank'>Learn more.</a></p><p><b>Note:</b> Mesh fineness impacts the accuracy of your results as well as computing time and result size. A finer mesh will be more demanding in terms of machine size and memory but lead to more accurate results in most cases.</p>\n\nSchema name: PacefishAutomesh",
            "default" : "PACEFISH_AUTOMESH"
          },
          "newFineness" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_PacefishAutomeshNewFineness"
          },
          "automaticGapClosing" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_PacefishAutomeshAutomaticGapClosing"
          },
          "progressiveRefinement" : {
            "$ref" : "#/components/schemas/Simulation.ProgressiveRefinement"
          },
          "referenceLengthComputation" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_PacefishAutomeshReferenceLengthComputation"
          },
          "reynoldsScalingType" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_PacefishAutomeshReynoldsScalingType"
          },
          "primaryTopology" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_PacefishAutomeshPrimaryTopology"
          },
          "refinements" : {
            "title" : "Refinements",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.OneOf_PacefishAutomeshRefinements"
            }
          }
        },
        "additionalProperties" : false,
        "description" : "<p>Choose between <i>Automatic</i> and <i>Manual</i> mesh settings. <a href='https://www.simscale.com/docs/analysis-types/incompressible-lbm/#mesh' target='_blank'>Learn more.</a></p><p><b>Note:</b> Mesh fineness impacts the accuracy of your results as well as computing time and result size. A finer mesh will be more demanding in terms of machine size and memory but lead to more accurate results in most cases.</p>"
      },
      "Simulation.PacefishFinenessVeryCoarse" : {
        "title" : "Very coarse",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "<p>This parameter determines the <b>fineness of the mesh</b> and affects the overall number of cells. It is recommended to start with the <i>coarse</i> setting. <a href='https://www.simscale.com/docs/analysis-types/pedestrian-wind-comfort-analysis/mesh-settings/' target='_blank'>Find out more.</a></p><p><b>Note:</b> This setting will impact the accuracy of your results as well as computing time and result size. A finer mesh will be more demanding in terms of machine size and memory but lead to more accurate results in most cases.</p>\n\nSchema name: PacefishFinenessVeryCoarse",
            "default" : "VERY_COARSE"
          }
        },
        "additionalProperties" : false,
        "description" : "<p>This parameter determines the <b>fineness of the mesh</b> and affects the overall number of cells. It is recommended to start with the <i>coarse</i> setting. <a href='https://www.simscale.com/docs/analysis-types/pedestrian-wind-comfort-analysis/mesh-settings/' target='_blank'>Find out more.</a></p><p><b>Note:</b> This setting will impact the accuracy of your results as well as computing time and result size. A finer mesh will be more demanding in terms of machine size and memory but lead to more accurate results in most cases.</p>"
      },
      "Simulation.PacefishFinenessCoarse" : {
        "title" : "Coarse",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "<p>This parameter determines the <b>fineness of the mesh</b> and affects the overall number of cells. It is recommended to start with the <i>coarse</i> setting. <a href='https://www.simscale.com/docs/analysis-types/pedestrian-wind-comfort-analysis/mesh-settings/' target='_blank'>Find out more.</a></p><p><b>Note:</b> This setting will impact the accuracy of your results as well as computing time and result size. A finer mesh will be more demanding in terms of machine size and memory but lead to more accurate results in most cases.</p>\n\nSchema name: PacefishFinenessCoarse",
            "default" : "COARSE"
          }
        },
        "additionalProperties" : false,
        "description" : "<p>This parameter determines the <b>fineness of the mesh</b> and affects the overall number of cells. It is recommended to start with the <i>coarse</i> setting. <a href='https://www.simscale.com/docs/analysis-types/pedestrian-wind-comfort-analysis/mesh-settings/' target='_blank'>Find out more.</a></p><p><b>Note:</b> This setting will impact the accuracy of your results as well as computing time and result size. A finer mesh will be more demanding in terms of machine size and memory but lead to more accurate results in most cases.</p>"
      },
      "Simulation.PacefishFinenessModerate" : {
        "title" : "Moderate",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "<p>This parameter determines the <b>fineness of the mesh</b> and affects the overall number of cells. It is recommended to start with the <i>coarse</i> setting. <a href='https://www.simscale.com/docs/analysis-types/pedestrian-wind-comfort-analysis/mesh-settings/' target='_blank'>Find out more.</a></p><p><b>Note:</b> This setting will impact the accuracy of your results as well as computing time and result size. A finer mesh will be more demanding in terms of machine size and memory but lead to more accurate results in most cases.</p>\n\nSchema name: PacefishFinenessModerate",
            "default" : "MODERATE"
          }
        },
        "additionalProperties" : false,
        "description" : "<p>This parameter determines the <b>fineness of the mesh</b> and affects the overall number of cells. It is recommended to start with the <i>coarse</i> setting. <a href='https://www.simscale.com/docs/analysis-types/pedestrian-wind-comfort-analysis/mesh-settings/' target='_blank'>Find out more.</a></p><p><b>Note:</b> This setting will impact the accuracy of your results as well as computing time and result size. A finer mesh will be more demanding in terms of machine size and memory but lead to more accurate results in most cases.</p>"
      },
      "Simulation.PacefishFinenessFine" : {
        "title" : "Fine",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "<p>This parameter determines the <b>fineness of the mesh</b> and affects the overall number of cells. It is recommended to start with the <i>coarse</i> setting. <a href='https://www.simscale.com/docs/analysis-types/pedestrian-wind-comfort-analysis/mesh-settings/' target='_blank'>Find out more.</a></p><p><b>Note:</b> This setting will impact the accuracy of your results as well as computing time and result size. A finer mesh will be more demanding in terms of machine size and memory but lead to more accurate results in most cases.</p>\n\nSchema name: PacefishFinenessFine",
            "default" : "FINE"
          }
        },
        "additionalProperties" : false,
        "description" : "<p>This parameter determines the <b>fineness of the mesh</b> and affects the overall number of cells. It is recommended to start with the <i>coarse</i> setting. <a href='https://www.simscale.com/docs/analysis-types/pedestrian-wind-comfort-analysis/mesh-settings/' target='_blank'>Find out more.</a></p><p><b>Note:</b> This setting will impact the accuracy of your results as well as computing time and result size. A finer mesh will be more demanding in terms of machine size and memory but lead to more accurate results in most cases.</p>"
      },
      "Simulation.PacefishFinenessVeryFine" : {
        "title" : "Very fine",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "<p>This parameter determines the <b>fineness of the mesh</b> and affects the overall number of cells. It is recommended to start with the <i>coarse</i> setting. <a href='https://www.simscale.com/docs/analysis-types/pedestrian-wind-comfort-analysis/mesh-settings/' target='_blank'>Find out more.</a></p><p><b>Note:</b> This setting will impact the accuracy of your results as well as computing time and result size. A finer mesh will be more demanding in terms of machine size and memory but lead to more accurate results in most cases.</p>\n\nSchema name: PacefishFinenessVeryFine",
            "default" : "VERY_FINE"
          }
        },
        "additionalProperties" : false,
        "description" : "<p>This parameter determines the <b>fineness of the mesh</b> and affects the overall number of cells. It is recommended to start with the <i>coarse</i> setting. <a href='https://www.simscale.com/docs/analysis-types/pedestrian-wind-comfort-analysis/mesh-settings/' target='_blank'>Find out more.</a></p><p><b>Note:</b> This setting will impact the accuracy of your results as well as computing time and result size. A finer mesh will be more demanding in terms of machine size and memory but lead to more accurate results in most cases.</p>"
      },
      "Simulation.PacefishFinenessTargetSize" : {
        "title" : "Target size",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "<p>This parameter determines the <b>fineness of the mesh</b> and affects the overall number of cells. It is recommended to start with the <i>coarse</i> setting. <a href='https://www.simscale.com/docs/analysis-types/pedestrian-wind-comfort-analysis/mesh-settings/' target='_blank'>Find out more.</a></p><p><b>Note:</b> This setting will impact the accuracy of your results as well as computing time and result size. A finer mesh will be more demanding in terms of machine size and memory but lead to more accurate results in most cases.</p>\n\nSchema name: PacefishFinenessTargetSize",
            "default" : "TARGET_SIZE"
          },
          "minimumCellSize" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Length"
          }
        },
        "additionalProperties" : false,
        "description" : "<p>This parameter determines the <b>fineness of the mesh</b> and affects the overall number of cells. It is recommended to start with the <i>coarse</i> setting. <a href='https://www.simscale.com/docs/analysis-types/pedestrian-wind-comfort-analysis/mesh-settings/' target='_blank'>Find out more.</a></p><p><b>Note:</b> This setting will impact the accuracy of your results as well as computing time and result size. A finer mesh will be more demanding in terms of machine size and memory but lead to more accurate results in most cases.</p>"
      },
      "Simulation.SmallestCell" : {
        "title" : "Smallest cell size",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: SmallestCell",
            "default" : "SMALLEST_CELL_SIZE"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.MinimumGapSize" : {
        "title" : "Minimum gap size",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: MinimumGapSize",
            "default" : "MINIMUM_GAP_SIZE"
          },
          "minimumGapSize" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Length"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.AutomaticReferenceLength" : {
        "title" : "Automatic",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: AutomaticReferenceLength",
            "default" : "AUTOMATIC_REFERENCE_LENGTH"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.ManualReferenceLength" : {
        "title" : "Manual",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: ManualReferenceLength",
            "default" : "MANUAL_REFERENCE_LENGTH"
          },
          "value" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Length"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.AutomaticReynoldsScaling" : {
        "title" : "Automatic",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: AutomaticReynoldsScaling",
            "default" : "AUTOMATIC_REYNOLDS_SCALING"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.BuildingsOfInterest" : {
        "title" : "Part(s)",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: BuildingsOfInterest",
            "default" : "BUILDINGS_OF_INTEREST"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.Region" : {
        "title" : "Region",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: Region",
            "default" : "REGION"
          },
          "geometryPrimitiveUuids" : {
            "title" : "Geometry primitives",
            "type" : "array",
            "items" : {
              "type" : "string",
              "format" : "uuid"
            },
            "x-referencedPrimitivesOptions" : {
              "allowMultiple" : true,
              "pathToPrimitives" : "geometryPrimitives",
              "allowedReferencedPrimitiveTypes" : [ "LOCAL_CARTESIAN_BOX", "CYLINDER", "LOCAL_SPHERE" ]
            }
          }
        },
        "additionalProperties" : false
      },
      "Simulation.NewRegionRefinementPacefishV38" : {
        "title" : "Region refinement",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: NewRegionRefinementPacefishV38",
            "default" : "REGION_PACEFISH_V38"
          },
          "name" : {
            "title" : "Name",
            "type" : "string",
            "default" : "Region refinement"
          },
          "meshSizing" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_NewRegionRefinementPacefishV38MeshSizing"
          },
          "geometryPrimitiveUuids" : {
            "title" : "Geometry primitives",
            "type" : "array",
            "items" : {
              "type" : "string",
              "format" : "uuid"
            },
            "x-referencedPrimitivesOptions" : {
              "allowMultiple" : true,
              "pathToPrimitives" : "geometryPrimitives",
              "allowedReferencedPrimitiveTypes" : [ "ROTATABLE_CARTESIAN_BOX", "LOCAL_CARTESIAN_BOX", "LOCAL_SPHERE" ]
            }
          }
        },
        "additionalProperties" : false
      },
      "Simulation.AutomaticMeshSizing" : {
        "title" : "Automatic mesh sizing",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: AutomaticMeshSizing",
            "default" : "AUTOMATIC"
          },
          "fineness" : {
            "title" : "Fineness",
            "type" : "string",
            "description" : "<p>Choose between <i>Automatic</i> and <i>Manual</i> mesh settings. <a href='https://www.simscale.com/docs/analysis-types/incompressible-lbm/#mesh' target='_blank'>Learn more.</a></p><p><b>Note:</b> Mesh fineness impacts the accuracy of your results as well as computing time and result size. A finer mesh will be more demanding in terms of machine size and memory but lead to more accurate results in most cases.</p>",
            "default" : "COARSE",
            "enum" : [ "VERY_COARSE", "COARSE", "MODERATE", "FINE", "VERY_FINE" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.ManualRegionSizingPacefish" : {
        "title" : "Manual",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: ManualRegionSizingPacefish",
            "default" : "MANUAL_REGION_PACEFISH"
          },
          "targetResolution" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Length"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.NewSurfaceRefinementPacefishV38" : {
        "title" : "Surface refinement",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: NewSurfaceRefinementPacefishV38",
            "default" : "SURFACE_PACEFISH_V38"
          },
          "name" : {
            "title" : "Name",
            "type" : "string",
            "default" : "Surface refinement"
          },
          "meshSizing" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_NewSurfaceRefinementPacefishV38MeshSizing"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.ManualSurfaceSizingPacefish" : {
        "title" : "Manual",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: ManualSurfaceSizingPacefish",
            "default" : "MANUAL_SURFACE_PACEFISH"
          },
          "targetResolution" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Length"
          },
          "bufferCellsNoExtrude" : {
            "title" : "Buffer cells between refinement levels",
            "minimum" : 3,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "description" : "Specify the minimum number of buffer cells between regions of different refinements.",
            "default" : 4
          },
          "additionalDirectionalCells" : {
            "$ref" : "#/components/schemas/Simulation.AdditionalDirectionalCells"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.SimericsAnalysis" : {
        "title" : "Multi-purpose",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: SimericsAnalysis",
            "default" : "SIMERICS_ANALYSIS"
          },
          "isCompressible" : {
            "title" : "Compressible",
            "type" : "boolean",
            "default" : false,
            "x-conditionalEnum" : [ {
              "value" : true,
              "when" : [ "isMulticomponent == true", "isCHT == true" ]
            }, {
              "value" : true,
              "when" : [ "isMulticomponent == false && isCHT == false", "isMulticomponent IS EMPTY", "isCHT IS EMPTY" ]
            }, {
              "value" : false,
              "when" : [ "isMulticomponent == false && isCHT == false", "isMulticomponent IS EMPTY", "isCHT IS EMPTY" ]
            } ]
          },
          "isMulticomponent" : {
            "title" : "Multicomponent",
            "type" : "boolean",
            "default" : false,
            "x-conditionalEnum" : [ {
              "value" : true,
              "when" : [ "isMultiphase == false && isCHT == false" ]
            }, {
              "value" : false,
              "when" : [ "isMultiphase == true", "isCHT == true" ]
            }, {
              "value" : false,
              "when" : [ "isMultiphase == false && isCHT == false" ]
            } ]
          },
          "isMultiphase" : {
            "title" : "Multiphase",
            "type" : "boolean",
            "default" : false,
            "x-conditionalEnum" : [ {
              "value" : true,
              "when" : [ "isMulticomponent == false && isCHT == false" ]
            }, {
              "value" : false,
              "when" : [ "isMulticomponent == true", "isCHT == true" ]
            }, {
              "value" : false,
              "when" : [ "isMulticomponent == false && isCHT == false" ]
            } ]
          },
          "isCHT" : {
            "title" : "Conjugate heat transfer",
            "type" : "boolean",
            "default" : false,
            "x-conditionalEnum" : [ {
              "value" : true,
              "when" : [ "isMulticomponent == false && isMultiphase == false" ]
            }, {
              "value" : false,
              "when" : [ "isMulticomponent == true", "isMultiphase == true" ]
            }, {
              "value" : false,
              "when" : [ "isMulticomponent == false && isMultiphase == false" ]
            } ]
          },
          "numberOfPhases" : {
            "title" : "Number of phases",
            "maximum" : 2,
            "exclusiveMaximum" : false,
            "minimum" : 2,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "default" : 2,
            "x-showWhen" : [ "1/isMultiphase == true" ]
          },
          "cavitationModel" : {
            "title" : "Cavitation model",
            "type" : "string",
            "default" : "NONE",
            "enum" : [ "CONSTANT_GAS_MASS_FRACTION", "NONE" ],
            "x-showWhen" : [ "1/isCompressible == false && 1/isMultiphase == false" ]
          },
          "turbulenceModel" : {
            "title" : "Turbulence model",
            "type" : "string",
            "description" : "Choose a turbulence model for your CFD analysis:<ul><li><strong>No turbulence</strong>: Laminar</li><li><strong>RANS</strong>: <a href='https://www.simscale.com/docs/simulation-setup/global-settings/k-epsilon/' target='_blank'>k-epsilon</a></ul><p><p><a href='https://www.simscale.com/blog/2017/12/turbulence-cfd-analysis/' target='_blank'>Learn more</a>.</p>",
            "default" : "KEPSILON",
            "enum" : [ "NONE", "KEPSILON" ]
          },
          "timeDependency" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_SimericsAnalysisTimeDependency"
          },
          "model" : {
            "$ref" : "#/components/schemas/Simulation.FluidModel"
          },
          "materials" : {
            "$ref" : "#/components/schemas/Simulation.SimericsMaterials"
          },
          "initialConditions" : {
            "$ref" : "#/components/schemas/Simulation.FluidInitialConditions"
          },
          "boundaryConditions" : {
            "title" : "Boundary conditions",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.OneOf_SimericsAnalysisBoundaryConditions"
            }
          },
          "advancedConcepts" : {
            "$ref" : "#/components/schemas/Simulation.AdvancedConcepts"
          },
          "numerics" : {
            "$ref" : "#/components/schemas/Simulation.FluidNumerics"
          },
          "simulationControl" : {
            "$ref" : "#/components/schemas/Simulation.FluidSimulationControl"
          },
          "resultControl" : {
            "$ref" : "#/components/schemas/Simulation.FluidResultControls"
          },
          "meshSettings" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_SimericsAnalysisMeshSettings"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.SimericsMaterials" : {
        "type" : "object",
        "properties" : {
          "fluids" : {
            "title" : "Fluids",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.OneOf_SimericsMaterialsFluids"
            }
          },
          "solids" : {
            "title" : "Solids",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.SolidCompressibleMaterial"
            }
          }
        },
        "additionalProperties" : false
      },
      "Simulation.FluidCompressibleMaterial" : {
        "title" : "Fluid compressible material",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: FluidCompressibleMaterial",
            "default" : "COMPRESSIBLE"
          },
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "fluidType" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_FluidCompressibleMaterialFluidType"
          },
          "associatedPhase" : {
            "title" : "Associated phase",
            "type" : "string",
            "description" : "<p>Select the corresponding phase for this material:</p><p><b>Phase 0</b> would mean this material is represented by the phase fraction value of 0. Hence, a phase fraction of '0' in your setup corresponds to 100% of this fluid material.</p><p><b>Phase 1</b> would mean this material is represented by the phase fraction value of 1. Hence, a phase fraction of '1' in your setup corresponds to 100% of this fluid material.</p>",
            "default" : "PHASE_0",
            "enum" : [ "PHASE_0", "PHASE_1" ],
            "x-showWhen" : [ "type == SIMERICS_ANALYSIS && isMultiphase == true" ]
          },
          "specie" : {
            "$ref" : "#/components/schemas/Simulation.SpecieDefault"
          },
          "transport" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_FluidCompressibleMaterialTransport"
          },
          "viscosityModel" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_FluidCompressibleMaterialViscosityModel"
          },
          "laminarPrandtlNumberFunction" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_Dimensionless"
          },
          "turbulentPrandtlNumber" : {
            "title" : "(Pr<t>) Turb. Prandtl number",
            "minimum" : 0,
            "exclusiveMinimum" : true,
            "type" : "number",
            "description" : "Turbulent Prandtl number is used to calculate the heat transfer due to turbulent effects in the domain.",
            "x-showWhen" : [ "type in [COUPLED_CONJUGATE_HEAT_TRANSFER,EMBEDDED_BOUNDARY]" ]
          },
          "schmidtNumber" : {
            "title" : "(Sc) Schmidt Number",
            "minimum" : 0,
            "exclusiveMinimum" : true,
            "type" : "number",
            "description" : "The Schmidt number is a dimensionless number defined as the ratio of viscous diffusion to molecular mass diffusion. In dilute flows where a dominant carrier gas advects other species, it is assumed to be constant and a typical value is Sc = 5/6.",
            "default" : 0.8333,
            "x-showWhen" : [ "type == SIMERICS_ANALYSIS && isMulticomponent == true" ]
          },
          "specificHeatFunction" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_SpecificHeat"
          },
          "equationOfState" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_FluidCompressibleMaterialEquationOfState"
          },
          "radiativeBehavior" : {
            "$ref" : "#/components/schemas/Simulation.TransparentMaterial"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          },
          "geometryPrimitiveUuids" : {
            "title" : "Geometry primitives",
            "type" : "array",
            "items" : {
              "type" : "string",
              "format" : "uuid"
            },
            "x-showWhen" : [ "type == EMBEDDED_BOUNDARY && allowExternalFlow == true" ],
            "x-referencedPrimitivesOptions" : {
              "allowMultiple" : true,
              "pathToPrimitives" : "geometryPrimitives",
              "allowedReferencedPrimitiveTypes" : [ "CARTESIAN_BOX" ]
            }
          },
          "builtInMaterial" : {
            "type" : "string"
          },
          "materialLibraryReference" : {
            "$ref" : "#/components/schemas/Simulation.MaterialLibraryReference"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.SpecieDefault" : {
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "<p><b>Specie:</b> defines the molecular composition of the fluid material. Currently a single specie is available.</p>\n\nSchema name: SpecieDefault",
            "default" : "SPECIE"
          },
          "molarWeight" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_MolarMass"
          }
        },
        "additionalProperties" : false,
        "description" : "<p><b>Specie:</b> defines the molecular composition of the fluid material. Currently a single specie is available.</p>"
      },
      "Simulation.ConstTransport" : {
        "title" : "Const",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: ConstTransport",
            "default" : "CONST"
          },
          "dynamicViscosity" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_DynamicViscosity"
          },
          "dynamicViscosityFunction" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_DynamicViscosity"
          },
          "prandtlNumber" : {
            "title" : "(Pr) Prandtl number",
            "minimum" : 0,
            "exclusiveMinimum" : true,
            "type" : "number",
            "description" : "Prandtl number (<i>Pr</i>) is the ratio of momentum transport to thermal tranport. Fluids with low <i>Pr</i> are free flowing and good for heat conduction."
          },
          "turbulentPrandtlNumber" : {
            "title" : "(Pr<t>) Turb. Prandtl number",
            "minimum" : 0,
            "exclusiveMinimum" : true,
            "type" : "number",
            "description" : "Turbulent Prandtl number is used to calculate the heat transfer due to turbulent effects in the domain.",
            "x-showWhen" : [ "type in [COUPLED_CONJUGATE_HEAT_TRANSFER,EMBEDDED_BOUNDARY,SIMERICS_ANALYSIS]" ]
          },
          "thermo" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_ConstTransportThermo"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.EConstThermo" : {
        "title" : "eConst",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "<br><p>The <b>Thermo models</b> are used to calculate the specific heat at constant pressure (<i>Cp</i>) for the fluid. The available models are:</p><p><b>hConst:</b> This model assumes a constant value for specific heat at fixed pressure (<i>Cp</i>). </p><p><b>eConst:</b> This model assumes a constant value for the specific heat at fixed volume (<i>Cv</i>). </p>\n\nSchema name: EConstThermo",
            "default" : "ECONST"
          },
          "specificHeat" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_SpecificHeat"
          },
          "equationOfState" : {
            "$ref" : "#/components/schemas/Simulation.PerfectGasEquationOfState"
          }
        },
        "additionalProperties" : false,
        "description" : "<br><p>The <b>Thermo models</b> are used to calculate the specific heat at constant pressure (<i>Cp</i>) for the fluid. The available models are:</p><p><b>hConst:</b> This model assumes a constant value for specific heat at fixed pressure (<i>Cp</i>). </p><p><b>eConst:</b> This model assumes a constant value for the specific heat at fixed volume (<i>Cv</i>). </p>"
      },
      "Simulation.PerfectGasEquationOfState" : {
        "title" : "Perfect gas",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "<br><p>The <b>Equation of state</b> describes the relation between density of a fluid and the fluid pressure and temperature. The available options are:</p><p><b>Rho const:</b> Fluid density is assumed constant.</p><p><b>Incompressibel perfect gas:</b> The fluid is assumed to be an 'Ideal Gas' that is incompressible by pressure. But, fluid density can change due to temperature.</p><p><b>Perfect gas:</b> Fluid is assumed to be an 'Ideal Gas' and obeys the 'Ideal Gas Law'.</p><p><b>Perfect fluid:</b> Fluid density can change due to pressure and temperature with respect to a base value.</p><p><b>Adiabatic perfect fluid:</b> The fluid is a perfect fluid which is adiabatic in nature.</p> <a href='https://www.simscale.com/docs/simulation-setup/materials/thermophysical-fluid-models/#equation-of-state' target='_blank'>Learn more</a>.\n\nSchema name: PerfectGasEquationOfState",
            "default" : "PERFECT_GAS"
          },
          "energy" : {
            "title" : "Energy",
            "type" : "string",
            "description" : "<p><b>Energy</b> provides the methods for the form of energy to be used. The options are:</p><p><b>Sensible enthalpy:</b> The enthalpy form of equation is used without the heat of formation. In most cases this is the recommended choice.</p><p><b>Sensible internal Energy:</b> The internal energy form of equation is used without the heat of formation but also incorporates energy change due to reactions.</p>",
            "x-showWhen" : [ "type in [COMPRESSIBLE,CONJUGATE_HEAT_TRANSFER,CONVECTIVE_HEAT_TRANSFER]" ],
            "x-conditionalEnum" : [ {
              "value" : "SENSIBLE_ENTHALPY",
              "when" : [ "type == COMPRESSIBLE && 2/type == HCONST", "type in [CONJUGATE_HEAT_TRANSFER,CONVECTIVE_HEAT_TRANSFER]" ]
            }, {
              "value" : "SENSIBLE_INTERNAL_ENERGY",
              "when" : [ "type in [COMPRESSIBLE,CONJUGATE_HEAT_TRANSFER,CONVECTIVE_HEAT_TRANSFER]" ]
            } ],
            "x-conditionalDefaults" : [ {
              "when" : [ "type == COMPRESSIBLE && 2/type == HCONST", "type in [CONJUGATE_HEAT_TRANSFER,CONVECTIVE_HEAT_TRANSFER]" ],
              "default" : "SENSIBLE_ENTHALPY"
            }, {
              "when" : [ "type == COMPRESSIBLE && 2/type == ECONST" ],
              "default" : "SENSIBLE_INTERNAL_ENERGY"
            } ]
          }
        },
        "additionalProperties" : false,
        "description" : "<br><p>The <b>Equation of state</b> describes the relation between density of a fluid and the fluid pressure and temperature. The available options are:</p><p><b>Rho const:</b> Fluid density is assumed constant.</p><p><b>Incompressibel perfect gas:</b> The fluid is assumed to be an 'Ideal Gas' that is incompressible by pressure. But, fluid density can change due to temperature.</p><p><b>Perfect gas:</b> Fluid is assumed to be an 'Ideal Gas' and obeys the 'Ideal Gas Law'.</p><p><b>Perfect fluid:</b> Fluid density can change due to pressure and temperature with respect to a base value.</p><p><b>Adiabatic perfect fluid:</b> The fluid is a perfect fluid which is adiabatic in nature.</p> <a href='https://www.simscale.com/docs/simulation-setup/materials/thermophysical-fluid-models/#equation-of-state' target='_blank'>Learn more</a>."
      },
      "Simulation.HConstThermo" : {
        "title" : "hConst",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "<br><p>The <b>Thermo models</b> are used to calculate the specific heat at constant pressure (<i>Cp</i>) for the fluid. The available models are:</p><p><b>hConst:</b> This model assumes a constant value for specific heat at fixed pressure (<i>Cp</i>). </p><p><b>eConst:</b> This model assumes a constant value for the specific heat at fixed volume (<i>Cv</i>). </p>\n\nSchema name: HConstThermo",
            "default" : "HCONST"
          },
          "specificHeat" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_SpecificHeat"
          },
          "specificHeatFunction" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_SpecificHeat"
          },
          "equationOfState" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_HConstThermoEquationOfState"
          }
        },
        "additionalProperties" : false,
        "description" : "<br><p>The <b>Thermo models</b> are used to calculate the specific heat at constant pressure (<i>Cp</i>) for the fluid. The available models are:</p><p><b>hConst:</b> This model assumes a constant value for specific heat at fixed pressure (<i>Cp</i>). </p><p><b>eConst:</b> This model assumes a constant value for the specific heat at fixed volume (<i>Cv</i>). </p>"
      },
      "Simulation.RealGasEquationOfState" : {
        "title" : "Real gas",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "<br><p>The <b>Equation of state</b> describes the relation between density of a fluid and the fluid pressure and temperature. The available options are:</p><p><b>Rho const:</b> Fluid density is assumed constant.</p><p><b>Incompressibel perfect gas:</b> The fluid is assumed to be an 'Ideal Gas' that is incompressible by pressure. But, fluid density can change due to temperature.</p><p><b>Perfect gas:</b> Fluid is assumed to be an 'Ideal Gas' and obeys the 'Ideal Gas Law'.</p><p><b>Perfect fluid:</b> Fluid density can change due to pressure and temperature with respect to a base value.</p><p><b>Adiabatic perfect fluid:</b> The fluid is a perfect fluid which is adiabatic in nature.</p> <a href='https://www.simscale.com/docs/simulation-setup/materials/thermophysical-fluid-models/#equation-of-state' target='_blank'>Learn more</a>.\n\nSchema name: RealGasEquationOfState",
            "default" : "REAL_GAS"
          },
          "density" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_Density"
          },
          "specificEnthalpy" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_SpecificEnergy"
          }
        },
        "additionalProperties" : false,
        "description" : "<br><p>The <b>Equation of state</b> describes the relation between density of a fluid and the fluid pressure and temperature. The available options are:</p><p><b>Rho const:</b> Fluid density is assumed constant.</p><p><b>Incompressibel perfect gas:</b> The fluid is assumed to be an 'Ideal Gas' that is incompressible by pressure. But, fluid density can change due to temperature.</p><p><b>Perfect gas:</b> Fluid is assumed to be an 'Ideal Gas' and obeys the 'Ideal Gas Law'.</p><p><b>Perfect fluid:</b> Fluid density can change due to pressure and temperature with respect to a base value.</p><p><b>Adiabatic perfect fluid:</b> The fluid is a perfect fluid which is adiabatic in nature.</p> <a href='https://www.simscale.com/docs/simulation-setup/materials/thermophysical-fluid-models/#equation-of-state' target='_blank'>Learn more</a>."
      },
      "Simulation.VariableGroup_TEMP_PRESSURE" : {
        "type" : "object",
        "properties" : {
          "Temperature" : {
            "$ref" : "#/components/schemas/Simulation.Unit_Temperature"
          },
          "Pressure" : {
            "$ref" : "#/components/schemas/Simulation.Unit_Pressure"
          }
        }
      },
      "Simulation.Unit_Pressure" : {
        "type" : "object",
        "properties" : {
          "value" : {
            "title" : "Value",
            "type" : "number"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "Pa", "lbf/in²", "hPa", "kPa", "MPa", "atm", "mbar", "bar", "mH2O", "mmH2O", "mmHg", "dyne/cm²", "inH2O", "ftH2O", "inHg", "psf" ]
          }
        }
      },
      "Simulation.DimensionalFunction_SpecificEnergy" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_DimensionalFunction_SpecificEnergyValue"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "J/kg", "Btu/lb" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.RhoConstEquationOfState" : {
        "title" : "Rho const.",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "<br><p>The <b>Equation of state</b> describes the relation between density of a fluid and the fluid pressure and temperature. The available options are:</p><p><b>Rho const:</b> Fluid density is assumed constant.</p><p><b>Incompressibel perfect gas:</b> The fluid is assumed to be an 'Ideal Gas' that is incompressible by pressure. But, fluid density can change due to temperature.</p><p><b>Perfect gas:</b> Fluid is assumed to be an 'Ideal Gas' and obeys the 'Ideal Gas Law'.</p><p><b>Perfect fluid:</b> Fluid density can change due to pressure and temperature with respect to a base value.</p><p><b>Adiabatic perfect fluid:</b> The fluid is a perfect fluid which is adiabatic in nature.</p> <a href='https://www.simscale.com/docs/simulation-setup/materials/thermophysical-fluid-models/#equation-of-state' target='_blank'>Learn more</a>.\n\nSchema name: RhoConstEquationOfState",
            "default" : "RHO_CONST"
          },
          "density" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Density"
          },
          "densityFunction" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_Density"
          },
          "energy" : {
            "title" : "Energy",
            "type" : "string",
            "description" : "<p><b>Energy</b> provides the methods for the form of energy to be used. The options are:</p><p><b>Sensible enthalpy:</b> The enthalpy form of equation is used without the heat of formation. In most cases this is the recommended choice.</p><p><b>Sensible internal Energy:</b> The internal energy form of equation is used without the heat of formation but also incorporates energy change due to reactions.</p>",
            "default" : "SENSIBLE_ENTHALPY",
            "x-showWhen" : [ "type in [COMPRESSIBLE,CONJUGATE_HEAT_TRANSFER,CONVECTIVE_HEAT_TRANSFER]" ],
            "x-conditionalEnum" : [ {
              "value" : "SENSIBLE_ENTHALPY",
              "when" : [ "type in [COMPRESSIBLE,CONVECTIVE_HEAT_TRANSFER,CONJUGATE_HEAT_TRANSFER]" ]
            }, {
              "value" : "SENSIBLE_INTERNAL_ENERGY",
              "when" : [ "type in [COMPRESSIBLE,CONVECTIVE_HEAT_TRANSFER]", "type == CONJUGATE_HEAT_TRANSFER && 3/type in [CONST,SUTHERLAND]" ]
            } ]
          }
        },
        "additionalProperties" : false,
        "description" : "<br><p>The <b>Equation of state</b> describes the relation between density of a fluid and the fluid pressure and temperature. The available options are:</p><p><b>Rho const:</b> Fluid density is assumed constant.</p><p><b>Incompressibel perfect gas:</b> The fluid is assumed to be an 'Ideal Gas' that is incompressible by pressure. But, fluid density can change due to temperature.</p><p><b>Perfect gas:</b> Fluid is assumed to be an 'Ideal Gas' and obeys the 'Ideal Gas Law'.</p><p><b>Perfect fluid:</b> Fluid density can change due to pressure and temperature with respect to a base value.</p><p><b>Adiabatic perfect fluid:</b> The fluid is a perfect fluid which is adiabatic in nature.</p> <a href='https://www.simscale.com/docs/simulation-setup/materials/thermophysical-fluid-models/#equation-of-state' target='_blank'>Learn more</a>."
      },
      "Simulation.PerfectFluidEquationOfState" : {
        "title" : "Perfect fluid",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "<br><p>The <b>Equation of state</b> describes the relation between density of a fluid and the fluid pressure and temperature. The available options are:</p><p><b>Rho const:</b> Fluid density is assumed constant.</p><p><b>Incompressibel perfect gas:</b> The fluid is assumed to be an 'Ideal Gas' that is incompressible by pressure. But, fluid density can change due to temperature.</p><p><b>Perfect gas:</b> Fluid is assumed to be an 'Ideal Gas' and obeys the 'Ideal Gas Law'.</p><p><b>Perfect fluid:</b> Fluid density can change due to pressure and temperature with respect to a base value.</p><p><b>Adiabatic perfect fluid:</b> The fluid is a perfect fluid which is adiabatic in nature.</p> <a href='https://www.simscale.com/docs/simulation-setup/materials/thermophysical-fluid-models/#equation-of-state' target='_blank'>Learn more</a>.\n\nSchema name: PerfectFluidEquationOfState",
            "default" : "PERFECT_FLUID"
          },
          "fluidConstant" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_SpecificHeat"
          },
          "referenceDensity" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Density"
          },
          "energy" : {
            "title" : "Energy",
            "type" : "string",
            "description" : "<p><b>Energy</b> provides the methods for the form of energy to be used. The options are:</p><p><b>Sensible enthalpy:</b> The enthalpy form of equation is used without the heat of formation. In most cases this is the recommended choice.</p><p><b>Sensible internal Energy:</b> The internal energy form of equation is used without the heat of formation but also incorporates energy change due to reactions.</p>",
            "default" : "SENSIBLE_ENTHALPY",
            "enum" : [ "SENSIBLE_ENTHALPY", "SENSIBLE_INTERNAL_ENERGY" ]
          }
        },
        "additionalProperties" : false,
        "description" : "<br><p>The <b>Equation of state</b> describes the relation between density of a fluid and the fluid pressure and temperature. The available options are:</p><p><b>Rho const:</b> Fluid density is assumed constant.</p><p><b>Incompressibel perfect gas:</b> The fluid is assumed to be an 'Ideal Gas' that is incompressible by pressure. But, fluid density can change due to temperature.</p><p><b>Perfect gas:</b> Fluid is assumed to be an 'Ideal Gas' and obeys the 'Ideal Gas Law'.</p><p><b>Perfect fluid:</b> Fluid density can change due to pressure and temperature with respect to a base value.</p><p><b>Adiabatic perfect fluid:</b> The fluid is a perfect fluid which is adiabatic in nature.</p> <a href='https://www.simscale.com/docs/simulation-setup/materials/thermophysical-fluid-models/#equation-of-state' target='_blank'>Learn more</a>."
      },
      "Simulation.IncompressiblePerfectGasEquationOfState" : {
        "title" : "Incompressible perfect gas",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "<br><p>The <b>Equation of state</b> describes the relation between density of a fluid and the fluid pressure and temperature. The available options are:</p><p><b>Rho const:</b> Fluid density is assumed constant.</p><p><b>Incompressibel perfect gas:</b> The fluid is assumed to be an 'Ideal Gas' that is incompressible by pressure. But, fluid density can change due to temperature.</p><p><b>Perfect gas:</b> Fluid is assumed to be an 'Ideal Gas' and obeys the 'Ideal Gas Law'.</p><p><b>Perfect fluid:</b> Fluid density can change due to pressure and temperature with respect to a base value.</p><p><b>Adiabatic perfect fluid:</b> The fluid is a perfect fluid which is adiabatic in nature.</p> <a href='https://www.simscale.com/docs/simulation-setup/materials/thermophysical-fluid-models/#equation-of-state' target='_blank'>Learn more</a>.\n\nSchema name: IncompressiblePerfectGasEquationOfState",
            "default" : "INCOMPRESSIBLE_PERFECT_GAS"
          },
          "referencePressure" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Pressure"
          },
          "energy" : {
            "title" : "Energy",
            "type" : "string",
            "description" : "<p><b>Energy</b> provides the methods for the form of energy to be used. The options are:</p><p><b>Sensible enthalpy:</b> The enthalpy form of equation is used without the heat of formation. In most cases this is the recommended choice.</p><p><b>Sensible internal Energy:</b> The internal energy form of equation is used without the heat of formation but also incorporates energy change due to reactions.</p>",
            "default" : "SENSIBLE_ENTHALPY",
            "enum" : [ "SENSIBLE_ENTHALPY", "SENSIBLE_INTERNAL_ENERGY" ]
          }
        },
        "additionalProperties" : false,
        "description" : "<br><p>The <b>Equation of state</b> describes the relation between density of a fluid and the fluid pressure and temperature. The available options are:</p><p><b>Rho const:</b> Fluid density is assumed constant.</p><p><b>Incompressibel perfect gas:</b> The fluid is assumed to be an 'Ideal Gas' that is incompressible by pressure. But, fluid density can change due to temperature.</p><p><b>Perfect gas:</b> Fluid is assumed to be an 'Ideal Gas' and obeys the 'Ideal Gas Law'.</p><p><b>Perfect fluid:</b> Fluid density can change due to pressure and temperature with respect to a base value.</p><p><b>Adiabatic perfect fluid:</b> The fluid is a perfect fluid which is adiabatic in nature.</p> <a href='https://www.simscale.com/docs/simulation-setup/materials/thermophysical-fluid-models/#equation-of-state' target='_blank'>Learn more</a>."
      },
      "Simulation.AdiabaticPerfectFluidEquationOfState" : {
        "title" : "Adiabatic perfect fluid",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "<br><p>The <b>Equation of state</b> describes the relation between density of a fluid and the fluid pressure and temperature. The available options are:</p><p><b>Rho const:</b> Fluid density is assumed constant.</p><p><b>Incompressibel perfect gas:</b> The fluid is assumed to be an 'Ideal Gas' that is incompressible by pressure. But, fluid density can change due to temperature.</p><p><b>Perfect gas:</b> Fluid is assumed to be an 'Ideal Gas' and obeys the 'Ideal Gas Law'.</p><p><b>Perfect fluid:</b> Fluid density can change due to pressure and temperature with respect to a base value.</p><p><b>Adiabatic perfect fluid:</b> The fluid is a perfect fluid which is adiabatic in nature.</p> <a href='https://www.simscale.com/docs/simulation-setup/materials/thermophysical-fluid-models/#equation-of-state' target='_blank'>Learn more</a>.\n\nSchema name: AdiabaticPerfectFluidEquationOfState",
            "default" : "ADIABATIC_PERFECT_FLUID"
          },
          "referencePressure" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Pressure"
          },
          "referenceDensity" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Density"
          },
          "isentropicExponent" : {
            "title" : "Isentropic exponent",
            "type" : "number",
            "description" : "Specify the isentropic exponent. This parameter characterizes changes in density due to pressure. A Larger isentropic exponent results in less sensitivity of the density to reference pressure."
          },
          "pressureOffset" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Pressure"
          },
          "energy" : {
            "title" : "Energy",
            "type" : "string",
            "description" : "<p><b>Energy</b> provides the methods for the form of energy to be used. The options are:</p><p><b>Sensible enthalpy:</b> The enthalpy form of equation is used without the heat of formation. In most cases this is the recommended choice.</p><p><b>Sensible internal Energy:</b> The internal energy form of equation is used without the heat of formation but also incorporates energy change due to reactions.</p>",
            "default" : "SENSIBLE_ENTHALPY",
            "enum" : [ "SENSIBLE_ENTHALPY", "SENSIBLE_INTERNAL_ENERGY" ]
          }
        },
        "additionalProperties" : false,
        "description" : "<br><p>The <b>Equation of state</b> describes the relation between density of a fluid and the fluid pressure and temperature. The available options are:</p><p><b>Rho const:</b> Fluid density is assumed constant.</p><p><b>Incompressibel perfect gas:</b> The fluid is assumed to be an 'Ideal Gas' that is incompressible by pressure. But, fluid density can change due to temperature.</p><p><b>Perfect gas:</b> Fluid is assumed to be an 'Ideal Gas' and obeys the 'Ideal Gas Law'.</p><p><b>Perfect fluid:</b> Fluid density can change due to pressure and temperature with respect to a base value.</p><p><b>Adiabatic perfect fluid:</b> The fluid is a perfect fluid which is adiabatic in nature.</p> <a href='https://www.simscale.com/docs/simulation-setup/materials/thermophysical-fluid-models/#equation-of-state' target='_blank'>Learn more</a>."
      },
      "Simulation.PengRobinsonGasEquationOfState" : {
        "title" : "Peng-Robinson",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "<br><p>The <b>Equation of state</b> describes the relation between density of a fluid and the fluid pressure and temperature. The available options are:</p><p><b>Rho const:</b> Fluid density is assumed constant.</p><p><b>Incompressibel perfect gas:</b> The fluid is assumed to be an 'Ideal Gas' that is incompressible by pressure. But, fluid density can change due to temperature.</p><p><b>Perfect gas:</b> Fluid is assumed to be an 'Ideal Gas' and obeys the 'Ideal Gas Law'.</p><p><b>Perfect fluid:</b> Fluid density can change due to pressure and temperature with respect to a base value.</p><p><b>Adiabatic perfect fluid:</b> The fluid is a perfect fluid which is adiabatic in nature.</p> <a href='https://www.simscale.com/docs/simulation-setup/materials/thermophysical-fluid-models/#equation-of-state' target='_blank'>Learn more</a>.\n\nSchema name: PengRobinsonGasEquationOfState",
            "default" : "PENG_ROBINSON_GAS"
          },
          "criticalTemperature" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Temperature"
          },
          "criticalVolume" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_MolarMass"
          },
          "criticalPressure" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Pressure"
          },
          "acentricFactor" : {
            "title" : "Acentric factor",
            "type" : "number",
            "description" : "Specify the acentric factor. It is a property of the material that characterized the changes in thermodynamic properties of the fluid due to non-spherical molecules."
          },
          "energy" : {
            "title" : "Energy",
            "type" : "string",
            "description" : "<p><b>Energy</b> provides the methods for the form of energy to be used. The options are:</p><p><b>Sensible enthalpy:</b> The enthalpy form of equation is used without the heat of formation. In most cases this is the recommended choice.</p><p><b>Sensible internal Energy:</b> The internal energy form of equation is used without the heat of formation but also incorporates energy change due to reactions.</p>",
            "default" : "SENSIBLE_ENTHALPY",
            "enum" : [ "SENSIBLE_ENTHALPY", "SENSIBLE_INTERNAL_ENERGY" ]
          }
        },
        "additionalProperties" : false,
        "description" : "<br><p>The <b>Equation of state</b> describes the relation between density of a fluid and the fluid pressure and temperature. The available options are:</p><p><b>Rho const:</b> Fluid density is assumed constant.</p><p><b>Incompressibel perfect gas:</b> The fluid is assumed to be an 'Ideal Gas' that is incompressible by pressure. But, fluid density can change due to temperature.</p><p><b>Perfect gas:</b> Fluid is assumed to be an 'Ideal Gas' and obeys the 'Ideal Gas Law'.</p><p><b>Perfect fluid:</b> Fluid density can change due to pressure and temperature with respect to a base value.</p><p><b>Adiabatic perfect fluid:</b> The fluid is a perfect fluid which is adiabatic in nature.</p> <a href='https://www.simscale.com/docs/simulation-setup/materials/thermophysical-fluid-models/#equation-of-state' target='_blank'>Learn more</a>."
      },
      "Simulation.SutherlandTransport" : {
        "title" : "Sutherland",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: SutherlandTransport",
            "default" : "SUTHERLAND"
          },
          "referenceViscosity" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_DynamicViscosity"
          },
          "referenceTemperature" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Temperature"
          },
          "ts" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Temperature"
          },
          "thermo" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_SutherlandTransportThermo"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.HerschelBulkleyTransport" : {
        "title" : "Herschel–Bulkley Viscosity",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: HerschelBulkleyTransport",
            "default" : "HERSCHEL_BULKLEY"
          },
          "viscosityModel" : {
            "$ref" : "#/components/schemas/Simulation.StandardHerschelBulkleyViscosityModel"
          },
          "prandtlNumber" : {
            "title" : "(Pr) Prandtl number",
            "minimum" : 0,
            "exclusiveMinimum" : true,
            "type" : "number",
            "description" : "Prandtl number (<i>Pr</i>) is the ratio of momentum transport to thermal tranport. Fluids with low <i>Pr</i> are free flowing and good for heat conduction."
          },
          "turbulentPrandtlNumber" : {
            "title" : "(Pr<t>) Turb. Prandtl number",
            "minimum" : 0,
            "exclusiveMinimum" : true,
            "type" : "number",
            "description" : "Turbulent Prandtl number is used to calculate the heat transfer due to turbulent effects in the domain."
          },
          "thermo" : {
            "$ref" : "#/components/schemas/Simulation.HConstThermo"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.SutherlandViscosity" : {
        "title" : "Sutherland",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: SutherlandViscosity",
            "default" : "SUTHERLAND_VISCOSITY"
          },
          "referenceViscosity" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_DynamicViscosity"
          },
          "referenceTemperature" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Temperature"
          },
          "ts" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Temperature"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.SolidCompressibleMaterial" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "specie" : {
            "$ref" : "#/components/schemas/Simulation.SpecieDefault"
          },
          "transport" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_SolidCompressibleMaterialTransport"
          },
          "emissivity" : {
            "title" : "Emissivity",
            "maximum" : 1,
            "exclusiveMaximum" : false,
            "minimum" : 0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "default" : 0.9,
            "x-showWhen" : [ "type == CONJUGATE_HEAT_TRANSFER && enableRadiation == true" ]
          },
          "radiativeBehavior" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_SolidCompressibleMaterialRadiativeBehavior"
          },
          "electricConductivityType" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_SolidCompressibleMaterialElectricConductivityType"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          },
          "builtInMaterial" : {
            "type" : "string"
          },
          "materialLibraryReference" : {
            "$ref" : "#/components/schemas/Simulation.MaterialLibraryReference"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.ConstIsoTransport" : {
        "title" : "Isotropic",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "<p>The thermal conductivity of a material is a measure of its ability to conduct heat.<ul><li><strong>Isotropic</strong>: the thermal conductivity &kappa; is the same in all directions.</li><li><strong>Orthotropic</strong>: the thermal conductivity is unique and independent in three orthogonal directions. It is defined by &kappa;<sub>x</sub>, &kappa;<sub>y</sub>, and &kappa;<sub>z</sub>.</li><li><strong>Cross-plane orthotropic</strong>: it is defined by an <em>in-plane</em> conductivity, which is an isotropic conductivity on a given plane, and a <em>cross-plane<strong>&nbsp;</strong></em>conductivity, which acts in the direction normal to the aforementioned plane.</li></ul></p>\n\nSchema name: ConstIsoTransport",
            "default" : "CONST_ISO"
          },
          "conductivity" : {
            "$ref" : "#/components/schemas/Simulation.IsotropicConductivity"
          },
          "thermo" : {
            "$ref" : "#/components/schemas/Simulation.HConstThermo"
          }
        },
        "additionalProperties" : false,
        "description" : "<p>The thermal conductivity of a material is a measure of its ability to conduct heat.<ul><li><strong>Isotropic</strong>: the thermal conductivity &kappa; is the same in all directions.</li><li><strong>Orthotropic</strong>: the thermal conductivity is unique and independent in three orthogonal directions. It is defined by &kappa;<sub>x</sub>, &kappa;<sub>y</sub>, and &kappa;<sub>z</sub>.</li><li><strong>Cross-plane orthotropic</strong>: it is defined by an <em>in-plane</em> conductivity, which is an isotropic conductivity on a given plane, and a <em>cross-plane<strong>&nbsp;</strong></em>conductivity, which acts in the direction normal to the aforementioned plane.</li></ul></p>"
      },
      "Simulation.ConstAnIsoTransport" : {
        "title" : "Orthotropic",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "<p>The thermal conductivity of a material is a measure of its ability to conduct heat.<ul><li><strong>Isotropic</strong>: the thermal conductivity &kappa; is the same in all directions.</li><li><strong>Orthotropic</strong>: the thermal conductivity is unique and independent in three orthogonal directions. It is defined by &kappa;<sub>x</sub>, &kappa;<sub>y</sub>, and &kappa;<sub>z</sub>.</li><li><strong>Cross-plane orthotropic</strong>: it is defined by an <em>in-plane</em> conductivity, which is an isotropic conductivity on a given plane, and a <em>cross-plane<strong>&nbsp;</strong></em>conductivity, which acts in the direction normal to the aforementioned plane.</li></ul></p>\n\nSchema name: ConstAnIsoTransport",
            "default" : "CONST_AN_ISO"
          },
          "conductivity" : {
            "$ref" : "#/components/schemas/Simulation.OrthotropicConductivity"
          },
          "orientation" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_ConstAnIsoTransportOrientation"
          },
          "thermo" : {
            "$ref" : "#/components/schemas/Simulation.HConstThermo"
          }
        },
        "additionalProperties" : false,
        "description" : "<p>The thermal conductivity of a material is a measure of its ability to conduct heat.<ul><li><strong>Isotropic</strong>: the thermal conductivity &kappa; is the same in all directions.</li><li><strong>Orthotropic</strong>: the thermal conductivity is unique and independent in three orthogonal directions. It is defined by &kappa;<sub>x</sub>, &kappa;<sub>y</sub>, and &kappa;<sub>z</sub>.</li><li><strong>Cross-plane orthotropic</strong>: it is defined by an <em>in-plane</em> conductivity, which is an isotropic conductivity on a given plane, and a <em>cross-plane<strong>&nbsp;</strong></em>conductivity, which acts in the direction normal to the aforementioned plane.</li></ul></p>"
      },
      "Simulation.ConstCrossPlaneOrthotropicTransport" : {
        "title" : "Cross-plane orthotropic",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "<p>The thermal conductivity of a material is a measure of its ability to conduct heat.<ul><li><strong>Isotropic</strong>: the thermal conductivity &kappa; is the same in all directions.</li><li><strong>Orthotropic</strong>: the thermal conductivity is unique and independent in three orthogonal directions. It is defined by &kappa;<sub>x</sub>, &kappa;<sub>y</sub>, and &kappa;<sub>z</sub>.</li><li><strong>Cross-plane orthotropic</strong>: it is defined by an <em>in-plane</em> conductivity, which is an isotropic conductivity on a given plane, and a <em>cross-plane<strong>&nbsp;</strong></em>conductivity, which acts in the direction normal to the aforementioned plane.</li></ul></p>\n\nSchema name: ConstCrossPlaneOrthotropicTransport",
            "default" : "CONST_CROSS_PLANE_ORTHO"
          },
          "conductivity" : {
            "$ref" : "#/components/schemas/Simulation.CrossPlaneOrthotropicConductivity"
          },
          "orientation" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_ConstCrossPlaneOrthotropicTransportOrientation"
          },
          "thermo" : {
            "$ref" : "#/components/schemas/Simulation.HConstThermo"
          }
        },
        "additionalProperties" : false,
        "description" : "<p>The thermal conductivity of a material is a measure of its ability to conduct heat.<ul><li><strong>Isotropic</strong>: the thermal conductivity &kappa; is the same in all directions.</li><li><strong>Orthotropic</strong>: the thermal conductivity is unique and independent in three orthogonal directions. It is defined by &kappa;<sub>x</sub>, &kappa;<sub>y</sub>, and &kappa;<sub>z</sub>.</li><li><strong>Cross-plane orthotropic</strong>: it is defined by an <em>in-plane</em> conductivity, which is an isotropic conductivity on a given plane, and a <em>cross-plane<strong>&nbsp;</strong></em>conductivity, which acts in the direction normal to the aforementioned plane.</li></ul></p>"
      },
      "Simulation.CrossPlaneOrthotropicConductivity" : {
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: CrossPlaneOrthotropicConductivity",
            "default" : "CROSS_PLANE_ORTHOTROPIC"
          },
          "inPlaneConductivity" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_ThermalConductivity"
          },
          "crossPlaneConductivity" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_ThermalConductivity"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.XAxis" : {
        "title" : "x-Axis",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: XAxis",
            "default" : "XAXIS"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.YAxis" : {
        "title" : "y-Axis",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: YAxis",
            "default" : "YAXIS"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.ZAxis" : {
        "title" : "z-Axis",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: ZAxis",
            "default" : "ZAXIS"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.CrossPlaneCustomOrientation" : {
        "title" : "Custom",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: CrossPlaneCustomOrientation",
            "default" : "CROSS_PLANE"
          },
          "crossPlaneOrientation" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalVector_Length"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.SemiTransparentMaterial" : {
        "title" : "Semi-transparent material",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: SemiTransparentMaterial",
            "default" : "SEMI_TRANSPARENT_MATERIAL"
          },
          "emissivity" : {
            "title" : "Emissivity",
            "maximum" : 1,
            "exclusiveMaximum" : false,
            "minimum" : 0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "default" : 0.0
          },
          "transmissivity" : {
            "title" : "Transmissivity",
            "maximum" : 1,
            "exclusiveMaximum" : false,
            "minimum" : 0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "default" : 0
          }
        },
        "additionalProperties" : false
      },
      "Simulation.OpaqueMaterial" : {
        "title" : "Opaque material",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: OpaqueMaterial",
            "default" : "OPAQUE_MATERIAL"
          },
          "emissivity" : {
            "title" : "Emissivity",
            "maximum" : 1,
            "exclusiveMaximum" : false,
            "minimum" : 0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "default" : 0.9
          }
        },
        "additionalProperties" : false
      },
      "Simulation.Dielectric" : {
        "title" : "Dielectric",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Dielectric materials do not conduct electric field.\n\nSchema name: Dielectric",
            "default" : "DIELECTRIC"
          }
        },
        "additionalProperties" : false,
        "description" : "Dielectric materials do not conduct electric field."
      },
      "Simulation.IsotropicElectricConductivity" : {
        "title" : "Isotropic conductor",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "<p>Define the directional dependency of this property. Isotropic means directionally independent. Orthotropic means directionally dependent.</p>\n\nSchema name: IsotropicElectricConductivity",
            "default" : "ISOTROPIC_ELECTRIC_CONDUCTIVITY"
          },
          "electricResistivityFunction" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_ElectricResistivity"
          }
        },
        "additionalProperties" : false,
        "description" : "<p>Define the directional dependency of this property. Isotropic means directionally independent. Orthotropic means directionally dependent.</p>"
      },
      "Simulation.DimensionalFunction_ElectricResistivity" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_DimensionalFunction_ElectricResistivityValue"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "Ω·m", "Ω·in" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.OrthotropicElectricConductivity" : {
        "title" : "Orthotropic conductor",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "<p>Define the directional dependency of this property. Isotropic means directionally independent. Orthotropic means directionally dependent.</p>\n\nSchema name: OrthotropicElectricConductivity",
            "default" : "ORTHOTROPIC_ELECTRIC_CONDUCTIVITY"
          },
          "electricResistivityX" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_ElectricResistivity"
          },
          "electricResistivityY" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_ElectricResistivity"
          },
          "electricResistivityZ" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_ElectricResistivity"
          }
        },
        "additionalProperties" : false,
        "description" : "<p>Define the directional dependency of this property. Isotropic means directionally independent. Orthotropic means directionally dependent.</p>"
      },
      "Simulation.AutomaticSimericsMeshSettings" : {
        "title" : "Automatic",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: AutomaticSimericsMeshSettings",
            "default" : "AUTOMATIC_SETTINGS"
          },
          "refinements" : {
            "title" : "Refinements",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.OneOf_AutomaticSimericsMeshSettingsRefinements"
            }
          },
          "fineness" : {
            "title" : "Fineness",
            "maximum" : 10.0,
            "exclusiveMaximum" : false,
            "minimum" : 1,
            "exclusiveMinimum" : false,
            "type" : "number",
            "description" : "<p>Adjust the overall mesh sizing from coarse (value: 0) to fine (10).</p>",
            "default" : 1,
            "x-divisibleBy" : 0.1
          },
          "enableCADSurfaceMerging" : {
            "title" : "Merge CAD surfaces",
            "type" : "boolean",
            "description" : "<b>Merge CAD surfaces</b> combines all surfaces of the CAD model that are <i>not</i> assigned a boundary condition or result control. With this turned on, the probability of successful mesh generation for more complicated geometries significantly increases. If you need to inspect unassigned surfaces separately, turn it off. For more information, please contact Support.",
            "default" : true
          }
        },
        "additionalProperties" : false
      },
      "Simulation.RegionRefinementSimerics" : {
        "title" : "Region refinement",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: RegionRefinementSimerics",
            "default" : "REGION_REFINEMENT_SIMERICS"
          },
          "name" : {
            "title" : "Name",
            "type" : "string",
            "default" : "Region refinement"
          },
          "refinementCellSizeAbsolute" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Length"
          },
          "refinementCellSizeRelative" : {
            "title" : "Target cell size (relative to CAD)",
            "maximum" : 1.0,
            "exclusiveMaximum" : false,
            "minimum" : 0.0,
            "exclusiveMinimum" : true,
            "type" : "number",
            "description" : "This parameter defines the length scale to which the entire region enclosed by the refinement zone needs to be resolved. Due to the binary-tree mesh generation approach applied, the actual cell size might be equal or smaller than the target cell size specified. Choosing a finer resolution will resolve the enclosed region to a greater level of detail, but will result in a larger mesh. This typically means longer runtimes and bigger sizes of results.",
            "default" : 1,
            "x-showWhen" : [ "meshSettings.type == MANUAL_SETTINGS && meshSettings.cellSizeSpecification.type == RELATIVE_TO_ALL_CAD_SURFACES" ]
          },
          "geometryPrimitiveUuids" : {
            "title" : "Geometry primitives",
            "type" : "array",
            "items" : {
              "type" : "string",
              "format" : "uuid"
            },
            "x-referencedPrimitivesOptions" : {
              "allowMultiple" : true,
              "pathToPrimitives" : "geometryPrimitives",
              "allowedReferencedPrimitiveTypes" : [ "CARTESIAN_BOX", "CYLINDER" ]
            }
          }
        },
        "additionalProperties" : false
      },
      "Simulation.SurfaceRefinementSimerics" : {
        "title" : "Surface refinement",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: SurfaceRefinementSimerics",
            "default" : "SURFACE_REFINEMENT_SIMERICS"
          },
          "name" : {
            "title" : "Name",
            "type" : "string",
            "default" : "Surface refinement"
          },
          "refinementCellSizeAbsolute" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Length"
          },
          "refinementCellSizeRelative" : {
            "title" : "Target cell size (relative to CAD)",
            "maximum" : 1.0,
            "exclusiveMaximum" : false,
            "minimum" : 0.0,
            "exclusiveMinimum" : true,
            "type" : "number",
            "description" : "This parameter defines the length scale to which the entire region enclosed by the refinement zone needs to be resolved. Due to the binary-tree mesh generation approach applied, the actual cell size might be equal or smaller than the target cell size specified. Choosing a finer resolution will resolve the enclosed region to a greater level of detail, but will result in a larger mesh. This typically means longer runtimes and bigger sizes of results.",
            "default" : 1,
            "x-showWhen" : [ "meshSettings.type == MANUAL_SETTINGS && meshSettings.cellSizeSpecification.type == RELATIVE_TO_ALL_CAD_SURFACES" ]
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.ManualSimericsMeshSettings" : {
        "title" : "Manual",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: ManualSimericsMeshSettings",
            "default" : "MANUAL_SETTINGS"
          },
          "refinements" : {
            "title" : "Refinements",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.OneOf_ManualSimericsMeshSettingsRefinements"
            }
          },
          "cellSizeSpecification" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_ManualSimericsMeshSettingsCellSizeSpecification"
          },
          "enableCADSurfaceMerging" : {
            "title" : "Merge CAD surfaces",
            "type" : "boolean",
            "description" : "<b>Merge CAD surfaces</b> combines all surfaces of the CAD model that are <i>not</i> assigned a boundary condition or result control. With this turned on, the probability of successful mesh generation for more complicated geometries significantly increases. If you need to inspect unassigned surfaces separately, turn it off. For more information, please contact Support.",
            "default" : true
          }
        },
        "additionalProperties" : false
      },
      "Simulation.RelativeToAllCadSurfacesSettings" : {
        "title" : "Relative to CAD",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: RelativeToAllCadSurfacesSettings",
            "default" : "RELATIVE_TO_ALL_CAD_SURFACES"
          },
          "minimumCellSize" : {
            "title" : "Minimum cell size",
            "maximum" : 1.0,
            "exclusiveMaximum" : false,
            "minimum" : 0.0,
            "exclusiveMinimum" : true,
            "type" : "number",
            "description" : "<p>This parameter specifies the <b>minimum size for all cells</b> of the mesh relative to the diagonal of the CAD model. A higher value leads to a coarser mesh. Our recommendation is to start with the default value and if necessary, gradually lower the parameter until a desired mesh fineness is obtained.</p>",
            "default" : 7.0E-4
          },
          "maximumCellSize" : {
            "title" : "Maximum cell size",
            "maximum" : 1.0,
            "exclusiveMaximum" : false,
            "minimum" : 0.0,
            "exclusiveMinimum" : true,
            "type" : "number",
            "description" : "<p>This parameter specifies the <b>maximum size for all cells</b> of the mesh relative to the diagonal of the CAD model. A lower value leads to a finer mesh. Our recommendation is to start with the default value and if necessary, gradually lower the parameter until a desired mesh fineness is obtained.</p>",
            "default" : 0.02
          },
          "cellSizeOnSurfaces" : {
            "title" : "Cell size on surfaces",
            "maximum" : 1.0,
            "exclusiveMaximum" : false,
            "minimum" : 0.0,
            "exclusiveMinimum" : true,
            "type" : "number",
            "description" : "<p>This parameter specifies the <b>size of cells close to the surfaces</b> relative to the diagonal of the CAD model. A higher value leads to a coarser mesh. Our recommendation is to start with the default value and if necessary, gradually lower the parameter until a desired mesh fineness is obtained.</p>",
            "default" : 0.01
          }
        },
        "additionalProperties" : false
      },
      "Simulation.AbsoluteToAllCadSurfacesSettings" : {
        "title" : "Absolute",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: AbsoluteToAllCadSurfacesSettings",
            "default" : "ABSOLUTE_TO_ALL_CAD_SURFACES"
          },
          "minimumCellSize" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Length"
          },
          "maximumCellSize" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Length"
          },
          "cellSizeOnSurfaces" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Length"
          },
          "enableGrowthRate" : {
            "title" : "Specify growth rate",
            "type" : "boolean",
            "description" : "<p><b>Specify growth rate</b>: Define the cell size growth rate between interior cells and surface cells.</p>",
            "default" : false
          },
          "growthRate" : {
            "title" : "Growth rate",
            "maximum" : 8,
            "exclusiveMaximum" : false,
            "minimum" : 1,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "description" : "The <i>Growth rate</i> defines the cell size ratio between interior cell size and surface cell size. It needs to be <b>a whole number</b> always greater than 1 and smaller or equal to 8, such that the cell size increases towards the interior of the mesh.",
            "default" : 2,
            "x-showWhen" : [ "1/enableGrowthRate == true" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.WindComfort" : {
        "title" : "Pedestrian Wind Comfort",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: WindComfort",
            "default" : "WIND_COMFORT"
          },
          "regionOfInterest" : {
            "$ref" : "#/components/schemas/Simulation.RegionOfInterest"
          },
          "windConditions" : {
            "$ref" : "#/components/schemas/Simulation.WindConditions"
          },
          "pedestrianComfortMap" : {
            "title" : "Pedestrian comfort map",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.PedestrianComfortSurface"
            }
          },
          "simulationControl" : {
            "$ref" : "#/components/schemas/Simulation.WindComfortSimulationControl"
          },
          "advancedModelling" : {
            "$ref" : "#/components/schemas/Simulation.AdvancedModelling"
          },
          "additionalResultExport" : {
            "$ref" : "#/components/schemas/Simulation.FluidResultControls"
          },
          "meshSettings" : {
            "$ref" : "#/components/schemas/Simulation.WindComfortMesh"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.RegionOfInterest" : {
        "type" : "object",
        "properties" : {
          "discRadius" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Length"
          },
          "centerPoint" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalVector2d_Length"
          },
          "groundHeight" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Length"
          },
          "northAngle" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Angle"
          },
          "advancedSettings" : {
            "$ref" : "#/components/schemas/Simulation.AdvancedROISettings"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.DimensionalVector2d_Length" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "$ref" : "#/components/schemas/Simulation.DecimalVector2d"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "m", "in", "mm", "cm", "ft", "yd" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.DecimalVector2d" : {
        "type" : "object",
        "properties" : {
          "x" : {
            "title" : "X",
            "type" : "number"
          },
          "y" : {
            "title" : "Y",
            "type" : "number"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.AdvancedROISettings" : {
        "type" : "object",
        "properties" : {
          "windTunnelSize" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_AdvancedROISettingsWindTunnelSize"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.WindTunnelSizeModerate" : {
        "title" : "Moderate",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: WindTunnelSizeModerate",
            "default" : "WIND_TUNNEL_SIZE_MODERATE"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.WindTunnelSizeLarge" : {
        "title" : "Large",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: WindTunnelSizeLarge",
            "default" : "WIND_TUNNEL_SIZE_LARGE"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.WindTunnelSizeCustom" : {
        "title" : "Custom",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: WindTunnelSizeCustom",
            "default" : "WIND_TUNNEL_SIZE_CUSTOM"
          },
          "heightExtension" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Length"
          },
          "sideExtension" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Length"
          },
          "inflowExtension" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Length"
          },
          "outflowExtension" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Length"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.WindConditions" : {
        "type" : "object",
        "properties" : {
          "geographicalLocation" : {
            "$ref" : "#/components/schemas/Simulation.GeographicalLocation"
          },
          "windRose" : {
            "$ref" : "#/components/schemas/Simulation.WindRose"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.GeographicalLocation" : {
        "type" : "object",
        "properties" : {
          "latitude" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Angle"
          },
          "longitude" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Angle"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.WindRose" : {
        "required" : [ "velocityUnit" ],
        "type" : "object",
        "properties" : {
          "numDirections" : {
            "title" : "Num directions",
            "minimum" : 1,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "default" : 16
          },
          "velocityBuckets" : {
            "title" : "Velocity buckets",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.WindRoseVelocityBucket"
            }
          },
          "velocityUnit" : {
            "title" : "Velocity unit",
            "type" : "string",
            "default" : "m/s"
          },
          "exposureCategories" : {
            "title" : "Exposure categories",
            "type" : "array",
            "items" : {
              "type" : "string",
              "enum" : [ "EC1", "EC2", "EC3", "EC4", "EC5", "EC6" ]
            }
          },
          "windEngineeringStandard" : {
            "title" : "Wind engineering standard",
            "type" : "string",
            "default" : "EU",
            "enum" : [ "EU", "AS_NZS", "NEN8100", "LONDON", "AIJ" ]
          },
          "windDataSource" : {
            "type" : "string",
            "enum" : [ "METEOBLUE", "USER_UPLOAD" ]
          },
          "addSurfaceRoughness" : {
            "type" : "boolean",
            "default" : true
          },
          "gustFactorV2" : {
            "title" : "Gust factor",
            "maximum" : 3.5,
            "exclusiveMaximum" : false,
            "minimum" : 1.5,
            "exclusiveMinimum" : false,
            "type" : "number",
            "default" : 2.5,
            "x-showWhen" : [ "1/windEngineeringStandard == AIJ" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.WindRoseVelocityBucket" : {
        "type" : "object",
        "properties" : {
          "from" : {
            "title" : "From",
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number"
          },
          "to" : {
            "title" : "To",
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number"
          },
          "fractions" : {
            "title" : "Fractions",
            "type" : "array",
            "items" : {
              "type" : "number"
            }
          }
        },
        "additionalProperties" : false
      },
      "Simulation.PedestrianComfortSurface" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "heightAboveGround" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Length"
          },
          "ground" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_PedestrianComfortSurfaceGround"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.GroundAbsolute" : {
        "title" : "Ground absolute",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: GroundAbsolute",
            "default" : "GROUND_ABSOLUTE"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.GroundRelative" : {
        "title" : "Ground relative",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: GroundRelative",
            "default" : "GROUND_RELATIVE"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.WindComfortSimulationControl" : {
        "type" : "object",
        "properties" : {
          "maxDirectionRunTime" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Time"
          },
          "numberOfFluidPasses" : {
            "title" : "Number of fluid passes",
            "maximum" : 10.0,
            "exclusiveMaximum" : false,
            "minimum" : 0.0,
            "exclusiveMinimum" : true,
            "type" : "number",
            "description" : "<p>Set how many times the fluid (air) passes over the domain during the simulation.</p><p> <b>Warning</b>: Values below 2.0 might produce invalid results while higher numbers will require more simulation time and consequently more GPU hours. Recommended value is 3.0. <a href='https://www.simscale.com/docs/analysis-types/pedestrian-wind-comfort-analysis/simulation-control/' target='_blank'>Learn more</a>.</p>",
            "default" : 3.0
          },
          "velocityScaling" : {
            "title" : "Velocity scaling",
            "maximum" : 0.25,
            "exclusiveMaximum" : false,
            "minimum" : 0.025,
            "exclusiveMinimum" : false,
            "type" : "number",
            "description" : "<p>It affects the stability of the simulation. The default value of 0.1 is a good compromise between accuracy and computational requirements. Lower values of this parameter might increase the stability of the simulation at the cost of higher computational time.</p>",
            "default" : 0.1
          }
        },
        "additionalProperties" : false
      },
      "Simulation.WindComfortMesh" : {
        "type" : "object",
        "properties" : {
          "windComfortFineness" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_WindComfortMeshWindComfortFineness"
          },
          "automaticGapClosing" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_WindComfortMeshAutomaticGapClosing"
          },
          "progressiveRefinement" : {
            "$ref" : "#/components/schemas/Simulation.ProgressiveRefinement"
          },
          "reynoldsScalingType" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_WindComfortMeshReynoldsScalingType"
          },
          "refinements" : {
            "title" : "Refinements",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.OneOf_WindComfortMeshRefinements"
            }
          }
        },
        "additionalProperties" : false
      },
      "Simulation.SurfaceRefinementWindComfort" : {
        "title" : "Surface refinement",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: SurfaceRefinementWindComfort",
            "default" : "SURFACE_REFINEMENT_WIND_COMFORT"
          },
          "name" : {
            "title" : "Name",
            "type" : "string",
            "default" : "Surface refinement"
          },
          "newFineness" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_SurfaceRefinementWindComfortNewFineness"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.RegionRefinementWindComfort" : {
        "title" : "Region refinement",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: RegionRefinementWindComfort",
            "default" : "REGION_REFINEMENT_WIND_COMFORT"
          },
          "name" : {
            "title" : "Name",
            "type" : "string",
            "default" : "Region refinement"
          },
          "newFineness" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_RegionRefinementWindComfortNewFineness"
          },
          "geometryPrimitiveUuids" : {
            "title" : "Geometry primitives",
            "type" : "array",
            "items" : {
              "type" : "string",
              "format" : "uuid"
            },
            "x-referencedPrimitivesOptions" : {
              "allowMultiple" : true,
              "pathToPrimitives" : "geometryPrimitives",
              "allowedReferencedPrimitiveTypes" : [ "ROTATABLE_CARTESIAN_BOX", "LOCAL_CARTESIAN_BOX", "LOCAL_SPHERE" ]
            }
          }
        },
        "additionalProperties" : false
      },
      "Simulation.Compressible" : {
        "title" : "Compressible",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: Compressible",
            "default" : "COMPRESSIBLE"
          },
          "turbulenceModel" : {
            "title" : "Turbulence model",
            "type" : "string",
            "description" : "Choose a turbulence model for your CFD analysis:<ul><li><strong>No turbulence</strong>: Laminar</li><li><strong>RANS</strong>: <a href='https://www.simscale.com/docs/simulation-setup/global-settings/k-epsilon/#standard-k-epsilon-model' target='_blank'>k-epsilon</a>, <a href='https://www.simscale.com/docs/simulation-setup/global-settings/k-epsilon/#realizable-k-epsilon-model' target='_blank'>Realizable k-epsilon</a>, <a href='https://www.simscale.com/docs/simulation-setup/global-settings/k-omega-sst/' target='_blank'>k-omega and k-omega SST</a></li><li><strong>LES</strong>: Smagorinsky, Spalart-Allmaras</li></ul><p><p><a href='https://www.simscale.com/blog/2017/12/turbulence-cfd-analysis/' target='_blank'>Learn more</a>.</p>",
            "default" : "KOMEGASST",
            "enum" : [ "SMAGORINSKY", "SPALARTALLMARAS", "NONE", "KEPSILON", "KOMEGASST" ]
          },
          "timeDependency" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_CompressibleTimeDependency"
          },
          "model" : {
            "$ref" : "#/components/schemas/Simulation.FluidModel"
          },
          "materials" : {
            "$ref" : "#/components/schemas/Simulation.CompressibleFluidMaterials"
          },
          "initialConditions" : {
            "$ref" : "#/components/schemas/Simulation.FluidInitialConditions"
          },
          "boundaryConditions" : {
            "title" : "Boundary conditions",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.OneOf_CompressibleBoundaryConditions"
            }
          },
          "advancedConcepts" : {
            "$ref" : "#/components/schemas/Simulation.AdvancedConcepts"
          },
          "numerics" : {
            "$ref" : "#/components/schemas/Simulation.FluidNumerics"
          },
          "simulationControl" : {
            "$ref" : "#/components/schemas/Simulation.FluidSimulationControl"
          },
          "resultControl" : {
            "$ref" : "#/components/schemas/Simulation.FluidResultControls"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.CompressibleFluidMaterials" : {
        "type" : "object",
        "properties" : {
          "fluids" : {
            "title" : "Materials",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.FluidCompressibleMaterial"
            }
          }
        },
        "additionalProperties" : false
      },
      "Simulation.ConvectiveHeatTransfer" : {
        "title" : "Convective Heat Transfer",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: ConvectiveHeatTransfer",
            "default" : "CONVECTIVE_HEAT_TRANSFER"
          },
          "isCompressible" : {
            "title" : "Compressible",
            "type" : "boolean",
            "description" : "<ul><li>Toggle off <em>Compressible</em> for small temperature variations within the domain, for example, in natural convection simulations (Boussinesq approximation). Use Gauge pressure (0 Pa). </li><li>Toggle on <em>Compressible</em> to calculate resulting density variations within the domain based on pressure and temperature. Use Absolute pressure (for example, 101325 Pa at sea level)</li></ul>",
            "default" : false
          },
          "turbulenceModel" : {
            "title" : "Turbulence model",
            "type" : "string",
            "description" : "Choose a turbulence model for your CFD analysis:<ul><li><strong>No turbulence</strong>: Laminar</li><li><strong>RANS</strong>: <a href='https://www.simscale.com/docs/simulation-setup/global-settings/k-epsilon/#standard-k-epsilon-model' target='_blank'>k-epsilon</a>, <a href='https://www.simscale.com/docs/simulation-setup/global-settings/k-epsilon/#realizable-k-epsilon-model' target='_blank'>Realizable k-epsilon</a>, <a href='https://www.simscale.com/docs/simulation-setup/global-settings/k-omega-sst/' target='_blank'>k-omega and k-omega SST</a></li><li><strong>LES</strong>: Smagorinsky, Spalart-Allmaras</li></ul><p><p><a href='https://www.simscale.com/blog/2017/12/turbulence-cfd-analysis/' target='_blank'>Learn more</a>.</p>",
            "default" : "KOMEGASST",
            "enum" : [ "SMAGORINSKY", "SPALARTALLMARAS", "NONE", "KEPSILON", "KOMEGASST" ]
          },
          "timeDependency" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_ConvectiveHeatTransferTimeDependency"
          },
          "enableRadiation" : {
            "title" : "Radiation",
            "type" : "boolean",
            "description" : "Heat transfer through radiation takes place in the form of electromagnetic waves and it can be calculated in the simulation. This phenomenon becomes more important when the temperature differences in the simulation domain are large. <a href='https://www.simscale.com/docs/analysis-types/convective-heat-transfer-analysis/radiation/' target='_blank'>Learn more</a>.",
            "default" : false,
            "x-showWhen" : [ "timeDependency.type == STATIONARY" ]
          },
          "numOfPassiveSpecies" : {
            "title" : "Passive species",
            "maximum" : 10,
            "exclusiveMaximum" : false,
            "minimum" : 0,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "description" : "Select the number of passive species involved in the simulation. Passive species allow you to simulate the transport of a scalar quantity within a fluid flow without affecting it. <a href='https://www.simscale.com/docs/simulation-setup/global-settings/#passive-species' target='_blank'>Learn more</a>.",
            "format" : "int64",
            "default" : 0,
            "enum" : [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ]
          },
          "model" : {
            "$ref" : "#/components/schemas/Simulation.FluidModel"
          },
          "materials" : {
            "$ref" : "#/components/schemas/Simulation.ConvectiveHeatTransferMaterials"
          },
          "initialConditions" : {
            "$ref" : "#/components/schemas/Simulation.FluidInitialConditions"
          },
          "boundaryConditions" : {
            "title" : "Boundary conditions",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.OneOf_ConvectiveHeatTransferBoundaryConditions"
            }
          },
          "advancedConcepts" : {
            "$ref" : "#/components/schemas/Simulation.AdvancedConcepts"
          },
          "numerics" : {
            "$ref" : "#/components/schemas/Simulation.FluidNumerics"
          },
          "simulationControl" : {
            "$ref" : "#/components/schemas/Simulation.FluidSimulationControl"
          },
          "resultControl" : {
            "$ref" : "#/components/schemas/Simulation.FluidResultControls"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.ConvectiveHeatTransferMaterials" : {
        "type" : "object",
        "properties" : {
          "fluids" : {
            "title" : "Materials",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.OneOf_ConvectiveHeatTransferMaterialsFluids"
            }
          }
        },
        "additionalProperties" : false
      },
      "Simulation.NaturalConvectionInletOutletBC" : {
        "title" : "Natural convection inlet/outlet",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "<p>This boundary condition is suitable for an <b>open boundary</b> where the air can enter or exit freely from or to the <b>atmosphere<b>. <a href='https://www.simscale.com/docs/simulation-setup/boundary-conditions/natural-convection-inlet-outlet/' target='_blank'>Learn more</a>.</P>\n\nSchema name: NaturalConvectionInletOutletBC",
            "default" : "NATURAL_CONVECTION_INLET_OUTLET"
          },
          "name" : {
            "title" : "Name",
            "type" : "string",
            "x-showWhen" : [ "1# != externalFlowBoundaryCondition" ]
          },
          "pressureRgh" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_NaturalConvectionInletOutletBCPressureRgh"
          },
          "gaugePressureRgh" : {
            "$ref" : "#/components/schemas/Simulation.AmbientPBC"
          },
          "turbulence" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_NaturalConvectionInletOutletBCTurbulence"
          },
          "temperature" : {
            "$ref" : "#/components/schemas/Simulation.AmbientTBC"
          },
          "passiveScalars" : {
            "title" : "Passive scalars",
            "type" : "array",
            "description" : "Please choose a boundary condition for passive scalar (T).",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.InletOutletPSBC"
            },
            "x-showWhen" : [ "type == CONVECTIVE_HEAT_TRANSFER && numOfPassiveSpecies > 0", "type == COUPLED_CONJUGATE_HEAT_TRANSFER && numOfPassiveSpecies > 0", "type == EMBEDDED_BOUNDARY && numOfPassiveSpecies > 0" ]
          },
          "netRadiativeHeatFlux" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_NaturalConvectionInletOutletBCNetRadiativeHeatFlux"
          },
          "radiativeIntensityRay" : {
            "$ref" : "#/components/schemas/Simulation.OpenBoundaryRayBC"
          },
          "relativeHumidity" : {
            "$ref" : "#/components/schemas/Simulation.InletOutletRHBC"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          }
        },
        "additionalProperties" : false,
        "description" : "<p>This boundary condition is suitable for an <b>open boundary</b> where the air can enter or exit freely from or to the <b>atmosphere<b>. <a href='https://www.simscale.com/docs/simulation-setup/boundary-conditions/natural-convection-inlet-outlet/' target='_blank'>Learn more</a>.</P>"
      },
      "Simulation.AmbientPBC" : {
        "title" : "Fixed pressure value",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: AmbientPBC",
            "default" : "AMBIENT_PRESSURE"
          },
          "ambientPressure" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Pressure"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.CoupledConjugateHeatTransfer" : {
        "title" : "Conjugate Heat Transfer",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: CoupledConjugateHeatTransfer",
            "default" : "COUPLED_CONJUGATE_HEAT_TRANSFER"
          },
          "isCompressible" : {
            "title" : "Compressible",
            "type" : "boolean",
            "description" : "<ul><li>Toggle off <em>Compressible</em> for small temperature variations within the domain, for example, in natural convection simulations (Boussinesq approximation). Use Gauge pressure (0 Pa). </li><li>Toggle on <em>Compressible</em> to calculate resulting density variations within the domain based on pressure and temperature. Use Absolute pressure (for example, 101325 Pa at sea level)</li></ul>",
            "default" : false
          },
          "enableRadiation" : {
            "title" : "Radiation",
            "type" : "boolean",
            "description" : "Heat transfer through radiation takes place in the form of electromagnetic waves and it can be calculated in the simulation. This phenomenon becomes more important when the temperature differences in the simulation domain are large. <a href='https://www.simscale.com/docs/analysis-types/convective-heat-transfer-analysis/radiation/' target='_blank'>Learn more</a>.",
            "default" : false
          },
          "radiationModel" : {
            "title" : "Radiation model",
            "type" : "string",
            "description" : "Choose a radiation model:<ul><li> Use the <strong>Discrete Ordinates</strong> model for steady-state cases with complex surfaces or semi-transparent solids.</li><li> Use the <strong>View Factors</strong> model for faster simulations of less complex geometries; it is suitable for both steady-state and transient cases. <strong>Transparent solids are not supported with this model.</strong></li></ul>",
            "default" : "FV_DOM",
            "enum" : [ "FV_DOM", "VIEW_FACTORS" ],
            "x-showWhen" : [ "enableRadiation == true" ]
          },
          "enableSolarLoad" : {
            "title" : "Solar load",
            "type" : "boolean",
            "description" : "Enables the <b>solar load</b> model in the simulation. <b>Diffuse</b> and/or <b>directional</b> solar load contributions are specified in the <b>solar calculator</b>. The solar load terms will heat the external faces of the simulation domain. Moreover, if transparent and/or semi-transparent boundaries are present, internal surfaces of the domain might also be heated. All <b>internal solids</b> will be considered <b>opaque</b>. <a href='https://www.simscale.com/docs/analysis-types/conjugate-heat-transfer-analysis/solar-load/' target='_blank'>Learn more</a>.",
            "default" : false
          },
          "enableHumidityModel" : {
            "title" : "Relative humidity",
            "type" : "boolean",
            "description" : "<b>Humidity model</b> to simulate wet air. First turn on the <em>compressible</em> toggle to enable it. The simulation will take the effect of humid air on the flow field into account. Dry air is heavier than wet air and hence sinks. The model does not account for condensation and evaporation and is not applicable in cases where this is of concern, for example dehumidifiers. It is suitable for HVAC analysis and for temperature ranges of <b>0° to 100°C</b>. </li></ul></p><a href= https://www.simscale.com/docs/simulation-setup/global-settings/humidity-modeling/' target='_blank'>Learn more</a>.",
            "default" : false,
            "x-conditionalEnum" : [ {
              "value" : true,
              "when" : [ "isCompressible == true" ]
            }, {
              "value" : false,
              "when" : [ "isCompressible == false" ]
            }, {
              "value" : false,
              "when" : [ "isCompressible == true" ]
            } ]
          },
          "enableJouleHeating" : {
            "title" : "Joule heating",
            "type" : "boolean",
            "description" : "Enabling <b>Joule heating</b> gives you the possibility to solve a coupled electric conduction and conjugate heat transfer problem in a single simulation.",
            "default" : false
          },
          "turbulenceModel" : {
            "title" : "Turbulence model",
            "type" : "string",
            "description" : "Choose a turbulence model for your CFD analysis:<ul><li><strong>No turbulence</strong>: Laminar</li><li><strong>RANS</strong>: <a href='https://www.simscale.com/docs/simulation-setup/global-settings/k-omega-sst/' target='_blank'>k-omega SST</a> ,<a href='https://www.simscale.com/docs/simulation-setup/global-settings/k-epsilon/#standard-k-epsilon-model' target='_blank'>k-epsilon</a></p>",
            "default" : "KOMEGASST",
            "enum" : [ "NONE", "KEPSILON", "KOMEGASST" ]
          },
          "timeDependency" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_CoupledConjugateHeatTransferTimeDependency"
          },
          "numOfPassiveSpecies" : {
            "title" : "Passive species",
            "maximum" : 9,
            "exclusiveMaximum" : false,
            "minimum" : 0,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "description" : "Select the number of passive species involved in the simulation. Passive species allow you to simulate the transport of a scalar quantity within a fluid flow without affecting it. <a href='https://www.simscale.com/docs/simulation-setup/global-settings/#passive-species' target='_blank'>Learn more</a>.",
            "format" : "int64",
            "default" : 0,
            "enum" : [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 ]
          },
          "connectionGroups" : {
            "title" : "Connection groups",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.FluidInterface"
            }
          },
          "model" : {
            "$ref" : "#/components/schemas/Simulation.FluidModel"
          },
          "solarCalculator" : {
            "$ref" : "#/components/schemas/Simulation.SolarCalculator"
          },
          "materials" : {
            "$ref" : "#/components/schemas/Simulation.CoupledConjugateHeatTransferMaterials"
          },
          "initialConditions" : {
            "$ref" : "#/components/schemas/Simulation.FluidInitialConditions"
          },
          "boundaryConditions" : {
            "title" : "Boundary conditions",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.OneOf_CoupledConjugateHeatTransferBoundaryConditions"
            }
          },
          "advancedConcepts" : {
            "$ref" : "#/components/schemas/Simulation.AdvancedConcepts"
          },
          "numerics" : {
            "$ref" : "#/components/schemas/Simulation.FluidNumerics"
          },
          "simulationControl" : {
            "$ref" : "#/components/schemas/Simulation.FluidSimulationControl"
          },
          "resultControl" : {
            "$ref" : "#/components/schemas/Simulation.FluidResultControls"
          },
          "contactHandlingMode" : {
            "title" : "Contact handling mode",
            "type" : "string",
            "default" : "MANUAL",
            "enum" : [ "MANUAL", "AUTO" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.FluidInterface" : {
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: FluidInterface",
            "default" : "FLUID_INTERFACE"
          },
          "connections" : {
            "title" : "Contacts",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.RegionInterface"
            }
          }
        },
        "additionalProperties" : false
      },
      "Simulation.RegionInterface" : {
        "title" : "Standard interface",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: RegionInterface",
            "default" : "REGION_INTERFACE"
          },
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "interfaceThermal" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_RegionInterfaceInterfaceThermal"
          },
          "masterTopologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          },
          "slaveTopologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          },
          "isPartial" : {
            "title" : "Is partial",
            "type" : "boolean",
            "default" : false
          },
          "customModified" : {
            "title" : "Custom modified",
            "type" : "boolean",
            "default" : false
          }
        },
        "additionalProperties" : false
      },
      "Simulation.CoupledInterfaceThermal" : {
        "title" : "Coupled interface",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: CoupledInterfaceThermal",
            "default" : "COUPLED"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.AdiabaticInterfaceThermal" : {
        "title" : "Adiabatic interface",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: AdiabaticInterfaceThermal",
            "default" : "ADIABATIC"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.SolarCalculator" : {
        "type" : "object",
        "properties" : {
          "sunDirection" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_SolarCalculatorSunDirection"
          },
          "solarLoad" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_SolarCalculatorSolarLoad"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.TimeAndPlaceSunDirection" : {
        "title" : "Time and place",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: TimeAndPlaceSunDirection",
            "default" : "TIME_AND_PLACE"
          },
          "northAngle" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Angle"
          },
          "geographicalLocation" : {
            "$ref" : "#/components/schemas/Simulation.GeographicalLocation"
          },
          "localDateTime" : {
            "title" : "Date and time",
            "type" : "string",
            "format" : "datetime-local"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.CustomSunDirection" : {
        "title" : "Custom",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: CustomSunDirection",
            "default" : "CUSTOM_SOLAR_DIRECTION"
          },
          "sunDirectionVector" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalVector_Length"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.CustomSolarLoad" : {
        "title" : "Custom",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: CustomSolarLoad",
            "default" : "CUSTOM_SOLAR_LOAD"
          },
          "directSolarLoad" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_HeatFlux"
          },
          "diffuseSolarLoad" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_HeatFlux"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.FairWeatherConditions" : {
        "title" : "Fair Weather Conditions",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: FairWeatherConditions",
            "default" : "FAIR_WEATHER_CONDITIONS"
          },
          "skyCloudCoverFraction" : {
            "title" : "Sky cloud cover fraction",
            "maximum" : 1.0,
            "exclusiveMaximum" : false,
            "minimum" : 0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "default" : 0
          },
          "groundReflectivity" : {
            "title" : "Ground reflectivity",
            "maximum" : 1.0,
            "exclusiveMaximum" : false,
            "minimum" : 0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "default" : 0.2
          },
          "apparentSolarIrradiation" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_HeatFlux"
          },
          "atmosphericExtinctionCoefficient" : {
            "title" : "Atmospheric extinction",
            "minimum" : 0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "description" : "Atmospheric extinction coefficient (B)",
            "default" : 0.142
          },
          "diffuseRadiationFactor" : {
            "title" : "Diffuse radiation factor",
            "maximum" : 1,
            "exclusiveMaximum" : false,
            "minimum" : 0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "description" : "Diffuse radiation factor (C)",
            "default" : 0.058
          }
        },
        "additionalProperties" : false
      },
      "Simulation.CoupledConjugateHeatTransferMaterials" : {
        "type" : "object",
        "properties" : {
          "fluids" : {
            "title" : "Fluid",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.OneOf_CoupledConjugateHeatTransferMaterialsFluids"
            }
          },
          "solids" : {
            "title" : "Solids",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.SolidCompressibleMaterial"
            }
          }
        },
        "additionalProperties" : false
      },
      "Simulation.EmbeddedBoundary" : {
        "title" : "Conjugate Heat Transfer (IBM)",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: EmbeddedBoundary",
            "default" : "EMBEDDED_BOUNDARY"
          },
          "allowExternalFlow" : {
            "title" : "External flow",
            "type" : "boolean",
            "description" : "This toggle allows you to create an additional external fluid domain via a Cartesian box. Enable this toggle if you want to simulate for example natural convection around your system and the external flow domain is not represented in your CAD model as a solid body.",
            "default" : false
          },
          "model" : {
            "$ref" : "#/components/schemas/Simulation.FluidModel"
          },
          "solarCalculator" : {
            "$ref" : "#/components/schemas/Simulation.SolarCalculator"
          },
          "materials" : {
            "$ref" : "#/components/schemas/Simulation.CoupledConjugateHeatTransferMaterials"
          },
          "initialConditions" : {
            "$ref" : "#/components/schemas/Simulation.FluidInitialConditions"
          },
          "externalFlowBoundaryCondition" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_EmbeddedBoundaryExternalFlowBoundaryCondition"
          },
          "boundaryConditions" : {
            "title" : "Boundary conditions",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.OneOf_EmbeddedBoundaryBoundaryConditions"
            }
          },
          "advancedConcepts" : {
            "$ref" : "#/components/schemas/Simulation.AdvancedConcepts"
          },
          "numerics" : {
            "$ref" : "#/components/schemas/Simulation.FluidNumerics"
          },
          "simulationControl" : {
            "$ref" : "#/components/schemas/Simulation.FluidSimulationControl"
          },
          "resultControl" : {
            "$ref" : "#/components/schemas/Simulation.FluidResultControls"
          },
          "embeddedBoundaryMeshing" : {
            "$ref" : "#/components/schemas/Simulation.EmbeddedBoundaryMeshing"
          },
          "isCompressible" : {
            "title" : "Compressible",
            "type" : "boolean",
            "description" : "<ul><li>Toggle off <em>Compressible</em> for small temperature variations within the domain, for example, in natural convection simulations (Boussinesq approximation). Use Gauge pressure (0 Pa). </li><li>Toggle on <em>Compressible</em> to calculate resulting density variations within the domain based on pressure and temperature. Use Absolute pressure (for example, 101325 Pa at sea level)</li></ul>",
            "default" : false
          },
          "enableRadiation" : {
            "title" : "Radiation",
            "type" : "boolean",
            "description" : "Heat transfer through radiation takes place in the form of electromagnetic waves and it can be calculated in the simulation. This phenomenon becomes more important when the temperature differences in the simulation domain are large. <a href='https://www.simscale.com/docs/analysis-types/convective-heat-transfer-analysis/radiation/' target='_blank'>Learn more</a>.",
            "default" : false
          },
          "enableSolarLoad" : {
            "title" : "Solar load",
            "type" : "boolean",
            "description" : "Enables the <b>solar load</b> model in the simulation. <b>Diffuse</b> and/or <b>directional</b> solar load contributions are specified in the <b>solar calculator</b>. The solar load terms will heat the external faces of the simulation domain. Moreover, if transparent and/or semi-transparent boundaries are present, internal surfaces of the domain might also be heated. All <b>internal solids</b> will be considered <b>opaque</b>. <a href='https://www.simscale.com/docs/analysis-types/conjugate-heat-transfer-analysis/solar-load/' target='_blank'>Learn more</a>.",
            "default" : false
          },
          "enableHumidityModel" : {
            "title" : "Relative humidity",
            "type" : "boolean",
            "description" : "<b>Humidity model</b> to simulate wet air. First turn on the <em>compressible</em> toggle to enable it. The simulation will take the effect of humid air on the flow field into account. Dry air is heavier than wet air and hence sinks. The model does not account for condensation and evaporation and is not applicable in cases where this is of concern, for example dehumidifiers. It is suitable for HVAC analysis and for temperature ranges of <b>0° to 100°C</b>. </li></ul></p><a href= https://www.simscale.com/docs/simulation-setup/global-settings/humidity-modeling/' target='_blank'>Learn more</a>.",
            "default" : false,
            "x-conditionalEnum" : [ {
              "value" : true,
              "when" : [ "isCompressible == true" ]
            }, {
              "value" : false,
              "when" : [ "isCompressible == false" ]
            }, {
              "value" : false,
              "when" : [ "isCompressible == true" ]
            } ]
          },
          "enableJouleHeating" : {
            "title" : "Joule heating",
            "type" : "boolean",
            "description" : "Enabling <b>Joule heating</b> gives you the possibility to solve a coupled electric conduction and conjugate heat transfer problem in a single simulation.",
            "default" : false
          },
          "turbulenceModel" : {
            "title" : "Turbulence model",
            "type" : "string",
            "description" : "Choose a turbulence model for your CFD analysis:<ul><li><strong>No turbulence</strong>: Laminar</li><li><strong>RANS</strong>: <a href='https://www.simscale.com/docs/simulation-setup/global-settings/k-omega-sst/' target='_blank'>k-omega SST</a> ,<a href='https://www.simscale.com/docs/simulation-setup/global-settings/k-epsilon/#standard-k-epsilon-model' target='_blank'>k-epsilon</a></p>",
            "default" : "KOMEGASST",
            "enum" : [ "NONE", "KOMEGASST" ]
          },
          "timeDependency" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_EmbeddedBoundaryTimeDependency"
          },
          "numOfPassiveSpecies" : {
            "title" : "Passive species",
            "maximum" : 9,
            "exclusiveMaximum" : false,
            "minimum" : 0,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "description" : "Select the number of passive species involved in the simulation. Passive species allow you to simulate the transport of a scalar quantity within a fluid flow without affecting it. <a href='https://www.simscale.com/docs/simulation-setup/global-settings/#passive-species' target='_blank'>Learn more</a>.",
            "format" : "int64",
            "default" : 0,
            "enum" : [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.EmbeddedBoundaryMeshing" : {
        "type" : "object",
        "properties" : {
          "sizing" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_EmbeddedBoundaryMeshingSizing"
          },
          "numberOfBufferCells" : {
            "title" : "Number of buffer cells",
            "maximum" : 10.0,
            "exclusiveMaximum" : false,
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "description" : "Target number of cells for every cell size level. Higher number of buffer cells ensure smoother cell size transitions, which results in better accuracy but bigger computation costs. On the other hand, lower number of buffer cells will result in smaller computation costs but worse accuracy. <img src=\"/spec/resources/help/imgs/buffer_cells.png\" class=\"helpPopupImage\"/>",
            "default" : 4.0
          },
          "refinements" : {
            "title" : "Refinements",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.OneOf_EmbeddedBoundaryMeshingRefinements"
            }
          }
        },
        "additionalProperties" : false
      },
      "Simulation.AutomaticEmbeddedBoundaryMeshSizing" : {
        "title" : "Automatic",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: AutomaticEmbeddedBoundaryMeshSizing",
            "default" : "AUTOMATIC_EBM_MESH_SIZING"
          },
          "fineness" : {
            "title" : "Fineness",
            "maximum" : 10.0,
            "exclusiveMaximum" : false,
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "description" : "<p>This parameter determines the <b>fineness of the mesh</b> and affects the overall number of cells.</p><p><b>Note:</b> This setting will impact the accuracy of your results as well as computing time and result size. A finer mesh will be more demanding in terms of machine size and memory but lead to more accurate results.</p>",
            "default" : 5.0,
            "x-parametricFieldOptions" : {
              "maxNumOfValues" : 40,
              "enableValueGeneration" : false
            }
          },
          "physicsBasedMeshingIBM" : {
            "title" : "Physics-based meshing",
            "type" : "boolean",
            "description" : "<b>Physics-based meshing</b> takes setup information into account to size the immersed mesh accordingly. Users can expect automatic refinements applied to the following: </p><ul><li><p><b>Boundary faces</b>: All of those which belong to a boundary condition.</p></li> <li><p><b>Advanced concepts</b>: Power and momentum sources, porous regions and thermal resistance networks.</p></li></ul>",
            "default" : true
          }
        },
        "additionalProperties" : false
      },
      "Simulation.ManualEmbeddedBoundaryMeshSizing" : {
        "title" : "Manual",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: ManualEmbeddedBoundaryMeshSizing",
            "default" : "MANUAL_EBM_MESH_SIZING"
          },
          "maximumEdgeLength" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Length"
          },
          "minimumEdgeLength" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Length"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.CustomEmbeddedBoundaryMeshSizing" : {
        "title" : "Custom",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: CustomEmbeddedBoundaryMeshSizing",
            "default" : "CUSTOM_EBM_MESH_SIZING"
          },
          "numCellsPerDirection" : {
            "$ref" : "#/components/schemas/Simulation.NumberOfCellsPerDirection"
          },
          "numRefinementLevels" : {
            "title" : "Number of refinement levels",
            "maximum" : 7,
            "exclusiveMaximum" : false,
            "minimum" : 0,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "description" : "Number of refinement levels to refine in the vicinity of all CAD surfaces.",
            "default" : 3,
            "x-divisibleBy" : 1
          }
        },
        "additionalProperties" : false
      },
      "Simulation.NumberOfCellsPerDirection" : {
        "title" : "Number of cells",
        "type" : "object",
        "properties" : {
          "x" : {
            "title" : "X",
            "maximum" : 600,
            "exclusiveMaximum" : false,
            "minimum" : 10,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "default" : 40
          },
          "y" : {
            "title" : "Y",
            "maximum" : 600,
            "exclusiveMaximum" : false,
            "minimum" : 10,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "default" : 40
          },
          "z" : {
            "title" : "Z",
            "maximum" : 600,
            "exclusiveMaximum" : false,
            "minimum" : 10,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "default" : 40
          }
        },
        "additionalProperties" : false
      },
      "Simulation.RegionRefinementEBM" : {
        "title" : "Region refinement",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: RegionRefinementEBM",
            "default" : "REGION_REFINEMENT_EBM"
          },
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "refinement" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_RegionRefinementEBMRefinement"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          },
          "geometryPrimitiveUuids" : {
            "title" : "Geometry primitives",
            "type" : "array",
            "items" : {
              "type" : "string",
              "format" : "uuid"
            },
            "x-referencedPrimitivesOptions" : {
              "allowMultiple" : true,
              "pathToPrimitives" : "geometryPrimitives",
              "allowedReferencedPrimitiveTypes" : [ "CARTESIAN_BOX", "CYLINDER", "SPHERE" ]
            }
          }
        },
        "additionalProperties" : false
      },
      "Simulation.InsideRegionRefinementWithLength" : {
        "title" : "Inside",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: InsideRegionRefinementWithLength",
            "default" : "INSIDE"
          },
          "length" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Length"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.DistanceRegionRefinementWithLength" : {
        "title" : "Distance",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: DistanceRegionRefinementWithLength",
            "default" : "DISTANCE"
          },
          "distanceRefinementLengths" : {
            "title" : "Distance refinement lengths",
            "type" : "array",
            "description" : "Define mesh element sizes inside and around the selected volumes. Each row specifies how the mesh size changes with the distance from the volume boundary: <b>Distance [m]</b> is the distance from the closest point on the boundary, <b>Default size [m]</b> is the target element size at that distance, and <b>Min. size [m]</b> is the smallest allowed element size. Distances must be specified in <u>increasing order</u> (e.g. d1 = 0 m, default = 1e-3 m, min = 5e-4 m; d2 = 0.5 m, default = 3e-3 m, min = 1e-3 m). When <b>Distance = 0</b>, the sizes apply <b>inside</b> the selected volume, and larger distances control how the mesh transitions <b>outside</b> it in all directions.",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.RefinementLength"
            },
            "default" : [ {
              "distance" : {
                "value" : 0,
                "unit" : "m"
              },
              "length" : {
                "value" : 1,
                "unit" : "m"
              }
            } ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.RefinementLength" : {
        "type" : "object",
        "properties" : {
          "distance" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Length"
          },
          "length" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Length"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.LocalElementSizeEBM" : {
        "title" : "Local element size",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: LocalElementSizeEBM",
            "default" : "LOCAL_SIZING_EBM"
          },
          "name" : {
            "title" : "Name",
            "type" : "string",
            "default" : "Local element size"
          },
          "maxElementSize" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Length"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.Multiphase" : {
        "title" : "Multiphase",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: Multiphase",
            "default" : "MULTIPHASE"
          },
          "useLocalTimeStepping" : {
            "title" : "Use local time stepping",
            "type" : "boolean",
            "description" : "With the <i>Local time stepping</i> option enabled, it’s possible to accelerate the simulation towards a steady-state. As a result, faster computing times and smaller result data size. Commonly used in ship hull resistance analysis.",
            "default" : false
          },
          "turbulenceModel" : {
            "title" : "Turbulence model",
            "type" : "string",
            "description" : "Choose a turbulence model for your CFD analysis:<ul><li><strong>No turbulence</strong>: Laminar</li><li><strong>RANS</strong>: <a href='https://www.simscale.com/docs/simulation-setup/global-settings/k-epsilon/#standard-k-epsilon-model' target='_blank'>k-epsilon</a>, <a href='https://www.simscale.com/docs/simulation-setup/global-settings/k-epsilon/#realizable-k-epsilon-model' target='_blank'>Realizable k-epsilon</a>, <a href='https://www.simscale.com/docs/simulation-setup/global-settings/k-omega-sst/' target='_blank'>k-omega and k-omega SST</a></li><li><strong>LES</strong>: Smagorinsky, Spalart-Allmaras</li></ul><p><p><a href='https://www.simscale.com/blog/2017/12/turbulence-cfd-analysis/' target='_blank'>Learn more</a>.</p>",
            "default" : "KOMEGASST",
            "enum" : [ "SMAGORINSKY", "SPALARTALLMARAS", "NONE", "KEPSILON", "KOMEGA", "KOMEGASST" ]
          },
          "model" : {
            "$ref" : "#/components/schemas/Simulation.FluidModel"
          },
          "materials" : {
            "$ref" : "#/components/schemas/Simulation.IncompressibleFluidMaterials"
          },
          "initialConditions" : {
            "$ref" : "#/components/schemas/Simulation.FluidInitialConditions"
          },
          "boundaryConditions" : {
            "title" : "Boundary conditions",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.OneOf_MultiphaseBoundaryConditions"
            }
          },
          "advancedConcepts" : {
            "$ref" : "#/components/schemas/Simulation.AdvancedConcepts"
          },
          "numerics" : {
            "$ref" : "#/components/schemas/Simulation.FluidNumerics"
          },
          "simulationControl" : {
            "$ref" : "#/components/schemas/Simulation.FluidSimulationControl"
          },
          "resultControl" : {
            "$ref" : "#/components/schemas/Simulation.FluidResultControls"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.ConjugateHeatTransfer" : {
        "title" : "Conjugate Heat Transfer (legacy)",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: ConjugateHeatTransfer",
            "default" : "CONJUGATE_HEAT_TRANSFER"
          },
          "turbulenceModel" : {
            "title" : "Turbulence model",
            "type" : "string",
            "description" : "Choose a turbulence model for your CFD analysis:<ul><li><strong>No turbulence</strong>: Laminar</li><li><strong>RANS</strong>: <a href='https://www.simscale.com/docs/simulation-setup/global-settings/k-epsilon/#standard-k-epsilon-model' target='_blank'>k-epsilon</a>, <a href='https://www.simscale.com/docs/simulation-setup/global-settings/k-epsilon/#realizable-k-epsilon-model' target='_blank'>Realizable k-epsilon</a>, <a href='https://www.simscale.com/docs/simulation-setup/global-settings/k-omega-sst/' target='_blank'>k-omega and k-omega SST</a></li><li><strong>LES</strong>: Smagorinsky, Spalart-Allmaras</li></ul><p><p><a href='https://www.simscale.com/blog/2017/12/turbulence-cfd-analysis/' target='_blank'>Learn more</a>.</p>",
            "default" : "KOMEGASST",
            "enum" : [ "SMAGORINSKY", "NONE", "KEPSILON", "KOMEGASST" ]
          },
          "timeDependency" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_ConjugateHeatTransferTimeDependency"
          },
          "enableRadiation" : {
            "title" : "Radiation",
            "type" : "boolean",
            "description" : "Heat transfer through radiation takes place in the form of electromagnetic waves and it can be calculated in the simulation. This phenomenon becomes more important when the temperature differences in the simulation domain are large. <a href='https://www.simscale.com/docs/analysis-types/convective-heat-transfer-analysis/radiation/' target='_blank'>Learn more</a>.",
            "default" : false,
            "x-showWhen" : [ "timeDependency.type == STATIONARY" ]
          },
          "connectionGroups" : {
            "title" : "Connection groups",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.FluidInterface"
            }
          },
          "model" : {
            "$ref" : "#/components/schemas/Simulation.FluidModel"
          },
          "materials" : {
            "$ref" : "#/components/schemas/Simulation.ConjugateHeatTransferMaterials"
          },
          "initialConditions" : {
            "$ref" : "#/components/schemas/Simulation.FluidInitialConditions"
          },
          "boundaryConditions" : {
            "title" : "Boundary conditions",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.OneOf_ConjugateHeatTransferBoundaryConditions"
            }
          },
          "advancedConcepts" : {
            "$ref" : "#/components/schemas/Simulation.AdvancedConcepts"
          },
          "numerics" : {
            "$ref" : "#/components/schemas/Simulation.FluidNumerics"
          },
          "simulationControl" : {
            "$ref" : "#/components/schemas/Simulation.FluidSimulationControl"
          },
          "resultControl" : {
            "$ref" : "#/components/schemas/Simulation.FluidResultControls"
          },
          "contactHandlingMode" : {
            "title" : "Contact handling mode",
            "type" : "string",
            "default" : "MANUAL",
            "enum" : [ "MANUAL", "AUTO" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.ConjugateHeatTransferMaterials" : {
        "type" : "object",
        "properties" : {
          "fluids" : {
            "title" : "Fluids",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.FluidCompressibleMaterial"
            }
          },
          "solids" : {
            "title" : "Solids",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.SolidCompressibleMaterial"
            }
          }
        },
        "additionalProperties" : false
      },
      "Simulation.HarmonicAnalysis" : {
        "title" : "Harmonic",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: HarmonicAnalysis",
            "default" : "HARMONIC_ANALYSIS"
          },
          "connectionGroups" : {
            "title" : "Connection groups",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.Contact"
            }
          },
          "connectors" : {
            "title" : "Connectors",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.OneOf_HarmonicAnalysisConnectors"
            }
          },
          "elementTechnology" : {
            "$ref" : "#/components/schemas/Simulation.SolidElementTechnology"
          },
          "globalPhysics" : {
            "$ref" : "#/components/schemas/Simulation.SolidGlobalPhysics"
          },
          "model" : {
            "$ref" : "#/components/schemas/Simulation.SolidModel"
          },
          "materials" : {
            "title" : "Materials",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.SolidMaterial"
            }
          },
          "initialConditions" : {
            "$ref" : "#/components/schemas/Simulation.SolidInitialConditions"
          },
          "boundaryConditions" : {
            "title" : "Boundary conditions",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.OneOf_HarmonicAnalysisBoundaryConditions"
            }
          },
          "numerics" : {
            "$ref" : "#/components/schemas/Simulation.SolidNumerics"
          },
          "simulationControl" : {
            "$ref" : "#/components/schemas/Simulation.SolidSimulationControl"
          },
          "resultControl" : {
            "$ref" : "#/components/schemas/Simulation.SolidResultControl"
          },
          "meshOrder" : {
            "title" : "Mesh order",
            "type" : "string",
            "default" : "NONE",
            "enum" : [ "FIRST", "SECOND", "NONE" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.SolidGlobalPhysics" : {
        "type" : "object",
        "properties" : {
          "enableGlobalDamping" : {
            "title" : "Enable global damping",
            "type" : "boolean",
            "description" : "Apply a constant level of damping to all parts that do not have a specified material damping behavior.",
            "default" : false,
            "x-showWhen" : [ "type == HARMONIC_ANALYSIS" ]
          },
          "dampingLevel" : {
            "title" : "Damping level (%)",
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "description" : "Specify the level of damping to be applied globally as a percentage of critical damping.",
            "default" : 1.0,
            "x-showWhen" : [ "1/enableGlobalDamping == true" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.BaseExcitationBC" : {
        "title" : "Base excitation",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "<p><b>Base excitation</b> boundary condition applies a uniform acceleration to all fixed surfaces in the model (zero displacement), e.g. faces assigned to the <i>Fixed support</i> boundary condition. Specify the direction vector, the acceleration magnitude and the delay in terms of a harmonic phase angle, from the load to the reference harmonic excitation.<a href='https://www.simscale.com/docs/simulation-setup/boundary-conditions/base-excitation/' target='_blank'>Learn more</a></p>\n\nSchema name: BaseExcitationBC",
            "default" : "BASE_EXCITATION"
          },
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "direction" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalVector_Dimensionless"
          },
          "acceleration" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_Acceleration"
          },
          "phaseAngle" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Angle"
          }
        },
        "additionalProperties" : false,
        "description" : "<p><b>Base excitation</b> boundary condition applies a uniform acceleration to all fixed surfaces in the model (zero displacement), e.g. faces assigned to the <i>Fixed support</i> boundary condition. Specify the direction vector, the acceleration magnitude and the delay in terms of a harmonic phase angle, from the load to the reference harmonic excitation.<a href='https://www.simscale.com/docs/simulation-setup/boundary-conditions/base-excitation/' target='_blank'>Learn more</a></p>"
      },
      "Simulation.FrequencyAnalysis" : {
        "title" : "Frequency Analysis",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: FrequencyAnalysis",
            "default" : "FREQUENCY_ANALYSIS"
          },
          "connectionGroups" : {
            "title" : "Connection groups",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.Contact"
            }
          },
          "connectors" : {
            "title" : "Connectors",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.OneOf_FrequencyAnalysisConnectors"
            }
          },
          "elementTechnology" : {
            "$ref" : "#/components/schemas/Simulation.SolidElementTechnology"
          },
          "model" : {
            "$ref" : "#/components/schemas/Simulation.SolidModel"
          },
          "materials" : {
            "title" : "Materials",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.SolidMaterial"
            }
          },
          "initialConditions" : {
            "$ref" : "#/components/schemas/Simulation.SolidInitialConditions"
          },
          "boundaryConditions" : {
            "title" : "Boundary conditions",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.OneOf_FrequencyAnalysisBoundaryConditions"
            }
          },
          "numerics" : {
            "$ref" : "#/components/schemas/Simulation.SolidNumerics"
          },
          "simulationControl" : {
            "$ref" : "#/components/schemas/Simulation.SolidSimulationControl"
          },
          "resultControl" : {
            "$ref" : "#/components/schemas/Simulation.SolidResultControl"
          },
          "meshOrder" : {
            "title" : "Mesh order",
            "type" : "string",
            "default" : "FIRST",
            "enum" : [ "FIRST", "SECOND", "NONE" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.ElectromagneticAnalysis" : {
        "title" : "Electromagnetics",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: ElectromagneticAnalysis",
            "default" : "ELECTROMAGNETIC_ANALYSIS"
          },
          "model" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_ElectromagneticAnalysisModel"
          },
          "materials" : {
            "title" : "Materials",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.ElectromagneticMaterial"
            }
          },
          "initialConditions" : {
            "$ref" : "#/components/schemas/Simulation.ElectromagneticInitialConditions"
          },
          "coils" : {
            "title" : "Coils",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.Coil"
            },
            "x-showWhen" : [ "model.type in [MAGNETOSTATICS,TIME_HARMONIC_MAGNETICS,TIME_TRANSIENT_MAGNETICS,TIME_HARMONIC_ELECTRICS]" ]
          },
          "boundaryConditions" : {
            "title" : "Boundary conditions",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.OneOf_ElectromagneticAnalysisBoundaryConditions"
            }
          },
          "advancedConcepts" : {
            "$ref" : "#/components/schemas/Simulation.ElectromagneticAdvancedConcepts"
          },
          "resultControl" : {
            "$ref" : "#/components/schemas/Simulation.ElectromagneticResultControl"
          },
          "numerics" : {
            "$ref" : "#/components/schemas/Simulation.ElectromagneticNumerics"
          },
          "simulationControl" : {
            "$ref" : "#/components/schemas/Simulation.ElectromagneticSimulationControl"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.Electrostatics" : {
        "title" : "Electrostatics",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: Electrostatics",
            "default" : "ELECTROSTATICS"
          },
          "breakdown" : {
            "title" : "Breakdown",
            "type" : "boolean",
            "description" : "Enabling allows the specification of the dielectric breakdown voltage for each material and the calculation of the safety factor.",
            "default" : false
          }
        },
        "additionalProperties" : false
      },
      "Simulation.TimeHarmonicElectrics" : {
        "title" : "Time-Harmonic Electrics",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: TimeHarmonicElectrics",
            "default" : "TIME_HARMONIC_ELECTRICS"
          },
          "frequency" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Frequency"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.Magnetostatics" : {
        "title" : "Magnetostatics",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: Magnetostatics",
            "default" : "MAGNETOSTATICS"
          },
          "thermal" : {
            "title" : "Thermal",
            "type" : "boolean",
            "description" : "Coupling with thermal solves for the temperature by considering electromagnetic losses such as Ohmic, hysteric or displacement losses.",
            "default" : false
          }
        },
        "additionalProperties" : false
      },
      "Simulation.TimeHarmonicMagnetics" : {
        "title" : "Time-Harmonic Magnetics",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: TimeHarmonicMagnetics",
            "default" : "TIME_HARMONIC_MAGNETICS"
          },
          "frequency" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Frequency"
          },
          "thermal" : {
            "title" : "Thermal",
            "type" : "boolean",
            "description" : "Coupling with thermal solves for the temperature by considering electromagnetic losses such as Ohmic, hysteric or displacement losses.",
            "default" : false
          },
          "timeDependency" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_TimeHarmonicMagneticsTimeDependency"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.TimeTransientMagnetics" : {
        "title" : "Time-Transient Magnetics",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: TimeTransientMagnetics",
            "default" : "TIME_TRANSIENT_MAGNETICS"
          },
          "thermal" : {
            "title" : "Thermal",
            "type" : "boolean",
            "description" : "Coupling with thermal solves for the temperature by considering electromagnetic losses such as Ohmic, hysteric or displacement losses.",
            "default" : false
          }
        },
        "additionalProperties" : false
      },
      "Simulation.ElectromagneticMaterial" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "materialBehavior" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_ElectromagneticMaterialMaterialBehavior"
          },
          "electricConductivityType" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_ElectromagneticMaterialElectricConductivityType"
          },
          "magneticPermeabilityType" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_ElectromagneticMaterialMagneticPermeabilityType"
          },
          "electricPermittivityType" : {
            "$ref" : "#/components/schemas/Simulation.LinearIsotropicPermittivityMethod"
          },
          "densityType" : {
            "$ref" : "#/components/schemas/Simulation.IsotropicDensityMethod"
          },
          "specificHeatType" : {
            "$ref" : "#/components/schemas/Simulation.IsotropicSpecificHeatMethod"
          },
          "thermalConductivity" : {
            "$ref" : "#/components/schemas/Simulation.IsotropicThermalConductivityMethod"
          },
          "dielectricStrengthType" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_ElectromagneticMaterialDielectricStrengthType"
          },
          "coreLossesType" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_ElectromagneticMaterialCoreLossesType"
          },
          "dielectricLossType" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_ElectromagneticMaterialDielectricLossType"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          },
          "builtInMaterial" : {
            "type" : "string"
          },
          "materialLibraryReference" : {
            "$ref" : "#/components/schemas/Simulation.MaterialLibraryReference"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.SoftMagneticMaterial" : {
        "title" : "Soft Magnetic",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "A soft magnetic material can be easily magnetized and demagnetized. It can be a ferromagnetic material such as iron and non-ferromagnetic material such as copper or air.\n\nSchema name: SoftMagneticMaterial",
            "default" : "SOFT_MAGNETIC"
          }
        },
        "additionalProperties" : false,
        "description" : "A soft magnetic material can be easily magnetized and demagnetized. It can be a ferromagnetic material such as iron and non-ferromagnetic material such as copper or air."
      },
      "Simulation.PermanentMagnetMaterial" : {
        "title" : "Permanent Magnet",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "A permanent magnet retains a significant portion of its magnetization indefinitely, even without an external magnetic field.\n\nSchema name: PermanentMagnetMaterial",
            "default" : "PERMANENT_MAGNET"
          },
          "remanence" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_MagneticFluxDensity"
          },
          "magnetizationDirectionType" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_PermanentMagnetMaterialMagnetizationDirectionType"
          }
        },
        "additionalProperties" : false,
        "description" : "A permanent magnet retains a significant portion of its magnetization indefinitely, even without an external magnetic field."
      },
      "Simulation.Dimensional_MagneticFluxDensity" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "title" : "Value",
            "type" : "number"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "T" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.GlobalCartesianMagnetizationDirectionMethod" : {
        "title" : "Global cartesian",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: GlobalCartesianMagnetizationDirectionMethod",
            "default" : "GLOBAL_CARTESIAN"
          },
          "magnetizationDirection" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalVector_Dimensionless"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.FaceNormalMagnetizationDirectionMethod" : {
        "title" : "Face normal",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: FaceNormalMagnetizationDirectionMethod",
            "default" : "FACE_NORMAL"
          },
          "magnetFaces" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.IsotropicElectricConductivityMethod" : {
        "title" : "Constant",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: IsotropicElectricConductivityMethod",
            "default" : "ISOTROPIC_ELECTRIC_CONDUCTIVITY"
          },
          "electricConductivity" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_ElectricConductivity"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.DimensionalFunction_ElectricConductivity" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_DimensionalFunction_ElectricConductivityValue"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "S/m", "S/in", "µS/cm" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.IsotropicRelativePermeabilityMethod" : {
        "title" : "Constant",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: IsotropicRelativePermeabilityMethod",
            "default" : "ISOTROPIC_RELATIVE_MAGNETIC_PERMEABILITY"
          },
          "relativeMagneticPermeability" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_Dimensionless"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.NonlinearIsotropicPermeability" : {
        "title" : "BH curve",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: NonlinearIsotropicPermeability",
            "default" : "NONLINEAR_ISOTROPIC"
          },
          "bhCurve" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_MagneticFluxDensity"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.DimensionalFunction_MagneticFluxDensity" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_DimensionalFunction_MagneticFluxDensityValue"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "T" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.VariableGroup_MAGNETIC_FIELD_STRENGTH" : {
        "type" : "object",
        "properties" : {
          "H" : {
            "$ref" : "#/components/schemas/Simulation.Unit_MagneticFieldStrength"
          }
        }
      },
      "Simulation.Unit_MagneticFieldStrength" : {
        "type" : "object",
        "properties" : {
          "value" : {
            "title" : "Value",
            "type" : "number"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "A/m", "A/in" ]
          }
        }
      },
      "Simulation.LinearIsotropicPermittivityMethod" : {
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: LinearIsotropicPermittivityMethod",
            "default" : "LINEAR_ISOTROPIC"
          },
          "relativeElectricPermittivity" : {
            "title" : "(ε<r>) Relative electric permittivity",
            "minimum" : 1.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "default" : 1.0
          }
        },
        "additionalProperties" : false
      },
      "Simulation.IsotropicDensityMethod" : {
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: IsotropicDensityMethod",
            "default" : "ISOTROPIC_DENSITY_METHOD"
          },
          "density" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_Density"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.IsotropicSpecificHeatMethod" : {
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: IsotropicSpecificHeatMethod",
            "default" : "ISOTROPIC_SPECIFIC_HEAT_METHOD"
          },
          "specificHeat" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_SpecificHeat"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.IsotropicThermalConductivityMethod" : {
        "title" : "Constant",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: IsotropicThermalConductivityMethod",
            "default" : "ISOTROPIC_THERMAL_CONDUCTIVITY"
          },
          "thermalConductivity" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_ThermalConductivity"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.NoDielectricStrength" : {
        "title" : "None",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: NoDielectricStrength",
            "default" : "NONE"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.IsotropicDielectricStrength" : {
        "title" : "Isotropic",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: IsotropicDielectricStrength",
            "default" : "ISOTROPIC"
          },
          "dielectricStrength" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_ElectricFieldStrength"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.DimensionalFunction_ElectricFieldStrength" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_DimensionalFunction_ElectricFieldStrengthValue"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "V/m", "V/in" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.NoCoreLoss" : {
        "title" : "None",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: NoCoreLoss",
            "default" : "NONE"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.ElectricalSteelCoreLoss" : {
        "title" : "Electrical steel",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: ElectricalSteelCoreLoss",
            "default" : "ELECTRICAL_STEEL"
          },
          "hysteresisLoss" : {
            "title" : "(K<h>) Hysteresis loss",
            "minimum" : 0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "default" : 0.0
          },
          "eddyLoss" : {
            "title" : "(K<c>) Eddy loss",
            "minimum" : 0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "default" : 0.0
          },
          "excessLoss" : {
            "title" : "(K<e>) Excess loss",
            "minimum" : 0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "default" : 0.0
          }
        },
        "additionalProperties" : false
      },
      "Simulation.PowerFerriteCoreLoss" : {
        "title" : "Power ferrite",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: PowerFerriteCoreLoss",
            "default" : "POWER_FERRITE"
          },
          "steinmetzConstant" : {
            "title" : "(k<s>) Steinmetz constant",
            "minimum" : 0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "default" : 0.0
          },
          "frequencyExponent" : {
            "title" : "(α) Frequency exponent",
            "minimum" : 0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "default" : 0.0
          },
          "fluxDensityExponent" : {
            "title" : "(β) Flux density exponent",
            "minimum" : 0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "default" : 0.0
          }
        },
        "additionalProperties" : false
      },
      "Simulation.NoDielectricLosses" : {
        "title" : "No losses",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: NoDielectricLosses",
            "default" : "NONE"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.IsotropicLossTangent" : {
        "title" : "Isotropic loss tangent",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: IsotropicLossTangent",
            "default" : "ISOTROPIC_LOSS_TANGENT"
          },
          "dielectricLossTangent" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_Dimensionless"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.ElectromagneticInitialConditions" : {
        "type" : "object",
        "properties" : {
          "temperature" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalInitialConditionDomains_Temperature"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.Coil" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "topology" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_CoilTopology"
          },
          "coilType" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_CoilCoilType"
          },
          "excitation" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_CoilExcitation"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.OpenCoil" : {
        "title" : "Open",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: OpenCoil",
            "default" : "OPEN_COIL"
          },
          "bodies" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          },
          "entryPort" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          },
          "exitPort" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.ClosedCoil" : {
        "title" : "Closed",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: ClosedCoil",
            "default" : "CLOSED_COIL"
          },
          "bodies" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          },
          "internalPort" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.StrandedCoil" : {
        "title" : "Stranded",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: StrandedCoil",
            "default" : "STRANDED_COIL"
          },
          "numberOfTurns" : {
            "title" : "Number of turns",
            "minimum" : 1,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "description" : "<p>The <strong>Number of Turns</strong> option indicates the number of times the wire is wound around the coil's core to form loops. Each loop is a complete 360-degree winding of the wire around the core.</p>",
            "default" : 1
          },
          "wireDiameter" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Length"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.SolidCoil" : {
        "title" : "Solid",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: SolidCoil",
            "default" : "SOLID_COIL"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.LitzWireCoil" : {
        "title" : "Litz wire",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: LitzWireCoil",
            "default" : "LITZ_WIRE_COIL"
          },
          "strandCrossSectionType" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_LitzWireCoilStrandCrossSectionType"
          },
          "numberOfTurns" : {
            "title" : "Number of turns",
            "minimum" : 1,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "description" : "<p>The <strong>Number of Turns</strong> option indicates the number of times the wire is wound around the coil's core to form loops. Each loop is a complete 360-degree winding of the wire around the core.</p>",
            "default" : 1
          },
          "numberOfStrandsPerTurn" : {
            "title" : "Number of strands per turn",
            "minimum" : 1,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "default" : 1
          }
        },
        "additionalProperties" : false
      },
      "Simulation.Round" : {
        "title" : "Round",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: Round",
            "default" : "ROUND"
          },
          "strandDiameter" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Length"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.Square" : {
        "title" : "Square",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: Square",
            "default" : "SQUARE"
          },
          "strandWidth" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Length"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.CurrentExcitation" : {
        "title" : "Current",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "The total current over all faces\n\nSchema name: CurrentExcitation",
            "default" : "CURRENT_EXCITATION"
          },
          "currentType" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_CurrentExcitationCurrentType"
          },
          "currentRMS" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_ElectricCurrent"
          },
          "currentPhase" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Angle"
          }
        },
        "additionalProperties" : false,
        "description" : "The total current over all faces"
      },
      "Simulation.ElectromagneticCurrentTypeConstant" : {
        "title" : "Constant",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: ElectromagneticCurrentTypeConstant",
            "default" : "CURRENT_TYPE_CONSTANT"
          },
          "value" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_ElectricCurrent"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.Dimensional_ElectricCurrent" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "title" : "Value",
            "type" : "number"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "A" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.ElectromagneticCurrentTypeSinusoidal" : {
        "title" : "Sinusoidal",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: ElectromagneticCurrentTypeSinusoidal",
            "default" : "CURRENT_TYPE_SINUSOIDAL"
          },
          "frequency" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Frequency"
          },
          "amplitude" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_ElectricCurrent"
          },
          "offset" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_ElectricCurrent"
          },
          "timeOffset" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Time"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.ElectromagneticCurrentTypeTable" : {
        "title" : "Table",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: ElectromagneticCurrentTypeTable",
            "default" : "CURRENT_TYPE_TABLE"
          },
          "values" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_ElectricCurrent"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.VoltageExcitation" : {
        "title" : "Voltage",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: VoltageExcitation",
            "default" : "VOLTAGE_EXCITATION"
          },
          "voltageType" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_VoltageExcitationVoltageType"
          },
          "voltageRMS" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_ElectricPotential"
          },
          "voltagePhase" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Angle"
          },
          "additionalResistance" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_ElectricResistance"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.ElectromagneticVoltageTypeConstant" : {
        "title" : "Constant",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: ElectromagneticVoltageTypeConstant",
            "default" : "VOLTAGE_TYPE_CONSTANT"
          },
          "value" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_ElectricPotential"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.Dimensional_ElectricPotential" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "title" : "Value",
            "type" : "number"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "V" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.ElectromagneticVoltageTypeSinusoidal" : {
        "title" : "Sinusoidal",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: ElectromagneticVoltageTypeSinusoidal",
            "default" : "VOLTAGE_TYPE_SINUSOIDAL"
          },
          "frequency" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Frequency"
          },
          "amplitude" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_ElectricPotential"
          },
          "offset" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_ElectricPotential"
          },
          "timeOffset" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Time"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.ElectromagneticVoltageTypeTable" : {
        "title" : "Table",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: ElectromagneticVoltageTypeTable",
            "default" : "VOLTAGE_TYPE_TABLE"
          },
          "values" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_ElectricPotential"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.MagneticFieldNormal" : {
        "title" : "Magnetic field normal",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "The magnetic field is enforced to be perpendicular to the boundary. \n\nSchema name: MagneticFieldNormal",
            "default" : "MAGNETIC_FIELD_NORMAL"
          },
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          }
        },
        "additionalProperties" : false,
        "description" : "The magnetic field is enforced to be perpendicular to the boundary. "
      },
      "Simulation.MagneticFluxTangential" : {
        "title" : "Magnetic flux tangential",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "The magnetic flux is enforced to be tangential to the boundary. This boundary is often appropriate when electric current enters or leaves the boundary.\n\nSchema name: MagneticFluxTangential",
            "default" : "MAGNETIC_FLUX_TANGENTIAL"
          },
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          }
        },
        "additionalProperties" : false,
        "description" : "The magnetic flux is enforced to be tangential to the boundary. This boundary is often appropriate when electric current enters or leaves the boundary."
      },
      "Simulation.FixedPotential" : {
        "title" : "Fixed potential",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Specify a constant electric potential (voltage) on a boundary or a body.\n\nSchema name: FixedPotential",
            "default" : "FIXED_POTENTIAL"
          },
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "potential" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_ElectricPotential"
          },
          "potentialRMS" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_ElectricPotential"
          },
          "phase" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Angle"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          }
        },
        "additionalProperties" : false,
        "description" : "Specify a constant electric potential (voltage) on a boundary or a body."
      },
      "Simulation.FloatingPotential" : {
        "title" : "Floating potential",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Specify a floating potential on a boundary or a body for conductive bodies with a constant but unspecified voltage value.\n\nSchema name: FloatingPotential",
            "default" : "FLOATING_POTENTIAL"
          },
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          }
        },
        "additionalProperties" : false,
        "description" : "Specify a floating potential on a boundary or a body for conductive bodies with a constant but unspecified voltage value."
      },
      "Simulation.ChargeDensity" : {
        "title" : "Charge density",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Assign a specific charge density to a body.\n\nSchema name: ChargeDensity",
            "default" : "CHARGE_DENSITY"
          },
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "chargeDensity" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_ChargeDensity"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          }
        },
        "additionalProperties" : false,
        "description" : "Assign a specific charge density to a body."
      },
      "Simulation.Dimensional_ChargeDensity" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "title" : "Value",
            "type" : "number"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "C/m³", "C/in³" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.TotalCharge" : {
        "title" : "Total charge",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Set the total charge of a body.\n\nSchema name: TotalCharge",
            "default" : "TOTAL_CHARGE"
          },
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "totalCharge" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Charge"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          }
        },
        "additionalProperties" : false,
        "description" : "Set the total charge of a body."
      },
      "Simulation.Dimensional_Charge" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "title" : "Value",
            "type" : "number"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "C" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.FixedTemperature" : {
        "title" : "Fixed temperature",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Specify a fixed temperature at a volume or boundary. Used for parts maintained at a known temperature.\n\nSchema name: FixedTemperature",
            "default" : "FIXED_TEMPERATURE"
          },
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "temperature" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_Temperature"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          }
        },
        "additionalProperties" : false,
        "description" : "Specify a fixed temperature at a volume or boundary. Used for parts maintained at a known temperature."
      },
      "Simulation.SurfaceHeatFlux" : {
        "title" : "Surface heat flux",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Specify the rate of heat transfer per unit area at the boundary. Used for heating or cooling surfaces.\n\nSchema name: SurfaceHeatFlux",
            "default" : "SURFACE_HEAT_FLUX"
          },
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "heatFluxValue" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_HeatFlux"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          }
        },
        "additionalProperties" : false,
        "description" : "Specify the rate of heat transfer per unit area at the boundary. Used for heating or cooling surfaces."
      },
      "Simulation.VolumeHeatFlux" : {
        "title" : "Volume heat flux",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Specify the rate of heat transfer per unit volume within a body. Used for internal heat generation sources.\n\nSchema name: VolumeHeatFlux",
            "default" : "VOLUME_HEAT_FLUX"
          },
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "heatFluxValue" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_VolumetricPower"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          }
        },
        "additionalProperties" : false,
        "description" : "Specify the rate of heat transfer per unit volume within a body. Used for internal heat generation sources."
      },
      "Simulation.ConvectiveHeatFlux" : {
        "title" : "Convective heat flux",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Represents heat transfer between a surface and a fluid.\n\nSchema name: ConvectiveHeatFlux",
            "default" : "CONVECTIVE_HEAT_FLUX"
          },
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "heatTransferCoefficient" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_ThermalTransmittance"
          },
          "ambientTemperature" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_Temperature"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          }
        },
        "additionalProperties" : false,
        "description" : "Represents heat transfer between a surface and a fluid."
      },
      "Simulation.RadiationHeatFlux" : {
        "title" : "Radiation heat flux",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Accounts for heat transfer due to thermal radiation between surfaces.\n\nSchema name: RadiationHeatFlux",
            "default" : "RADIATION_HEAT_FLUX"
          },
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "emissivity" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_Dimensionless"
          },
          "ambientTemperature" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_Temperature"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          }
        },
        "additionalProperties" : false,
        "description" : "Accounts for heat transfer due to thermal radiation between surfaces."
      },
      "Simulation.ElectromagneticAdvancedConcepts" : {
        "title" : "Advanced Concepts",
        "type" : "object",
        "properties" : {
          "motionAnalysis" : {
            "title" : "Motion analysis",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.OneOf_ElectromagneticAdvancedConceptsMotionAnalysis"
            }
          },
          "circuit" : {
            "$ref" : "#/components/schemas/Simulation.ElectromagneticCircuit"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.PredefinedRotationalMotion" : {
        "title" : "Rotational",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: PredefinedRotationalMotion",
            "default" : "PREDEFINED_ROTATIONAL_MOTION"
          },
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "angularVelocity" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_RotationSpeed"
          },
          "rotationCenter" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalVector_Length"
          },
          "rotationAxis" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalVector_Length"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.PredefinedTranslationalMotion" : {
        "title" : "Translational",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: PredefinedTranslationalMotion",
            "default" : "PREDEFINED_TRANSLATIONAL_MOTION"
          },
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "velocity" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalVectorFunction_Speed"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.ElectromagneticCircuit" : {
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: ElectromagneticCircuit",
            "default" : "CIRCUIT"
          },
          "objectId" : {
            "title" : "Object id",
            "type" : "string",
            "description" : "The file definition for the EMWORKS Circuit Netlist specification"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.ElectromagneticResultControl" : {
        "type" : "object",
        "properties" : {
          "calculateInductances" : {
            "title" : "Calculate inductances",
            "type" : "boolean",
            "description" : "Calculate the inductance matrix of the coils.",
            "default" : false,
            "x-showWhen" : [ "model.type == MAGNETOSTATICS", "model.type == TIME_TRANSIENT_MAGNETICS" ]
          },
          "calculateCapacitances" : {
            "title" : "Calculate capacitances",
            "type" : "boolean",
            "description" : "Calculate the capacitance matrix of the conductive bodies.<strong><span style='color: red;'>Note that the field solution will be modified.</span></strong>",
            "default" : false,
            "x-showWhen" : [ "model.type == ELECTROSTATICS" ]
          },
          "forcesAndTorques" : {
            "title" : "Forces and Torques",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.ForceAndTorque"
            }
          },
          "probePoints" : {
            "title" : "Probe points",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.ElectromagneticResultControlProbePoint"
            },
            "x-showWhen" : [ "model.type in [MAGNETOSTATICS,TIME_HARMONIC_MAGNETICS,TIME_TRANSIENT_MAGNETICS,ELECTROSTATICS]" ]
          },
          "resistanceSets" : {
            "title" : "Resistance sets",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.ElectromagneticResistanceSet"
            },
            "x-showWhen" : [ "model.type == TIME_HARMONIC_ELECTRICS" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.ForceAndTorque" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          },
          "torqueReferencePoint" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalVector_Length"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.ElectromagneticResultControlProbePoint" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "fieldSelection" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_ElectromagneticResultControlProbePointFieldSelection"
          },
          "geometryPrimitiveUuids" : {
            "title" : "Geometry primitives",
            "type" : "array",
            "items" : {
              "type" : "string",
              "format" : "uuid"
            },
            "x-referencedPrimitivesOptions" : {
              "allowMultiple" : true,
              "pathToPrimitives" : "geometryPrimitives",
              "allowedReferencedPrimitiveTypes" : [ "POINT" ]
            }
          }
        },
        "additionalProperties" : false
      },
      "Simulation.MagneticFluxDensityFieldSelection" : {
        "title" : "Magnetic flux density",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: MagneticFluxDensityFieldSelection",
            "default" : "MAGNETIC_FLUX_DENSITY"
          },
          "componentSelection" : {
            "title" : "Component selection",
            "type" : "string",
            "default" : "ALL",
            "enum" : [ "X", "Y", "Z", "MAG", "ALL" ],
            "x-showWhen" : [ "model.type == TIME_TRANSIENT_MAGNETICS" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.MagneticFieldFieldSelection" : {
        "title" : "Magnetic field",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: MagneticFieldFieldSelection",
            "default" : "MAGNETIC_FIELD"
          },
          "componentSelection" : {
            "title" : "Component selection",
            "type" : "string",
            "default" : "ALL",
            "enum" : [ "X", "Y", "Z", "MAG", "ALL" ],
            "x-showWhen" : [ "model.type == TIME_TRANSIENT_MAGNETICS" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.ElectricCurrentDensityFieldSelection" : {
        "title" : "Electric current density",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: ElectricCurrentDensityFieldSelection",
            "default" : "ELECTRIC_CURRENT_DENSITY"
          },
          "componentSelection" : {
            "title" : "Component selection",
            "type" : "string",
            "default" : "ALL",
            "enum" : [ "X", "Y", "Z", "MAG", "ALL" ],
            "x-showWhen" : [ "model.type == TIME_TRANSIENT_MAGNETICS" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.ElectricPotentialFieldSelection" : {
        "title" : "Electric potential",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: ElectricPotentialFieldSelection",
            "default" : "ELECTRIC_POTENTIAL"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.ElectricFieldFieldSelection" : {
        "title" : "Electric field",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: ElectricFieldFieldSelection",
            "default" : "ELECTRIC_FIELD"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.ElectricDisplacementFieldFieldSelection" : {
        "title" : "Electric displacement field",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: ElectricDisplacementFieldFieldSelection",
            "default" : "ELECTRIC_DISPLACEMENT_FIELD"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.ElectromagneticResistanceSet" : {
        "title" : "Resistance set",
        "type" : "object",
        "properties" : {
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "entryPort" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          },
          "exitPort" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.ElectromagneticNumerics" : {
        "type" : "object",
        "properties" : {
          "nonlinearResidual" : {
            "title" : "Nonlinear residual",
            "minimum" : 0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "description" : "The nonlinear residual error is computed as the difference between the calculated and expected flux density value when a BH curve is specified.",
            "default" : 1.0E-6,
            "x-showWhen" : [ "model.type == MAGNETOSTATICS", "model.type == TIME_HARMONIC_MAGNETICS", "model.type == TIME_TRANSIENT_MAGNETICS" ]
          },
          "elementAccuracy" : {
            "title" : "Element accuracy",
            "type" : "string",
            "description" : "Uses second order element shape functions for a higher accuracy. Especially recommended when calculating torques or forces. However this increases memory consumption and computational time.",
            "default" : "FIRST_ORDER",
            "enum" : [ "FIRST_ORDER", "SECOND_ORDER" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.ElectromagneticSimulationControl" : {
        "type" : "object",
        "properties" : {
          "transientMagneticsControl" : {
            "$ref" : "#/components/schemas/Simulation.ElectromagneticTransientControl"
          },
          "writeControl" : {
            "$ref" : "#/components/schemas/Simulation.TimeStepWriteControl"
          },
          "numProcessors" : {
            "title" : "Number of processors",
            "maximum" : 192,
            "exclusiveMaximum" : false,
            "minimum" : -1,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "description" : "<p>Selecting more processor cores will speed up the simulation process. Choosing a smaller computation instance will save core hours. <a href='https://www.simscale.com/docs/simulation-setup/simulation-control-fluid/#number-of-processors' target='_blank'>Learn more</a>.</p>",
            "format" : "int64",
            "default" : -1,
            "enum" : [ -1, 1, 2, 4, 8, 16, 32, 48, 64, 96, 128, 192 ]
          },
          "maxRunTime" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Time"
          },
          "coreLossReferencePeriod" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Time"
          },
          "timePeriodicAcceleration" : {
            "title" : "Time-periodic acceleration",
            "type" : "boolean",
            "description" : "Activate when the coil excitation is periodic to accelerate simulation. For more information, please refer to our <a href='https://www.simscale.com/docs/analysis-types/electromagnetics/#time-periodic-acceleration' target='_blank'>documentation</a>.",
            "default" : false,
            "x-showWhen" : [ "model.type == TIME_TRANSIENT_MAGNETICS" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.ElectromagneticTransientControl" : {
        "type" : "object",
        "properties" : {
          "endTime" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Time"
          },
          "timeIncrement" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Time"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.MarcAnalysis" : {
        "title" : "Nonlinear Mechanical (Marc)",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: MarcAnalysis",
            "default" : "MARC_ANALYSIS"
          },
          "thermalEffects" : {
            "title" : "Thermal effects",
            "type" : "boolean",
            "description" : "<p>Choose whether <b>thermal effects</b> should be included in the analysis, such as <b>heat conduction</b>, <b>thermal loads</b>, <b>temperature fields</b>, <b>thermal expansion</b>, and <b>temperature-dependent material properties</b>. When thermal effects are disabled, the analysis is purely mechanical and assumes constant temperature.</p><p><b>Note:</b> Changing this setting will delete all existing material definitions.</p>",
            "default" : false
          },
          "connectionGroups" : {
            "title" : "Connection groups",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.MarcConnectionGroup"
            }
          },
          "connectors" : {
            "title" : "Connectors",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.RemotePointConnectionMarc"
            }
          },
          "elementTechnology" : {
            "$ref" : "#/components/schemas/Simulation.MarcElementTechnology"
          },
          "materials" : {
            "title" : "Materials",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.MarcMaterial"
            }
          },
          "boundaryConditions" : {
            "title" : "Boundary conditions",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.OneOf_MarcAnalysisBoundaryConditions"
            }
          },
          "numerics" : {
            "$ref" : "#/components/schemas/Simulation.MarcNumerics"
          },
          "loadSteps" : {
            "title" : "Load steps",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.LoadStep"
            }
          },
          "simulationControl" : {
            "$ref" : "#/components/schemas/Simulation.MarcSimulationControl"
          },
          "resultControl" : {
            "$ref" : "#/components/schemas/Simulation.MarcResultControl"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.MarcConnectionGroup" : {
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: MarcConnectionGroup",
            "default" : "CONTACT"
          },
          "friction" : {
            "title" : "Friction",
            "type" : "string",
            "description" : "<p>Define how tangential forces are handled when surfaces slide against each other.</p><ul><li><b>No Friction:</b> Surfaces slide freely without resistance. Use this to simplify models where friction is negligible.</li><li><b>Coulomb - Bilinear:</b> Surfaces resist sliding based on the normal force and the <b>friction coefficient</b>. This model uses a regularized &quot;bilinear&quot; transition to smooth the change from sticking to sliding, providing better numerical stability in nonlinear analyses compared to a rigid stick-slip model.</li></ul>",
            "default" : "COULOMB_BILINEAR",
            "enum" : [ "NO_FRICTION", "COULOMB_BILINEAR" ]
          },
          "contactFormulation" : {
            "title" : "Contact formulation",
            "type" : "string",
            "description" : "<p>Define how to search for and enforce contact constraints between contacting bodies:</p><ul><li><b>Double-sided:</b> The solver checks for penetration from Part A into Part B AND Part B into Part A. This is the most accurate method, especially for complex geometries as it minimizes contact penetrations. With this setting the &quot;<b>Hybrid</b>&quot; contact formulation of Marc is used.</li><li><b>One-sided:</b> The solver only checks if nodes of the &quot;Source&quot; surface penetrate the &quot;Target&quot; surface. The choice of Source and Master is done automatically by the solver. With this setting the &quot;<b>Standard</b>&quot; contact formulation of Marc is used. With this setting some small contact penetrations are expected. Refine the mesh to reduce contact penetrations.</li></ul>",
            "default" : "DOUBLE_SIDED",
            "enum" : [ "ONE_SIDED", "DOUBLE_SIDED" ]
          },
          "separationControl" : {
            "title" : "Separation control",
            "type" : "string",
            "description" : "<p>Define the criteria used to determine when two surfaces in contact should be allowed to pull apart.</p><ul><li><b>Automatic:</b> The solver selects the best choice between force and stress criteria, based on the mesh order and contact formulation.</li><li><b>Force:</b> Separation is based on the nodal contact forces.</li><li><b>Stress:</b> Separation is triggered when the contact stress (pressure) drops below a specific threshold (close to zero). This is the preferred method as it is less mesh dependent than the force criterion.</li></ul>",
            "default" : "AUTOMATIC",
            "enum" : [ "AUTOMATIC", "FORCE", "STRESS" ]
          },
          "connections" : {
            "title" : "Contacts",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.OneOf_MarcConnectionGroupConnections"
            }
          }
        },
        "additionalProperties" : false
      },
      "Simulation.MarcBondedContactConnection" : {
        "title" : "Glued",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "<p>Define the physical nature of the connection between bodies.</p><ul><li><b>Glued:</b> Parts are permanently bonded. No sliding or separation is allowed. Interfaces are treated as a continuous material transition.<br/><br/><b>Note</b>: Parts that are initially separated but come into contact during deformation will also be glued together locally once contact is established.</li><li><b>Touching:</b> Parts can slide and separate but cannot penetrate each other. Friction coefficients apply here.</li><li><b>Glued + Touching:</b> Use this for bodies which have both contact areas which behave glued and others which should be modeled as touching. Use the &quot;touching faces&quot; to define faces which should exhibit a &quot;touching&quot; behavior during contact.</li></ul><p><b>Note: Self-contact</b> can be modeled by assigning a <b>single volume</b> to a contact definition.</p>\n\nSchema name: MarcBondedContactConnection",
            "default" : "BONDED"
          },
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "positionTolerance" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_MarcBondedContactConnectionPositionTolerance"
          },
          "activateLoadSteps" : {
            "title" : "Activate load steps",
            "type" : "boolean",
            "description" : "Turn this option on to assign this boundary condition or contact to specific load steps in your simulation. When enabled, you can control exactly when (and for how long) this condition is applied. If this option is turned off, the boundary condition or contact is considered globally active and remains applied throughout the entire simulation time.",
            "default" : false
          },
          "loadStepUuids" : {
            "title" : "Load steps",
            "type" : "array",
            "items" : {
              "type" : "string",
              "format" : "uuid"
            },
            "x-showWhen" : [ "1/activateLoadSteps == true" ],
            "x-referencedPrimitivesOptions" : {
              "allowMultiple" : true,
              "pathToPrimitives" : "analysis.loadSteps",
              "allowedReferencedPrimitiveTypes" : [ "LOAD_STEP" ]
            }
          },
          "contactBodies" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          }
        },
        "additionalProperties" : false,
        "description" : "<p>Define the physical nature of the connection between bodies.</p><ul><li><b>Glued:</b> Parts are permanently bonded. No sliding or separation is allowed. Interfaces are treated as a continuous material transition.<br/><br/><b>Note</b>: Parts that are initially separated but come into contact during deformation will also be glued together locally once contact is established.</li><li><b>Touching:</b> Parts can slide and separate but cannot penetrate each other. Friction coefficients apply here.</li><li><b>Glued + Touching:</b> Use this for bodies which have both contact areas which behave glued and others which should be modeled as touching. Use the &quot;touching faces&quot; to define faces which should exhibit a &quot;touching&quot; behavior during contact.</li></ul><p><b>Note: Self-contact</b> can be modeled by assigning a <b>single volume</b> to a contact definition.</p>"
      },
      "Simulation.MarcTouchingContactConnection" : {
        "title" : "Touching",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "<p>Define the physical nature of the connection between bodies.</p><ul><li><b>Glued:</b> Parts are permanently bonded. No sliding or separation is allowed. Interfaces are treated as a continuous material transition.<br/><br/><b>Note</b>: Parts that are initially separated but come into contact during deformation will also be glued together locally once contact is established.</li><li><b>Touching:</b> Parts can slide and separate but cannot penetrate each other. Friction coefficients apply here.</li><li><b>Glued + Touching:</b> Use this for bodies which have both contact areas which behave glued and others which should be modeled as touching. Use the &quot;touching faces&quot; to define faces which should exhibit a &quot;touching&quot; behavior during contact.</li></ul><p><b>Note: Self-contact</b> can be modeled by assigning a <b>single volume</b> to a contact definition.</p>\n\nSchema name: MarcTouchingContactConnection",
            "default" : "TOUCHING"
          },
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "frictionCoefficient" : {
            "title" : "Friction coefficient",
            "type" : "number",
            "description" : "<p>The <b>Friction coefficient</b> (&mu;) defines the proportionality between the normal contact force and the maximum allowable tangential resistance at the interface. A value of 0 represents a frictionless (lubricated) surface, while higher values increase the resistance to relative sliding between the two parts. For most metal-to-metal or metal-to-plastic contacts, values typically range between 0.1 and 0.4.</p>",
            "default" : 0.0,
            "x-showWhen" : [ "connectionGroups.0.friction == COULOMB_BILINEAR" ]
          },
          "interferenceFit" : {
            "$ref" : "#/components/schemas/Simulation.InterferenceFit"
          },
          "activateLoadSteps" : {
            "title" : "Activate load steps",
            "type" : "boolean",
            "description" : "Turn this option on to assign this boundary condition or contact to specific load steps in your simulation. When enabled, you can control exactly when (and for how long) this condition is applied. If this option is turned off, the boundary condition or contact is considered globally active and remains applied throughout the entire simulation time.",
            "default" : false
          },
          "loadStepUuids" : {
            "title" : "Load steps",
            "type" : "array",
            "items" : {
              "type" : "string",
              "format" : "uuid"
            },
            "x-showWhen" : [ "1/activateLoadSteps == true" ],
            "x-referencedPrimitivesOptions" : {
              "allowMultiple" : true,
              "pathToPrimitives" : "analysis.loadSteps",
              "allowedReferencedPrimitiveTypes" : [ "LOAD_STEP" ]
            }
          },
          "contactBodies" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          }
        },
        "additionalProperties" : false,
        "description" : "<p>Define the physical nature of the connection between bodies.</p><ul><li><b>Glued:</b> Parts are permanently bonded. No sliding or separation is allowed. Interfaces are treated as a continuous material transition.<br/><br/><b>Note</b>: Parts that are initially separated but come into contact during deformation will also be glued together locally once contact is established.</li><li><b>Touching:</b> Parts can slide and separate but cannot penetrate each other. Friction coefficients apply here.</li><li><b>Glued + Touching:</b> Use this for bodies which have both contact areas which behave glued and others which should be modeled as touching. Use the &quot;touching faces&quot; to define faces which should exhibit a &quot;touching&quot; behavior during contact.</li></ul><p><b>Note: Self-contact</b> can be modeled by assigning a <b>single volume</b> to a contact definition.</p>"
      },
      "Simulation.InterferenceFit" : {
        "type" : "object",
        "properties" : {
          "enableInterferenceFit" : {
            "title" : "Enable interference fit",
            "type" : "boolean",
            "description" : "<p>Enable <b>Interference fit</b> to resolve the initial penetration as a physical load (press-fit) rather than a geometric inaccuracy.</p><ul><li><b>Interference Closure Value:</b> Specifies how much of the initial overlap should be &quot;removed&quot;. If left at default, the solver resolves the full overlap in the first time step to calculate the resulting stresses. Ramp the value from an initially negative (overlap) value gradually to zero to resolve nonlinearities robustly during the interference fit phase.</li></ul>",
            "default" : false
          },
          "closure" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_Length"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.MarcBondedAndTouchingContactConnection" : {
        "title" : "Glued + Touching",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "<p>Define the physical nature of the connection between bodies.</p><ul><li><b>Glued:</b> Parts are permanently bonded. No sliding or separation is allowed. Interfaces are treated as a continuous material transition.<br/><br/><b>Note</b>: Parts that are initially separated but come into contact during deformation will also be glued together locally once contact is established.</li><li><b>Touching:</b> Parts can slide and separate but cannot penetrate each other. Friction coefficients apply here.</li><li><b>Glued + Touching:</b> Use this for bodies which have both contact areas which behave glued and others which should be modeled as touching. Use the &quot;touching faces&quot; to define faces which should exhibit a &quot;touching&quot; behavior during contact.</li></ul><p><b>Note: Self-contact</b> can be modeled by assigning a <b>single volume</b> to a contact definition.</p>\n\nSchema name: MarcBondedAndTouchingContactConnection",
            "default" : "BONDED_AND_TOUCHING"
          },
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "positionTolerance" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_MarcBondedAndTouchingContactConnectionPositionTolerance"
          },
          "frictionCoefficient" : {
            "title" : "Friction coefficient",
            "type" : "number",
            "description" : "<p>The <b>Friction coefficient</b> (&mu;) defines the proportionality between the normal contact force and the maximum allowable tangential resistance at the interface. A value of 0 represents a frictionless (lubricated) surface, while higher values increase the resistance to relative sliding between the two parts. For most metal-to-metal or metal-to-plastic contacts, values typically range between 0.1 and 0.4.</p>",
            "default" : 0.0,
            "x-showWhen" : [ "connectionGroups.0.friction == COULOMB_BILINEAR" ]
          },
          "activateLoadSteps" : {
            "title" : "Activate load steps",
            "type" : "boolean",
            "description" : "Turn this option on to assign this boundary condition or contact to specific load steps in your simulation. When enabled, you can control exactly when (and for how long) this condition is applied. If this option is turned off, the boundary condition or contact is considered globally active and remains applied throughout the entire simulation time.",
            "default" : false
          },
          "loadStepUuids" : {
            "title" : "Load steps",
            "type" : "array",
            "items" : {
              "type" : "string",
              "format" : "uuid"
            },
            "x-showWhen" : [ "1/activateLoadSteps == true" ],
            "x-referencedPrimitivesOptions" : {
              "allowMultiple" : true,
              "pathToPrimitives" : "analysis.loadSteps",
              "allowedReferencedPrimitiveTypes" : [ "LOAD_STEP" ]
            }
          },
          "contactBodies" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          },
          "touchingFaces" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          }
        },
        "additionalProperties" : false,
        "description" : "<p>Define the physical nature of the connection between bodies.</p><ul><li><b>Glued:</b> Parts are permanently bonded. No sliding or separation is allowed. Interfaces are treated as a continuous material transition.<br/><br/><b>Note</b>: Parts that are initially separated but come into contact during deformation will also be glued together locally once contact is established.</li><li><b>Touching:</b> Parts can slide and separate but cannot penetrate each other. Friction coefficients apply here.</li><li><b>Glued + Touching:</b> Use this for bodies which have both contact areas which behave glued and others which should be modeled as touching. Use the &quot;touching faces&quot; to define faces which should exhibit a &quot;touching&quot; behavior during contact.</li></ul><p><b>Note: Self-contact</b> can be modeled by assigning a <b>single volume</b> to a contact definition.</p>"
      },
      "Simulation.RemotePointConnectionMarc" : {
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: RemotePointConnectionMarc",
            "default" : "REMOTE_POINT_CONNECTION"
          },
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "behavior" : {
            "title" : "Behavior",
            "type" : "string",
            "description" : "<p><b>Behavior</b>: Create a connector between a remote point and a set of entities of the model. The remote point can then be used in a point load or point displacement condition to apply a point force/moment load or constraint to the model.<br><ul><li><b>Rigid (RBE2)</b>: This option creates a kinematically rigid link between the reference point and the assigned entities. It ensures the connected nodes move and rotate as a single rigid body, which is ideal for modeling stiff components like bolts or heavy mounting brackets, but it can artificially over-stiffen the assembly.<br><li><b>Deformable (RBE3)</b>: This option distributes the loads and displacements of the reference point to the connected nodes using a weighted interpolation. It allows the connected faces to deform and expand naturally without adding artificial stiffness, making it suitable for distributing mass or applying loads to flexible structures.</ul></p>",
            "default" : "UNDEFORMABLE",
            "enum" : [ "DEFORMABLE", "UNDEFORMABLE" ]
          },
          "geometryPrimitiveUuids" : {
            "title" : "Point",
            "type" : "array",
            "description" : "<p>Create or select the point geometry primitive which should be connected to the assigned surfaces, volumes or edges via the defined connection type.</p>",
            "items" : {
              "type" : "string",
              "format" : "uuid"
            },
            "x-referencedPrimitivesOptions" : {
              "allowMultiple" : false,
              "pathToPrimitives" : "geometryPrimitives",
              "allowedReferencedPrimitiveTypes" : [ "POINT" ]
            }
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.MarcElementTechnology" : {
        "type" : "object",
        "properties" : {
          "meshOrder" : {
            "title" : "Mesh order",
            "type" : "string",
            "description" : "<p>Select the finite element order to be used for the mesh. Typically, a <b>first-order mesh is sufficient</b> for this analysis type. It utilizes advanced element formulations that prevent locking effects and poor bending behavior. In general it is advised to rather increase the mesh resolution instead of switching to second order elements for more accurate stress results.</p><ul><li><b>First order:</b> Elements use linear interpolation between corner nodes, providing high computational efficiency and lower memory consumption. They are best suited for large models where complex contact situations appear and capturing stress gradients with highest precision is not the primary requirement.</li><li><b>Second order:</b> Elements include additional mid-side nodes to support quadratic displacement functions, improving accuracy for curved surfaces and bending-dominated loading. Solving complex contact problems might be less robust with second order elements.</li></ul><p><b>Note:</b> Once the value for the mesh order is changed, an existing mesh needs to be re-computed before running the analysis, otherwise the simulation will fail with an element order mismatch error.</p>",
            "default" : "FIRST",
            "enum" : [ "FIRST", "SECOND" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.MarcMaterial" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "marcMaterialBehavior" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_MarcMaterialMarcMaterialBehavior"
          },
          "density" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_Density"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          },
          "builtInMaterial" : {
            "type" : "string"
          },
          "materialLibraryReference" : {
            "$ref" : "#/components/schemas/Simulation.MaterialLibraryReference"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.LinearElasticMarcMaterialBehavior" : {
        "title" : "Linear elastic",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: LinearElasticMarcMaterialBehavior",
            "default" : "LINEAR_ELASTIC_MARC"
          },
          "youngsModulus" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_Pressure"
          },
          "poissonsRatio" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_LinearElasticMarcMaterialBehaviorPoissonsRatio"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.HyperelasticMarcMaterialBehavior" : {
        "title" : "Hyperelastic",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: HyperelasticMarcMaterialBehavior",
            "default" : "HYPERELASTIC_MARC"
          },
          "hyperelasticity" : {
            "$ref" : "#/components/schemas/Simulation.Hyperelasticity"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.Hyperelasticity" : {
        "type" : "object",
        "properties" : {
          "hyperelasticModelMarc" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_HyperelasticityHyperelasticModelMarc"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.MooneyTypeHyperelasticModelMarc" : {
        "title" : "Mooney",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: MooneyTypeHyperelasticModelMarc",
            "default" : "MOONEY_TYPE_MARC"
          },
          "c10" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Pressure"
          },
          "c01" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Pressure"
          },
          "c11" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Pressure"
          },
          "c20" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Pressure"
          },
          "c30" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Pressure"
          },
          "bulkModulus" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Pressure"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.OgdenHyperelasticModelMarc" : {
        "title" : "Ogden",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: OgdenHyperelasticModelMarc",
            "default" : "OGDEN_MARC"
          },
          "numberOfTerms" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_OgdenHyperelasticModelMarcNumberOfTerms"
          },
          "bulkModulus" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Pressure"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.OneTerm" : {
        "title" : "1",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: OneTerm",
            "default" : "ONE_TERM"
          },
          "modulus1" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Pressure"
          },
          "exponent1" : {
            "type" : "number",
            "default" : 0.0
          }
        },
        "additionalProperties" : false
      },
      "Simulation.TwoTerms" : {
        "title" : "2",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: TwoTerms",
            "default" : "TWO_TERMS"
          },
          "modulus1" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Pressure"
          },
          "exponent1" : {
            "type" : "number",
            "default" : 0.0
          },
          "modulus2" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Pressure"
          },
          "exponent2" : {
            "type" : "number",
            "default" : 0.0
          }
        },
        "additionalProperties" : false
      },
      "Simulation.ThreeTerms" : {
        "title" : "3",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: ThreeTerms",
            "default" : "THREE_TERMS"
          },
          "modulus1" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Pressure"
          },
          "exponent1" : {
            "type" : "number",
            "default" : 0.0
          },
          "modulus2" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Pressure"
          },
          "exponent2" : {
            "type" : "number",
            "default" : 0.0
          },
          "modulus3" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Pressure"
          },
          "exponent3" : {
            "type" : "number",
            "default" : 0.0
          }
        },
        "additionalProperties" : false
      },
      "Simulation.MarlowHyperelasticModelMarc" : {
        "title" : "Marlow",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: MarlowHyperelasticModelMarc",
            "default" : "MARLOW_MARC"
          },
          "deformationMode" : {
            "title" : "Deformation mode",
            "type" : "string",
            "description" : "Select the primary deformation mode from the experimental test data generation.<ul><li><b>Uniaxial (tension)</b>: Specifies that the provided stress-strain data was obtained from a standard <b>tensile test</b> where the specimen is stretched in one direction. This is the most common experimental input for characterizing basic elastomer behavior.<br><br><b>Note</b>: For uniaxial compression tests, the data needs to first be converted and the equi-biaxial tension option used.</li><li><b>Equi-biaxial (tension)</b>: Indicates that the input data comes from a test where equal tensile loads were applied in two perpendicular directions. This mode is critical for accurately modeling materials that will experience significant stretching in two dimensions, such as inflatable membranes.</li><li><b>Pure Shear</b>: Used when the input data is derived from a planar tension test where the width of the specimen is much larger than its length, preventing lateral contraction. This data helps the solver better predict the material's response under shearing or complex combined loading.</li></ul>",
            "default" : "UNIAXIAL",
            "enum" : [ "UNIAXIAL", "EQUI_BIAXIAL", "PURE_SHEAR" ]
          },
          "engineeringStressStrainCurve" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_Pressure"
          },
          "bulkModulus" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Pressure"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.VariableGroup_ENGINEERING_STRAIN" : {
        "type" : "object",
        "properties" : {
          "E_ENG" : {
            "$ref" : "#/components/schemas/Simulation.Unit_Dimensionless"
          }
        }
      },
      "Simulation.VariableGroup_TEMP_ENGINEERING_STRAIN" : {
        "type" : "object",
        "properties" : {
          "E_ENG" : {
            "$ref" : "#/components/schemas/Simulation.Unit_Dimensionless"
          },
          "Temperature" : {
            "$ref" : "#/components/schemas/Simulation.Unit_Temperature"
          }
        }
      },
      "Simulation.ElastoplasticMarcMaterialBehavior" : {
        "title" : "Elastoplastic",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: ElastoplasticMarcMaterialBehavior",
            "default" : "ELASTOPLASTIC_MARC"
          },
          "elasticity" : {
            "$ref" : "#/components/schemas/Simulation.ElasticityMarc"
          },
          "plasticity" : {
            "$ref" : "#/components/schemas/Simulation.PlasticityMarc"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.ElasticityMarc" : {
        "type" : "object",
        "properties" : {
          "youngsModulus" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_Pressure"
          },
          "poissonsRatio" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_ElasticityMarcPoissonsRatio"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.PlasticityMarc" : {
        "type" : "object",
        "properties" : {
          "plasticityModel" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_PlasticityMarcPlasticityModel"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.BilinearModelMarc" : {
        "title" : "Bilinear",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: BilinearModelMarc",
            "default" : "BILINEAR"
          },
          "yieldStress" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Pressure"
          },
          "hardeningModel" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_BilinearModelMarcHardeningModel"
          },
          "hardeningRule" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_BilinearModelMarcHardeningRule"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.PerfectPlasticityModelMarc" : {
        "title" : "Perfectly plastic",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: PerfectPlasticityModelMarc",
            "default" : "PERFECT_PLASTICITY"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.StrainHardeningModelMarc" : {
        "title" : "Strain hardening",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: StrainHardeningModelMarc",
            "default" : "STRAIN_HARDENING"
          },
          "ultimateTensileStress" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Pressure"
          },
          "ultimateTotalStrain" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Dimensionless"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.IsotropicPlasticHardeningMarc" : {
        "title" : "Isotropic",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: IsotropicPlasticHardeningMarc",
            "default" : "ISOTROPIC"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.KinematicPlasticHardeningMarc" : {
        "title" : "Kinematic",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: KinematicPlasticHardeningMarc",
            "default" : "KINEMATIC"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.CombinedPlasticHardeningMarc" : {
        "title" : "Combined",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: CombinedPlasticHardeningMarc",
            "default" : "COMBINED"
          },
          "kinematicFraction" : {
            "title" : "Kinematic fraction",
            "maximum" : 1.0,
            "exclusiveMaximum" : false,
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "description" : "This value (from 0 to 1) defines the weight of the kinematic component relative to the isotropic component for the combined hardening rule. A value of 1 represents pure kinematic hardening, while 0 represents pure isotropic hardening.",
            "default" : 0.5
          }
        },
        "additionalProperties" : false
      },
      "Simulation.MultilinearModelMarc" : {
        "title" : "Multilinear",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: MultilinearModelMarc",
            "default" : "MULTILINEAR"
          },
          "stressStrainCurve" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_Pressure"
          },
          "hardeningRule" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_MultilinearModelMarcHardeningRule"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.VariableGroup_PLASTIC_STRAIN" : {
        "type" : "object",
        "properties" : {
          "E_PL" : {
            "$ref" : "#/components/schemas/Simulation.Unit_Dimensionless"
          }
        }
      },
      "Simulation.VariableGroup_TEMP_PLASTIC_STRAIN" : {
        "type" : "object",
        "properties" : {
          "E_PL" : {
            "$ref" : "#/components/schemas/Simulation.Unit_Dimensionless"
          },
          "Temperature" : {
            "$ref" : "#/components/schemas/Simulation.Unit_Temperature"
          }
        }
      },
      "Simulation.ViscoplasticMarcMaterialBehavior" : {
        "title" : "Viscoplastic",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: ViscoplasticMarcMaterialBehavior",
            "default" : "VISCOPLASTIC_MARC"
          },
          "primaryNetwork" : {
            "$ref" : "#/components/schemas/Simulation.PrimaryNetwork"
          },
          "viscoelasticNetwork" : {
            "$ref" : "#/components/schemas/Simulation.ViscoelasticNetwork"
          },
          "elastoplasticNetwork" : {
            "$ref" : "#/components/schemas/Simulation.ElastoplasticNetwork"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.PrimaryNetwork" : {
        "type" : "object",
        "properties" : {
          "hyperelasticModelPrimaryNetwork" : {
            "$ref" : "#/components/schemas/Simulation.YeohPrimaryNetwork"
          },
          "damageModelPrimaryNetwork" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_PrimaryNetworkDamageModelPrimaryNetwork"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.YeohPrimaryNetwork" : {
        "title" : "Yeoh",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: YeohPrimaryNetwork",
            "default" : "YEOH_PRIMARY_NETWORK"
          },
          "c10" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Pressure"
          },
          "c20" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Pressure"
          },
          "c30" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Pressure"
          },
          "bulkModulus" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Pressure"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.OgdenRoxburgh" : {
        "title" : "Ogden-Roxburgh",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: OgdenRoxburgh",
            "default" : "OGDEN_ROXBURGH"
          },
          "relativeDamageExtent" : {
            "title" : "(r) Relative extent of damage",
            "minimum" : 1.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "description" : "This parameter (<i>r</i> ≥ 1) dictates the maximum magnitude of damage achievable in the Ogden-Roxburgh model. Higher values lead to a more pronounced reduction in material stiffness during unloading and reloading cycles, characteristic of the Mullins effect."
          },
          "deformationDependence" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_EnergyDensity"
          },
          "deviatoricStrainEnergyFactor" : {
            "title" : "(β) Factor of max. deviatoric strain energy",
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "description" : "A scaling factor (<i>β</i> ≥ 0) that adjusts the influence of the shape-changing (deviatoric) part of the strain energy on the damage evolution. It allows the model to prioritize distortion over volume change when calculating the softening effect."
          }
        },
        "additionalProperties" : false
      },
      "Simulation.Dimensional_EnergyDensity" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "title" : "Value",
            "type" : "number"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "J/m³", "Btu/in³" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.NoDamage" : {
        "title" : "None",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: NoDamage",
            "default" : "OFF"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.ViscoelasticNetwork" : {
        "type" : "object",
        "properties" : {
          "creepModelViscoelasticNetwork" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_ViscoelasticNetworkCreepModelViscoelasticNetwork"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.PronySeries" : {
        "title" : "Prony series",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: PronySeries",
            "default" : "PRONY_SERIES"
          },
          "pronyFactors" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_Dimensionless"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.VariableGroup_RELAXATION_TIME" : {
        "type" : "object",
        "properties" : {
          "R_T" : {
            "$ref" : "#/components/schemas/Simulation.Unit_Time"
          }
        }
      },
      "Simulation.NoCreep" : {
        "title" : "None",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: NoCreep",
            "default" : "OFF"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.ElastoplasticNetwork" : {
        "type" : "object",
        "properties" : {
          "plasticityModelElastoplasticNetwork" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_ElastoplasticNetworkPlasticityModelElastoplasticNetwork"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.ArrudaBoycePlasticElastoplasticNetwork" : {
        "title" : "Arruda-Boyce Plastic",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: ArrudaBoycePlasticElastoplasticNetwork",
            "default" : "ARRUDA_BOYCE_PLASTIC"
          },
          "nkTheta" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Pressure"
          },
          "chainLength" : {
            "title" : "Chain length",
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "description" : "Defined by the number of statistically independent links (<i>N</i>) in a polymer chain, this determines the material's extensibility. It dictates the \"locking stretch\" point where chains become fully extended and the stress-strain curve turns sharply upward."
          },
          "yieldStress" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Pressure"
          },
          "tangentModulus" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Pressure"
          },
          "kinematicFraction" : {
            "title" : "Kinematic fraction",
            "maximum" : 1.0,
            "exclusiveMaximum" : false,
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "description" : "This value (from 0 to 1) defines the weight of the kinematic component relative to the isotropic component for the combined hardening rule. A value of 1 represents pure kinematic hardening, while 0 represents pure isotropic hardening."
          }
        },
        "additionalProperties" : false
      },
      "Simulation.NoElastoplasticity" : {
        "title" : "None",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: NoElastoplasticity",
            "default" : "OFF"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.FixedValueBCMarc" : {
        "title" : "Imposed displacement",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "<p>This is a boundary condition for the displacement vector variable. You can define prescribed values for the displacement of the assigned entities in every coordinate direction (x,y,z) or leave it unconstrained in order to let the entity move freely.</p><p><b>Important remarks:</b></p><ul><li><b>Gradually ramp the displacement values via a table or formula depending on time [t],</b> otherwise the full movement will be applied on the first iteration already and the simulation might fail to converge.</li><li>Choose 0 as value in order to fix your selection in place.</li></ul>\n\nSchema name: FixedValueBCMarc",
            "default" : "FIXED_VALUE"
          },
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "displacement" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalPartialVectorFunction_Length"
          },
          "activateLoadSteps" : {
            "title" : "Activate load steps",
            "type" : "boolean",
            "description" : "Turn this option on to assign this boundary condition or contact to specific load steps in your simulation. When enabled, you can control exactly when (and for how long) this condition is applied. If this option is turned off, the boundary condition or contact is considered globally active and remains applied throughout the entire simulation time.",
            "default" : false
          },
          "loadStepUuids" : {
            "title" : "Load steps",
            "type" : "array",
            "items" : {
              "type" : "string",
              "format" : "uuid"
            },
            "x-showWhen" : [ "1/activateLoadSteps == true" ],
            "x-referencedPrimitivesOptions" : {
              "allowMultiple" : true,
              "pathToPrimitives" : "analysis.loadSteps",
              "allowedReferencedPrimitiveTypes" : [ "LOAD_STEP" ]
            }
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          }
        },
        "additionalProperties" : false,
        "description" : "<p>This is a boundary condition for the displacement vector variable. You can define prescribed values for the displacement of the assigned entities in every coordinate direction (x,y,z) or leave it unconstrained in order to let the entity move freely.</p><p><b>Important remarks:</b></p><ul><li><b>Gradually ramp the displacement values via a table or formula depending on time [t],</b> otherwise the full movement will be applied on the first iteration already and the simulation might fail to converge.</li><li>Choose 0 as value in order to fix your selection in place.</li></ul>"
      },
      "Simulation.PressureBCMarc" : {
        "title" : "Pressure",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "<p>This is a pressure boundary condition representing a distributed load on the selection. It is applied <u>normal</u> to the surface.</p><p><b>Important remarks:</b></p><ul><li>If <b>follower pressure</b> is activated the normal direction and surface area of the faces is updated on every iteration, otherwise only in the undeformed state is used.</li><li><b>Gradually ramp the pressure value via a table or formula depending on time [t],</b> otherwise the full movement will be applied on the first iteration already and the simulation might fail to converge.</li><li>The applied total force depends on the surface area of the selection.</li></ul>\n\nSchema name: PressureBCMarc",
            "default" : "PRESSURE"
          },
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "pressure" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_Pressure"
          },
          "isFollowerPressure" : {
            "title" : "Follower pressure",
            "type" : "boolean",
            "description" : "<p>When enabled, the direction of the pressure load is automatically updated to remain normal to the surface as it deforms and rotates throughout the analysis. This is essential for large deformation simulations where the surface orientation changes significantly.</p>",
            "default" : true
          },
          "activateLoadSteps" : {
            "title" : "Activate load steps",
            "type" : "boolean",
            "description" : "Turn this option on to assign this boundary condition or contact to specific load steps in your simulation. When enabled, you can control exactly when (and for how long) this condition is applied. If this option is turned off, the boundary condition or contact is considered globally active and remains applied throughout the entire simulation time.",
            "default" : false
          },
          "loadStepUuids" : {
            "title" : "Load steps",
            "type" : "array",
            "items" : {
              "type" : "string",
              "format" : "uuid"
            },
            "x-showWhen" : [ "1/activateLoadSteps == true" ],
            "x-referencedPrimitivesOptions" : {
              "allowMultiple" : true,
              "pathToPrimitives" : "analysis.loadSteps",
              "allowedReferencedPrimitiveTypes" : [ "LOAD_STEP" ]
            }
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          }
        },
        "additionalProperties" : false,
        "description" : "<p>This is a pressure boundary condition representing a distributed load on the selection. It is applied <u>normal</u> to the surface.</p><p><b>Important remarks:</b></p><ul><li>If <b>follower pressure</b> is activated the normal direction and surface area of the faces is updated on every iteration, otherwise only in the undeformed state is used.</li><li><b>Gradually ramp the pressure value via a table or formula depending on time [t],</b> otherwise the full movement will be applied on the first iteration already and the simulation might fail to converge.</li><li>The applied total force depends on the surface area of the selection.</li></ul>"
      },
      "Simulation.SymmetryBCMarc" : {
        "title" : "Symmetry plane",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "<p>Use this boundary condition to define a plane of symmetry for the model by constraining the displacement normal to the plane. This allows you to simulate only a portion of a symmetric structure, significantly reducing computational requirements while maintaining physical accuracy.</p><p><b>Important remarks:</b></p><ul><li>The symmetry plane acts <b>like a contact surface</b> for all surfaces of the assigned body which are not initially in contact with the plane. If there is an initial gap with a surface, which closes during the simulation, the contact will be activated and the surface will not pass through the symmetry plane.</li></ul>\n\nSchema name: SymmetryBCMarc",
            "default" : "SYMMETRY"
          },
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "activateLoadSteps" : {
            "title" : "Activate load steps",
            "type" : "boolean",
            "description" : "Turn this option on to assign this boundary condition or contact to specific load steps in your simulation. When enabled, you can control exactly when (and for how long) this condition is applied. If this option is turned off, the boundary condition or contact is considered globally active and remains applied throughout the entire simulation time.",
            "default" : false
          },
          "loadStepUuids" : {
            "title" : "Load steps",
            "type" : "array",
            "items" : {
              "type" : "string",
              "format" : "uuid"
            },
            "x-showWhen" : [ "1/activateLoadSteps == true" ],
            "x-referencedPrimitivesOptions" : {
              "allowMultiple" : true,
              "pathToPrimitives" : "analysis.loadSteps",
              "allowedReferencedPrimitiveTypes" : [ "LOAD_STEP" ]
            }
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          },
          "geometryPrimitiveUuids" : {
            "title" : "Planes",
            "type" : "array",
            "items" : {
              "type" : "string",
              "format" : "uuid"
            },
            "x-referencedPrimitivesOptions" : {
              "allowMultiple" : true,
              "pathToPrimitives" : "geometryPrimitives",
              "allowedReferencedPrimitiveTypes" : [ "HALF_SPACE" ]
            }
          }
        },
        "additionalProperties" : false,
        "description" : "<p>Use this boundary condition to define a plane of symmetry for the model by constraining the displacement normal to the plane. This allows you to simulate only a portion of a symmetric structure, significantly reducing computational requirements while maintaining physical accuracy.</p><p><b>Important remarks:</b></p><ul><li>The symmetry plane acts <b>like a contact surface</b> for all surfaces of the assigned body which are not initially in contact with the plane. If there is an initial gap with a surface, which closes during the simulation, the contact will be activated and the surface will not pass through the symmetry plane.</li></ul>"
      },
      "Simulation.PointDisplacementBCMarc" : {
        "title" : "Point displacement",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "<p>This boundary condition prescribes a specific translation or rotation value at a single remote point defined via a point geometry primitive.</p><p><b>Important remarks:</b></p><ul><li>The assigned point geometry primitive point needs to be connected to the CAD model via an <b>RBE3 or RBE2 connector.</b></li><li><b>Gradually ramp the displacement and rotation values via a table or formula depending on time [t],</b> otherwise the full movement will be applied on the first iteration already and the simulation might fail to converge.</li></ul>\n\nSchema name: PointDisplacementBCMarc",
            "default" : "POINT_DISPLACEMENT"
          },
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "displacement" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalPartialVectorFunction_Length"
          },
          "rotation" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalPartialVectorFunction_Angle"
          },
          "activateLoadSteps" : {
            "title" : "Activate load steps",
            "type" : "boolean",
            "description" : "Turn this option on to assign this boundary condition or contact to specific load steps in your simulation. When enabled, you can control exactly when (and for how long) this condition is applied. If this option is turned off, the boundary condition or contact is considered globally active and remains applied throughout the entire simulation time.",
            "default" : false
          },
          "loadStepUuids" : {
            "title" : "Load steps",
            "type" : "array",
            "items" : {
              "type" : "string",
              "format" : "uuid"
            },
            "x-showWhen" : [ "1/activateLoadSteps == true" ],
            "x-referencedPrimitivesOptions" : {
              "allowMultiple" : true,
              "pathToPrimitives" : "analysis.loadSteps",
              "allowedReferencedPrimitiveTypes" : [ "LOAD_STEP" ]
            }
          },
          "geometryPrimitiveUuids" : {
            "title" : "Assigned points",
            "type" : "array",
            "items" : {
              "type" : "string",
              "format" : "uuid"
            },
            "x-referencedPrimitivesOptions" : {
              "allowMultiple" : true,
              "pathToPrimitives" : "geometryPrimitives",
              "allowedReferencedPrimitiveTypes" : [ "POINT" ]
            }
          }
        },
        "additionalProperties" : false,
        "description" : "<p>This boundary condition prescribes a specific translation or rotation value at a single remote point defined via a point geometry primitive.</p><p><b>Important remarks:</b></p><ul><li>The assigned point geometry primitive point needs to be connected to the CAD model via an <b>RBE3 or RBE2 connector.</b></li><li><b>Gradually ramp the displacement and rotation values via a table or formula depending on time [t],</b> otherwise the full movement will be applied on the first iteration already and the simulation might fail to converge.</li></ul>"
      },
      "Simulation.PointLoadBCMarc" : {
        "title" : "Point load",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "<p>This boundary condition adds a point force or moment load at a single remote point defined via a point geometry primitive.</p><p><b>Important remarks:</b></p><ul><li>The assigned point geometry primitive point needs to be connected to the CAD model via an <b>RBE3 or RBE2 connector.</b></li><li><b>Gradually ramp the force and moment values via a table or formula depending on time [t],</b> otherwise the full load will be applied on the first iteration already and the simulation might fail to converge.</li></ul>\n\nSchema name: PointLoadBCMarc",
            "default" : "POINT_LOAD"
          },
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "force" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalVectorFunction_Force"
          },
          "moment" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalVectorFunction_Torque"
          },
          "activateLoadSteps" : {
            "title" : "Activate load steps",
            "type" : "boolean",
            "description" : "Turn this option on to assign this boundary condition or contact to specific load steps in your simulation. When enabled, you can control exactly when (and for how long) this condition is applied. If this option is turned off, the boundary condition or contact is considered globally active and remains applied throughout the entire simulation time.",
            "default" : false
          },
          "loadStepUuids" : {
            "title" : "Load steps",
            "type" : "array",
            "items" : {
              "type" : "string",
              "format" : "uuid"
            },
            "x-showWhen" : [ "1/activateLoadSteps == true" ],
            "x-referencedPrimitivesOptions" : {
              "allowMultiple" : true,
              "pathToPrimitives" : "analysis.loadSteps",
              "allowedReferencedPrimitiveTypes" : [ "LOAD_STEP" ]
            }
          },
          "geometryPrimitiveUuids" : {
            "title" : "Assigned points",
            "type" : "array",
            "items" : {
              "type" : "string",
              "format" : "uuid"
            },
            "x-referencedPrimitivesOptions" : {
              "allowMultiple" : true,
              "pathToPrimitives" : "geometryPrimitives",
              "allowedReferencedPrimitiveTypes" : [ "POINT" ]
            }
          }
        },
        "additionalProperties" : false,
        "description" : "<p>This boundary condition adds a point force or moment load at a single remote point defined via a point geometry primitive.</p><p><b>Important remarks:</b></p><ul><li>The assigned point geometry primitive point needs to be connected to the CAD model via an <b>RBE3 or RBE2 connector.</b></li><li><b>Gradually ramp the force and moment values via a table or formula depending on time [t],</b> otherwise the full load will be applied on the first iteration already and the simulation might fail to converge.</li></ul>"
      },
      "Simulation.TemperatureBCMarc" : {
        "title" : "Temperature",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "This is a boundary condition for the <b>temperature</b> variable. It prescribes the given temperature value on all selected groups.<br /><br />Important remarks: <br /><ul><li>Do not define a temperature and a heat flux boundary condition on the same group</li><li>Do not define the temperature on slave entities of <b>Contact Constraints</b> as they are constrained by the master temperature</li><li>You may define a <b>parameter dependent (x,y,z,t)</b> value by defining a formula or uploading a table (csv-file)</li></ul>\n\nSchema name: TemperatureBCMarc",
            "default" : "TEMPERATURE"
          },
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "temperatureValue" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_Temperature"
          },
          "activateLoadSteps" : {
            "title" : "Activate load steps",
            "type" : "boolean",
            "description" : "Turn this option on to assign this boundary condition or contact to specific load steps in your simulation. When enabled, you can control exactly when (and for how long) this condition is applied. If this option is turned off, the boundary condition or contact is considered globally active and remains applied throughout the entire simulation time.",
            "default" : false
          },
          "loadStepUuids" : {
            "title" : "Load steps",
            "type" : "array",
            "items" : {
              "type" : "string",
              "format" : "uuid"
            },
            "x-showWhen" : [ "1/activateLoadSteps == true" ],
            "x-referencedPrimitivesOptions" : {
              "allowMultiple" : true,
              "pathToPrimitives" : "analysis.loadSteps",
              "allowedReferencedPrimitiveTypes" : [ "LOAD_STEP" ]
            }
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          }
        },
        "additionalProperties" : false,
        "description" : "This is a boundary condition for the <b>temperature</b> variable. It prescribes the given temperature value on all selected groups.<br /><br />Important remarks: <br /><ul><li>Do not define a temperature and a heat flux boundary condition on the same group</li><li>Do not define the temperature on slave entities of <b>Contact Constraints</b> as they are constrained by the master temperature</li><li>You may define a <b>parameter dependent (x,y,z,t)</b> value by defining a formula or uploading a table (csv-file)</li></ul>"
      },
      "Simulation.ConvectionRadiationBCMarc" : {
        "title" : "Convection & radiation",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "This is a <b>heat flux</b> boundary condition combining <b>convection</b> and <b>radiation</b> on the selected face groups. It is defined by a common <b>reference temperature</b> (surrounding/sink temperature), the <b>heat transfer coefficient</b> (convective part) and the <b>emissivity</b> (radiative part).<br /><br />Important remarks: <br /><ul><li>The heat transfer coefficient is not only a property of the surrounding fluid but also of the flow.</li><li>The emissivity takes values between 0 and 1: a value of 1 represents blackbody radiation, while the default value of 0 disables the radiative contribution, leaving a pure convection boundary condition.</li><li>Radiation is considered diffuse and gray (no dependency on the rotational angle or wavelength).</li><li>If the reference temperature is higher than the computed temperature on the boundary, heat flux enters the body; for lower values, heat flux leaves the body.</li><li>You may define a <b>time dependent</b> value by defining a formula or uploading a table (csv-file) for the <b>reference temperature</b>, the <b>heat transfer coefficient</b> and the <b>emissivity</b>.</li></ul>\n\nSchema name: ConvectionRadiationBCMarc",
            "default" : "CONVECTION_RADIATION"
          },
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "referenceTemperature" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_Temperature"
          },
          "heatTransferCoefficient" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_ThermalTransmittance"
          },
          "emissivity" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_Dimensionless"
          },
          "activateLoadSteps" : {
            "title" : "Activate load steps",
            "type" : "boolean",
            "description" : "Turn this option on to assign this boundary condition or contact to specific load steps in your simulation. When enabled, you can control exactly when (and for how long) this condition is applied. If this option is turned off, the boundary condition or contact is considered globally active and remains applied throughout the entire simulation time.",
            "default" : false
          },
          "loadStepUuids" : {
            "title" : "Load steps",
            "type" : "array",
            "items" : {
              "type" : "string",
              "format" : "uuid"
            },
            "x-showWhen" : [ "1/activateLoadSteps == true" ],
            "x-referencedPrimitivesOptions" : {
              "allowMultiple" : true,
              "pathToPrimitives" : "analysis.loadSteps",
              "allowedReferencedPrimitiveTypes" : [ "LOAD_STEP" ]
            }
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          }
        },
        "additionalProperties" : false,
        "description" : "This is a <b>heat flux</b> boundary condition combining <b>convection</b> and <b>radiation</b> on the selected face groups. It is defined by a common <b>reference temperature</b> (surrounding/sink temperature), the <b>heat transfer coefficient</b> (convective part) and the <b>emissivity</b> (radiative part).<br /><br />Important remarks: <br /><ul><li>The heat transfer coefficient is not only a property of the surrounding fluid but also of the flow.</li><li>The emissivity takes values between 0 and 1: a value of 1 represents blackbody radiation, while the default value of 0 disables the radiative contribution, leaving a pure convection boundary condition.</li><li>Radiation is considered diffuse and gray (no dependency on the rotational angle or wavelength).</li><li>If the reference temperature is higher than the computed temperature on the boundary, heat flux enters the body; for lower values, heat flux leaves the body.</li><li>You may define a <b>time dependent</b> value by defining a formula or uploading a table (csv-file) for the <b>reference temperature</b>, the <b>heat transfer coefficient</b> and the <b>emissivity</b>.</li></ul>"
      },
      "Simulation.SurfaceHeatFluxBCMarc" : {
        "title" : "Surface heat flux",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Define the heatflux per unit area that enters the body through the assigned faces. Negative sign determines flux leaving the body.\n\nSchema name: SurfaceHeatFluxBCMarc",
            "default" : "SURFACE_HEAT_FLUX"
          },
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "heatfluxValue" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_HeatFlux"
          },
          "activateLoadSteps" : {
            "title" : "Activate load steps",
            "type" : "boolean",
            "description" : "Turn this option on to assign this boundary condition or contact to specific load steps in your simulation. When enabled, you can control exactly when (and for how long) this condition is applied. If this option is turned off, the boundary condition or contact is considered globally active and remains applied throughout the entire simulation time.",
            "default" : false
          },
          "loadStepUuids" : {
            "title" : "Load steps",
            "type" : "array",
            "items" : {
              "type" : "string",
              "format" : "uuid"
            },
            "x-showWhen" : [ "1/activateLoadSteps == true" ],
            "x-referencedPrimitivesOptions" : {
              "allowMultiple" : true,
              "pathToPrimitives" : "analysis.loadSteps",
              "allowedReferencedPrimitiveTypes" : [ "LOAD_STEP" ]
            }
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          }
        },
        "additionalProperties" : false,
        "description" : "Define the heatflux per unit area that enters the body through the assigned faces. Negative sign determines flux leaving the body."
      },
      "Simulation.VolumeHeatFluxBCMarc" : {
        "title" : "Volume heat flux",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "This is a <b>volume heat source</b> boundary condition. It is applied to the <b>volume elements</b> in the selected volumes or volume groups.<br /><br />Important remarks: <br /><ul><li>The total heat generated depends on the volume of the selection as the value is given as Watt per cubic meter.</li><li>For positive values heat is generated, for negative values the bc represents a heat sink.</li><li>You may define a <b>parameter dependent (x,y,z,t)</b> value by defining a formula or uploading a table (csv-file)</li></ul>\n\nSchema name: VolumeHeatFluxBCMarc",
            "default" : "VOLUME_HEAT_FLUX"
          },
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "heatfluxValue" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_VolumetricPower"
          },
          "activateLoadSteps" : {
            "title" : "Activate load steps",
            "type" : "boolean",
            "description" : "Turn this option on to assign this boundary condition or contact to specific load steps in your simulation. When enabled, you can control exactly when (and for how long) this condition is applied. If this option is turned off, the boundary condition or contact is considered globally active and remains applied throughout the entire simulation time.",
            "default" : false
          },
          "loadStepUuids" : {
            "title" : "Load steps",
            "type" : "array",
            "items" : {
              "type" : "string",
              "format" : "uuid"
            },
            "x-showWhen" : [ "1/activateLoadSteps == true" ],
            "x-referencedPrimitivesOptions" : {
              "allowMultiple" : true,
              "pathToPrimitives" : "analysis.loadSteps",
              "allowedReferencedPrimitiveTypes" : [ "LOAD_STEP" ]
            }
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          }
        },
        "additionalProperties" : false,
        "description" : "This is a <b>volume heat source</b> boundary condition. It is applied to the <b>volume elements</b> in the selected volumes or volume groups.<br /><br />Important remarks: <br /><ul><li>The total heat generated depends on the volume of the selection as the value is given as Watt per cubic meter.</li><li>For positive values heat is generated, for negative values the bc represents a heat sink.</li><li>You may define a <b>parameter dependent (x,y,z,t)</b> value by defining a formula or uploading a table (csv-file)</li></ul>"
      },
      "Simulation.BoltPreloadBCMarc" : {
        "title" : "Bolt preload",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "<b>Bolt preload</b> boundary condition allows you to model pre-stressed fasteners in structural assemblies by assigning clamping conditions directly to solid <b>volumes</b> representing the bolt shanks. For each assigned volume, an individual bolt preload with the defined value is created and evaluated independently.<br/><b>Note:</b><ul><li><b>Ramping phase:</b> During the first active load step, the specified force or displacement linearly ramps up from zero to your target value.</li><li><b>Locked phase:</b> From the second active load step onwards, the solver automatically imposes a zero axial shortening condition, locking the bolt at its current stretched length so it properly resists external loads.</li><li><b>Open condition:</b> If a bolt volume has no active preload boundary condition during a given load step, it enters an \"open\" state where it cannot resist external forces. To ensure an already tightened bolt resists external loads in subsequent stages without adding more preload, you can also specify a <b>Length</b> control mode with an <b>Axial shortening</b> of <b>0 m</b> for those steps.</li><li><b>Multiple conditions:</b> You can apply multiple bolt preload boundary conditions to the same volume (e.g., to change tightening states across stages), provided that their active load steps do not overlap.</li></ul><b>Example:</b> The below diagram explains the states of the bolt preload for a sample setup with four load steps, where the bolt preload is active on steps 2 and 3 and inactive on load steps 1 and 4:<br/><img src=\"/spec/resources/help/imgs/marc_bolt_preload_help_text.png\" class=\"helpPopupImage\"/>\n\nSchema name: BoltPreloadBCMarc",
            "default" : "BOLT_PRELOAD"
          },
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "controlMode" : {
            "title" : "Control mode",
            "type" : "string",
            "description" : "<p>The <b>Control mode</b> determines whether the bolt pre-tensioning behavior is governed by a target force or a specific physical contraction distance. Choose <b>Load</b> if you know the exact clamping force required, or <b>Length</b> if you want to prescribe a precise adjustment displacement.</p>",
            "default" : "LOAD",
            "enum" : [ "LOAD", "LENGTH" ]
          },
          "compressionForce" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Force"
          },
          "axialShortening" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Length"
          },
          "activateLoadSteps" : {
            "title" : "Activate load steps",
            "type" : "boolean",
            "description" : "Turn this option on to assign this boundary condition or contact to specific load steps in your simulation. When enabled, you can control exactly when (and for how long) this condition is applied. If this option is turned off, the boundary condition or contact is considered globally active and remains applied throughout the entire simulation time.",
            "default" : false
          },
          "loadStepUuids" : {
            "title" : "Load steps",
            "type" : "array",
            "items" : {
              "type" : "string",
              "format" : "uuid"
            },
            "x-showWhen" : [ "1/activateLoadSteps == true" ],
            "x-referencedPrimitivesOptions" : {
              "allowMultiple" : true,
              "pathToPrimitives" : "analysis.loadSteps",
              "allowedReferencedPrimitiveTypes" : [ "LOAD_STEP" ]
            }
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          }
        },
        "additionalProperties" : false,
        "description" : "<b>Bolt preload</b> boundary condition allows you to model pre-stressed fasteners in structural assemblies by assigning clamping conditions directly to solid <b>volumes</b> representing the bolt shanks. For each assigned volume, an individual bolt preload with the defined value is created and evaluated independently.<br/><b>Note:</b><ul><li><b>Ramping phase:</b> During the first active load step, the specified force or displacement linearly ramps up from zero to your target value.</li><li><b>Locked phase:</b> From the second active load step onwards, the solver automatically imposes a zero axial shortening condition, locking the bolt at its current stretched length so it properly resists external loads.</li><li><b>Open condition:</b> If a bolt volume has no active preload boundary condition during a given load step, it enters an \"open\" state where it cannot resist external forces. To ensure an already tightened bolt resists external loads in subsequent stages without adding more preload, you can also specify a <b>Length</b> control mode with an <b>Axial shortening</b> of <b>0 m</b> for those steps.</li><li><b>Multiple conditions:</b> You can apply multiple bolt preload boundary conditions to the same volume (e.g., to change tightening states across stages), provided that their active load steps do not overlap.</li></ul><b>Example:</b> The below diagram explains the states of the bolt preload for a sample setup with four load steps, where the bolt preload is active on steps 2 and 3 and inactive on load steps 1 and 4:<br/><img src=\"/spec/resources/help/imgs/marc_bolt_preload_help_text.png\" class=\"helpPopupImage\"/>"
      },
      "Simulation.MarcNumerics" : {
        "type" : "object",
        "properties" : {
          "linearSolverSettings" : {
            "$ref" : "#/components/schemas/Simulation.MarcLinearSolverSettings"
          },
          "nonlinearSolverSettings" : {
            "$ref" : "#/components/schemas/Simulation.MarcNonlinearSolverSettings"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.MarcLinearSolverSettings" : {
        "type" : "object",
        "properties" : {
          "linearSolver" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_MarcLinearSolverSettingsLinearSolver"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.MumpsDirectSolver" : {
        "title" : "Direct (MUMPS)",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: MumpsDirectSolver",
            "default" : "MUMPS_DIRECT"
          },
          "autoConstrain" : {
            "title" : "Auto constrain to eliminate rigid body motions",
            "type" : "boolean",
            "description" : "<p>Automatically applies small artificial stiffness to unconstrained bodies to prevent numerical singularities during the initial stages of a simulation. Use this when your setup has parts that are not fully fixed until contact is established.</p>",
            "default" : false
          }
        },
        "additionalProperties" : false
      },
      "Simulation.PardisoDirectSolver" : {
        "title" : "Direct (Pardiso)",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: PardisoDirectSolver",
            "default" : "PARDISO_DIRECT"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.SparseIterative" : {
        "title" : "Iterative",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: SparseIterative",
            "default" : "SPARSE_ITERATIVE"
          },
          "preconditioner" : {
            "title" : "Preconditioner",
            "type" : "string",
            "description" : "<p>Selects the preconditioning technique used to accelerate convergence of the iterative solver.</p><ul><li><b>Incomplete Cholesky:</b> Recommended default. Provides the best convergence reduction at the cost of slightly higher setup time.</li><li><b>Diagonal:</b> Cheapest to compute but least effective. Suitable only for well-conditioned systems or when memory is very limited.</li><li><b>Scaled Diagonal:</b> Improves upon plain diagonal at minimal extra cost; useful when large stiffness contrasts exist between parts.</li></ul>",
            "default" : "INCOMPLETE_CHOLESKY",
            "enum" : [ "DIAGONAL", "SCALED_DIAGONAL", "INCOMPLETE_CHOLESKY" ]
          },
          "nonConvergenceAction" : {
            "title" : "When not converged",
            "type" : "string",
            "description" : "<p>Defines what Marc should do if the iterative solver fails to converge within the allowed number of iterations for a given increment.</p><ul><li><b>Switch to Direct Solver:</b> Automatically falls back to the direct solver for the failed increment and then resumes iterative solving for subsequent increments. This provides a safety net while still benefiting from the lower memory usage of the iterative solver in most increments.</li><li><b>Stop:</b> Terminates the analysis if the iterative solver does not converge. Use this when a fallback to the direct solver is not feasible due to memory constraints, or when you want strict control over solver behavior.</li></ul>",
            "default" : "SWITCH_TO_DIRECT_SOLVER",
            "enum" : [ "STOP", "SWITCH_TO_DIRECT_SOLVER" ]
          },
          "convergenceTolerance" : {
            "title" : "Convergence tolerance",
            "minimum" : 0.0,
            "exclusiveMinimum" : true,
            "type" : "number",
            "description" : "<p>The relative residual tolerance used to determine when the iterative solver has found a sufficiently accurate solution to the linear system within a single Newton-Raphson iteration. The solver stops when the norm of the residual is reduced below the fraction of the initial residual. A smaller value gives a more accurate linear solution but requires more iterations; the default of 10<sup>-4</sup> is suitable for most nonlinear structural analyses.</p>",
            "default" : 1.0E-4
          }
        },
        "additionalProperties" : false
      },
      "Simulation.MarcNonlinearSolverSettings" : {
        "type" : "object",
        "properties" : {
          "iterativeProcedure" : {
            "title" : "Iterative procedure",
            "type" : "string",
            "description" : "<p>Determines how the global stiffness matrix is updated during the nonlinear equilibrium search. This choice balances the speed of convergence against the computational cost per iteration.</p><ul><li><b>Full Newton-Raphson:</b> Recomputes and factorizes the stiffness matrix at every single iteration. It provides the most robust convergence for highly nonlinear problems.</li><li><b>Modified Newton-Raphson:</b> Updates the stiffness matrix only at the beginning of each increment, reusing it for all subsequent iterations. This reduces the cost per iteration but may require more iterations or smaller time steps to converge in nonlinear cases.</li><li><b>Newton-Raphson with strain correction:</b> A variation of the Newton-Raphson method that applies a correction based on the strain increment to improve stability. It is particularly useful in material nonlinearities where plastic flow or creep is dominant.</li></ul>",
            "default" : "FULL_NEWTON_RAPHSON",
            "enum" : [ "FULL_NEWTON_RAPHSON", "MODIFIED_NEWTON_RAPHSON", "NEWTON_RAPHSON_STRAIN_CORRECTION" ]
          },
          "initialStressStiffnessContribution" : {
            "title" : "Contribution of initial stress to stiffness",
            "type" : "string",
            "description" : "<p>Controls how the current state of stress in the material (geometric stiffness) influences the overall stiffness matrix. This is critical for capturing effects like &quot;stress stiffening&quot; in thin membranes or stability in buckled structures.</p><ul><li><b>Full contribution:</b> Includes the complete geometric stiffness matrix based on the current stress state. Use this for standard large displacement or buckling analyses to ensure all physical stiffening/softening effects are captured.</li><li><b>No initial stress stiffness:</b> Ignores the geometric stiffness component, relying solely on the material stiffness. This can be used to improve stability in specific cases where stress-induced numerical fluctuations prevent convergence, though it may reduce physical accuracy.</li><li><b>Only positive stress:</b> Includes the geometric stiffness only for regions under tension, neglecting the destabilizing effects of compression. This is sometimes used to stabilize membranes or cables that cannot support compressive loads.</li><li><b>Reduce proportional to hydrostatic pressure:</b> Modifies the geometric stiffness based on the pressure component of the stress tensor. This is typically used in specialized rubber or foam applications to prevent numerical instabilities under high confinement.</li><li><b>Stress at beginning of increment:</b> Uses the stress state from the end of the previous increment to form the geometric stiffness for the current one. This can speed up calculation but may lead to &quot;lagging&quot; errors in highly dynamic or rapidly changing nonlinear cases.</li></ul>",
            "default" : "FULL_CONTRIBUTION",
            "enum" : [ "FULL_CONTRIBUTION", "NO_CONTRIBUTION", "TENSILE_STRESS", "DEVIATORIC_STRESS", "BEGIN_INCREMENT_STRESS", "PRINCIPAL_TENSILE_STRESS" ]
          },
          "maxNumberOfRecycles" : {
            "title" : "Max recycles during an increment",
            "minimum" : 0,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "description" : "<p>Defines the upper limit for the number of additional equilibrium iterations (recycles) within a single increment. If Marc cannot converge within this many recycles, the increment is reduced or the simulation stops.</p>",
            "default" : 20
          },
          "minNumberOfRecycles" : {
            "title" : "Min recycles during an increment",
            "minimum" : 0,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "description" : "<p>Defines the lower limit of the number of equilibrium recycles within a single increment. Setting this above 1 ensures that Marc always performs multiple iterations, which can help to avoid false convergence due to numerical noise.</p>",
            "default" : 0
          },
          "convergenceMethod" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_MarcNonlinearSolverSettingsConvergenceMethod"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.ResidualsConvergenceMethod" : {
        "title" : "Residuals",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: ResidualsConvergenceMethod",
            "default" : "RESIDUALS"
          },
          "convergenceCriteria" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_ResidualsConvergenceMethodConvergenceCriteria"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.RelativeConvergenceResiduals" : {
        "title" : "Relative",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: RelativeConvergenceResiduals",
            "default" : "RELATIVE"
          },
          "relativeForceTolerance" : {
            "title" : "Relative force tolerance",
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "description" : "<p>The ratio of the maximum residual force to the maximum reaction force (or applied load). A typical value is 5 &times; 10<sup>-2</sup> (5%) or 10<sup>-2</sup>, ensuring that the error in force balance is negligible.</p>",
            "default" : 0.05
          },
          "relativeMomentTolerance" : {
            "title" : "Relative moment tolerance",
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "default" : 0.0
          },
          "relativeResidualAutoSwitch" : {
            "title" : "Auto switch method",
            "type" : "boolean",
            "description" : "<p><b>Auto switch method:</b> Automatically toggles the convergence criteria between residual, displacement, or energy methods if the primary method becomes numerically unstable due to near-zero reactions or displacements. It is <b>recommended for complex nonlinear assemblies</b> to maintain progress without manually relaxing the tolerances.</p>",
            "default" : true
          }
        },
        "additionalProperties" : false
      },
      "Simulation.AbsoluteConvergenceResiduals" : {
        "title" : "Absolute",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: AbsoluteConvergenceResiduals",
            "default" : "ABSOLUTE"
          },
          "maxResidualForce" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Force"
          },
          "maxResidualMoment" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Torque"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.Dimensional_Torque" : {
        "required" : [ "unit" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "title" : "Value",
            "type" : "number"
          },
          "unit" : {
            "title" : "Unit",
            "type" : "string",
            "enum" : [ "N·m", "lbf·in", "lbf·ft" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.AdaptiveConvergenceResiduals" : {
        "title" : "Adaptive",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: AdaptiveConvergenceResiduals",
            "default" : "ADAPTIVE"
          },
          "relativeForceTolerance" : {
            "title" : "Relative force tolerance",
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "description" : "<p>The ratio of the maximum residual force to the maximum reaction force (or applied load). A typical value is 5 &times; 10<sup>-2</sup> (5%) or 10<sup>-2</sup>, ensuring that the error in force balance is negligible.</p>",
            "default" : 0.05
          },
          "maxResidualForce" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Force"
          },
          "relativeMomentTolerance" : {
            "title" : "Relative moment tolerance",
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "default" : 0.0
          },
          "maxResidualMoment" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Torque"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.DisplacementsConvergenceMethod" : {
        "title" : "Displacement",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: DisplacementsConvergenceMethod",
            "default" : "DISPLACEMENTS"
          },
          "convergenceCriteria" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_DisplacementsConvergenceMethodConvergenceCriteria"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.RelativeConvergenceDisplacements" : {
        "title" : "Relative",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: RelativeConvergenceDisplacements",
            "default" : "RELATIVE"
          },
          "relativeDisplacementTolerance" : {
            "title" : "Relative displacement tolerance",
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "description" : "<p>The ratio of the maximum displacement change in the current iteration to the maximum displacement in the current increment. It ensures the geometry has stopped changing significantly before finishing the step.</p>",
            "default" : 0.1
          },
          "relativeRotationTolerance" : {
            "title" : "Relative rotation tolerance",
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "default" : 0.0
          }
        },
        "additionalProperties" : false
      },
      "Simulation.AbsoluteConvergenceDisplacements" : {
        "title" : "Absolute",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: AbsoluteConvergenceDisplacements",
            "default" : "ABSOLUTE"
          },
          "maxDisplacementIncrement" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Length"
          },
          "maxRotationIncrement" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Angle"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.AdaptiveConvergenceDisplacements" : {
        "title" : "Adaptive",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: AdaptiveConvergenceDisplacements",
            "default" : "ADAPTIVE"
          },
          "relativeDisplacementTolerance" : {
            "title" : "Relative displacement tolerance",
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "description" : "<p>The ratio of the maximum displacement change in the current iteration to the maximum displacement in the current increment. It ensures the geometry has stopped changing significantly before finishing the step.</p>",
            "default" : 0.1
          },
          "maxDisplacementIncrement" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Length"
          },
          "relativeRotationTolerance" : {
            "title" : "Relative rotation tolerance",
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "default" : 0.0
          },
          "maxRotationIncrement" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Angle"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.StrainEnergyConvergenceMethod" : {
        "title" : "Strain energy",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: StrainEnergyConvergenceMethod",
            "default" : "STRAIN_ENERGY"
          },
          "strainEnergyTolerance" : {
            "title" : "Strain energy tolerance",
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "description" : "<p>The ratio of the incremental strain energy to the total strain energy. Because energy is a scalar, this criterion is often smoother and less sensitive to local numerical noise than force or displacement checks.</p>",
            "default" : 0.1
          }
        },
        "additionalProperties" : false
      },
      "Simulation.ResidualsOrDisplacementsConvergenceMethod" : {
        "title" : "Residuals or displacements",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: ResidualsOrDisplacementsConvergenceMethod",
            "default" : "RESIDUALS_OR_DISPLACEMENTS"
          },
          "convergenceCriteria" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_ResidualsOrDisplacementsConvergenceMethodConvergenceCriteria"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.RelativeConvergenceResidualsOrDisplacements" : {
        "title" : "Relative",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: RelativeConvergenceResidualsOrDisplacements",
            "default" : "RELATIVE"
          },
          "relativeForceTolerance" : {
            "title" : "Relative force tolerance",
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "default" : 0.05
          },
          "relativeMomentTolerance" : {
            "title" : "Relative moment tolerance",
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "default" : 0.0
          },
          "relativeDisplacementTolerance" : {
            "title" : "Relative displacement tolerance",
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "default" : 0.1
          },
          "relativeRotationTolerance" : {
            "title" : "Relative rotation tolerance",
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "default" : 0.0
          }
        },
        "additionalProperties" : false
      },
      "Simulation.AbsoluteConvergenceResidualsOrDisplacements" : {
        "title" : "Absolute",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: AbsoluteConvergenceResidualsOrDisplacements",
            "default" : "ABSOLUTE"
          },
          "maxResidualForce" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Force"
          },
          "maxResidualMoment" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Torque"
          },
          "maxDisplacementIncrement" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Length"
          },
          "maxRotationIncrement" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Angle"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.AdaptiveConvergenceResidualsOrDisplacements" : {
        "title" : "Adaptive",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: AdaptiveConvergenceResidualsOrDisplacements",
            "default" : "ADAPTIVE"
          },
          "relativeForceTolerance" : {
            "title" : "Relative force tolerance",
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "default" : 0.05
          },
          "maxResidualForce" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Force"
          },
          "relativeMomentTolerance" : {
            "title" : "Relative moment tolerance",
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "default" : 0.0
          },
          "maxResidualMoment" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Torque"
          },
          "relativeDisplacementTolerance" : {
            "title" : "Relative displacement tolerance",
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "default" : 0.1
          },
          "maxDisplacementIncrement" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Length"
          },
          "relativeRotationTolerance" : {
            "title" : "Relative rotation tolerance",
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "default" : 0.0
          },
          "maxRotationIncrement" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Angle"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.LoadStep" : {
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: LoadStep",
            "default" : "LOAD_STEP"
          },
          "id" : {
            "title" : "Id",
            "type" : "string",
            "format" : "uuid"
          },
          "name" : {
            "title" : "Name",
            "type" : "string"
          },
          "duration" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Time"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.MarcSimulationControl" : {
        "type" : "object",
        "properties" : {
          "timestepDefinition" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_MarcSimulationControlTimestepDefinition"
          },
          "outputWritingContainer" : {
            "$ref" : "#/components/schemas/Simulation.MarcOutputWritingContainer"
          },
          "numProcessors" : {
            "title" : "Number of processors",
            "maximum" : 192,
            "exclusiveMaximum" : false,
            "minimum" : -1,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "description" : "<p>Selecting more processor cores will speed up the simulation process. Choosing a smaller computation instance will save core hours. <a href='https://www.simscale.com/docs/simulation-setup/simulation-control-fluid/#number-of-processors' target='_blank'>Learn more</a>.</p>",
            "format" : "int64",
            "default" : -1,
            "enum" : [ -1, 1, 2, 4, 8, 16, 32, 48, 64, 96, 128, 192 ]
          },
          "manuallyAssignParallelization" : {
            "title" : "Manually assign parallelization",
            "type" : "boolean",
            "default" : false
          },
          "nprocds" : {
            "title" : "Number of processors for domain decomposition via MPI (nprocds)",
            "minimum" : -1,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "default" : -1,
            "x-showWhen" : [ "1/manuallyAssignParallelization == true" ]
          },
          "nte" : {
            "title" : "Number of assembly threads for shared memory parallelization (nte)",
            "minimum" : -1,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "default" : -1,
            "x-showWhen" : [ "1/manuallyAssignParallelization == true" ]
          },
          "nts" : {
            "title" : "Number of solver threads for shared memory parallelization (nts)",
            "minimum" : -1,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "default" : -1,
            "x-showWhen" : [ "1/manuallyAssignParallelization == true" ]
          },
          "nsolver" : {
            "title" : "Number of processors for solver parallelization via MPI (nsolver)",
            "minimum" : -1,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "default" : -1,
            "x-showWhen" : [ "1/manuallyAssignParallelization == true" ]
          },
          "maxRunTime" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Time"
          },
          "livePostprocessing" : {
            "title" : "Live results processing",
            "type" : "boolean",
            "description" : "<p>Determines whether simulation results are updated in the post-processor in real-time while the solver is still running. Enabling this allows for early inspection of the structural behavior before the full analysis completes. This option is particularly useful for long running simulations.</p>",
            "default" : true
          }
        },
        "additionalProperties" : false
      },
      "Simulation.AutomaticTimeStepDefintion" : {
        "title" : "Automatic",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: AutomaticTimeStepDefintion",
            "default" : "AUTOMATIC"
          },
          "endTime" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Time"
          },
          "initialTimeStep" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Time"
          },
          "minimumTimeStep" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Time"
          },
          "maximumTimeStep" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Time"
          },
          "physicalCriteria" : {
            "title" : "Physical criteria",
            "type" : "boolean",
            "description" : "Enable or disable user-defined criteria to control automatic time stepping adjustments during simulation.",
            "default" : false
          },
          "displacementCriteria" : {
            "title" : "Displacement",
            "type" : "boolean",
            "description" : "Enable to limit time step based on displacement increment.",
            "default" : false,
            "x-showWhen" : [ "1/physicalCriteria == true" ]
          },
          "displacementIncrement" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Length"
          },
          "totalStrainCriteria" : {
            "title" : "Total strain",
            "type" : "boolean",
            "description" : "Enable to limit time step based on total strain increment.",
            "default" : false,
            "x-showWhen" : [ "1/physicalCriteria == true" ]
          },
          "totalStrainIncrement" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Dimensionless"
          },
          "plasticStrainCriteria" : {
            "title" : "Plastic strain",
            "type" : "boolean",
            "description" : "Enable to limit time step based on plastic strain increment.",
            "default" : false,
            "x-showWhen" : [ "1/physicalCriteria == true" ]
          },
          "plasticStrainIncrement" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Dimensionless"
          },
          "stressCriteria" : {
            "title" : "Stress",
            "type" : "boolean",
            "description" : "Enable to limit time step based on stress increment.",
            "default" : false,
            "x-showWhen" : [ "1/physicalCriteria == true" ]
          },
          "stressIncrement" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Pressure"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.ManualTimeStepDefintion" : {
        "title" : "Manual",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: ManualTimeStepDefintion",
            "default" : "MANUAL"
          },
          "endTime" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Time"
          },
          "timeStepLength" : {
            "$ref" : "#/components/schemas/Simulation.DimensionalFunction_Time"
          },
          "cutbacks" : {
            "title" : "Allowed cutbacks",
            "minimum" : 0,
            "exclusiveMinimum" : true,
            "type" : "integer",
            "description" : "The maximum number of times to cut down the time step in each increment when convergence criteria are not met.",
            "default" : 10
          }
        },
        "additionalProperties" : false
      },
      "Simulation.MarcOutputWritingContainer" : {
        "type" : "object",
        "properties" : {
          "outputWriting" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_MarcOutputWritingContainerOutputWriting"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.AllComputed" : {
        "title" : "All computed",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: AllComputed",
            "default" : "ALL_COMPUTED"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.WriteInterval" : {
        "title" : "Write interval",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: WriteInterval",
            "default" : "WRITE_INTERVAL"
          },
          "writeInterval" : {
            "title" : "Write interval",
            "maximum" : 1000,
            "exclusiveMaximum" : false,
            "minimum" : 1,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "description" : "Output results are saved every <i>n</i> time steps. Use a value larger than one to reduce the size of the output data and speed up the post-processing.",
            "default" : 1
          }
        },
        "additionalProperties" : false
      },
      "Simulation.OutputSteps" : {
        "title" : "Output steps",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: OutputSteps",
            "default" : "OUTPUT_STEPS"
          },
          "numberOfOutputSteps" : {
            "title" : "Number of output steps",
            "maximum" : 1000,
            "exclusiveMaximum" : false,
            "minimum" : 1,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "description" : "Specify the number of output steps for the entire simulation. They are distributed as evenly as possible.",
            "default" : 20
          }
        },
        "additionalProperties" : false
      },
      "Simulation.MarcResultControl" : {
        "type" : "object",
        "properties" : {
          "solutionFields" : {
            "title" : "Solution fields",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.OneOf_MarcResultControlSolutionFields"
            },
            "x-conditionalDefaults" : [ {
              "when" : [ "type == MARC_ANALYSIS" ],
              "default" : [ {
                "type" : "DISPLACEMENT",
                "name" : "Displacement",
                "displacementType" : {
                  "type" : "GLOBAL"
                }
              }, {
                "type" : "STRESS",
                "name" : "Von Mises stress",
                "stressType" : {
                  "type" : "VON_MISES"
                }
              }, {
                "type" : "STRAIN",
                "name" : "Equivalent elastic strain",
                "strainType" : {
                  "type" : "EQUIVALENT_ELASTIC"
                }
              }, {
                "type" : "STRESS",
                "name" : "Cauchy stress",
                "stressType" : {
                  "type" : "CAUCHY"
                }
              }, {
                "type" : "STRAIN",
                "name" : "Total strain",
                "strainType" : {
                  "type" : "TOTAL"
                }
              } ]
            } ]
          },
          "areaCalculation" : {
            "title" : "Area calculation",
            "type" : "array",
            "description" : "<ul><li><b>Min-max</b>: Identifies and records the absolute minimum and maximum values of the selected field within the designated area or volume.<li><b>Average</b>: Calculates the <b>nodal average</b> of the selected field across the entity. This can provide a representative mean value if the mesh is uniformly distributed, but might be skewed for meshes with highly varying element sizes, as the average is not area- or volume-weighted.<li><b>Sum</b>: Calculates the sum of the nodal field values across all nodes of the assigned area or volume; for example, summing \"contact body force\" returns the total contact force acting on the assigned body.</ul>",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.OneOf_MarcResultControlAreaCalculation"
            }
          },
          "volumeCalculation" : {
            "title" : "Volume calculation",
            "type" : "array",
            "description" : "<ul><li><b>Min-max</b>: Identifies and records the absolute minimum and maximum values of the selected field within the designated area or volume.<li><b>Average</b>: Calculates the <b>nodal average</b> of the selected field across the entity. This can provide a representative mean value if the mesh is uniformly distributed, but might be skewed for meshes with highly varying element sizes, as the average is not area- or volume-weighted.<li><b>Sum</b>: Calculates the sum of the nodal field values across all nodes of the assigned area or volume; for example, summing \"contact body force\" returns the total contact force acting on the assigned body.</ul>",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.OneOf_MarcResultControlVolumeCalculation"
            }
          },
          "connectorPointData" : {
            "title" : "Connector point data",
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Simulation.MarcConnectorPointDataItem"
            }
          }
        },
        "additionalProperties" : false
      },
      "Simulation.MarcDisplacementResultControlItem" : {
        "title" : "Displacement",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: MarcDisplacementResultControlItem",
            "default" : "DISPLACEMENT"
          },
          "name" : {
            "title" : "Name",
            "pattern" : "^[A-Za-z()][-+0-9a-zA-Z_()\\h]{0,199}$",
            "type" : "string"
          },
          "displacementType" : {
            "$ref" : "#/components/schemas/Simulation.GlobalDisplacement"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.GlobalDisplacement" : {
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: GlobalDisplacement",
            "default" : "GLOBAL"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.MarcForceResultControlItem" : {
        "title" : "Force",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: MarcForceResultControlItem",
            "default" : "FORCE"
          },
          "name" : {
            "title" : "Name",
            "pattern" : "^[A-Za-z()][-+0-9a-zA-Z_()\\h]{0,199}$",
            "type" : "string"
          },
          "forceType" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_MarcForceResultControlItemForceType"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.ReactionForce" : {
        "title" : "Reaction force",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: ReactionForce",
            "default" : "REACTION"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.ExternalForce" : {
        "title" : "External force",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: ExternalForce",
            "default" : "EXTERNAL"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.MarcPressureResultControlItem" : {
        "title" : "Pressure",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: MarcPressureResultControlItem",
            "default" : "PRESSURE"
          },
          "name" : {
            "title" : "Name",
            "pattern" : "^[A-Za-z()][-+0-9a-zA-Z_()\\h]{0,199}$",
            "type" : "string"
          },
          "pressureType" : {
            "$ref" : "#/components/schemas/Simulation.ExternalPressure"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.ExternalPressure" : {
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: ExternalPressure",
            "default" : "EXTERNAL"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.MarcStressResultControlItem" : {
        "title" : "Stress",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: MarcStressResultControlItem",
            "default" : "STRESS"
          },
          "name" : {
            "title" : "Name",
            "pattern" : "^[A-Za-z()][-+0-9a-zA-Z_()\\h]{0,199}$",
            "type" : "string"
          },
          "stressType" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_MarcStressResultControlItemStressType"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.CauchyStress" : {
        "title" : "Cauchy stress",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: CauchyStress",
            "default" : "CAUCHY"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.VonMisesStress" : {
        "title" : "Von Mises stress",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: VonMisesStress",
            "default" : "VON_MISES"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.PrincipalStress" : {
        "title" : "Principal stress",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: PrincipalStress",
            "default" : "PRINCIPAL"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.MarcStrainResultControlItem" : {
        "title" : "Strain",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: MarcStrainResultControlItem",
            "default" : "STRAIN"
          },
          "name" : {
            "title" : "Name",
            "pattern" : "^[A-Za-z()][-+0-9a-zA-Z_()\\h]{0,199}$",
            "type" : "string"
          },
          "strainType" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_MarcStrainResultControlItemStrainType"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.TotalStrain" : {
        "title" : "Total strain",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: TotalStrain",
            "default" : "TOTAL"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.ElasticStrain" : {
        "title" : "Elastic strain",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: ElasticStrain",
            "default" : "ELASTIC"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.PlasticStrain" : {
        "title" : "Plastic strain",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: PlasticStrain",
            "default" : "PLASTIC"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.PrincipalTotalStrain" : {
        "title" : "Principal strain (total)",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: PrincipalTotalStrain",
            "default" : "PRINCIPAL_TOTAL"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.PrincipalElasticStrain" : {
        "title" : "Principal strain (elastic)",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: PrincipalElasticStrain",
            "default" : "PRINCIPAL_ELASTIC"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.PrincipalPlasticStrain" : {
        "title" : "Principal strain (plastic)",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: PrincipalPlasticStrain",
            "default" : "PRINCIPAL_PLASTIC"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.EquivalentElasticStrain" : {
        "title" : "Equivalent elastic strain",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: EquivalentElasticStrain",
            "default" : "EQUIVALENT_ELASTIC"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.EquivalentPlasticStrain" : {
        "title" : "Equivalent plastic strain",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: EquivalentPlasticStrain",
            "default" : "EQUIVALENT_PLASTIC"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.MarcContactResultControlItem" : {
        "title" : "Contact result",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: MarcContactResultControlItem",
            "default" : "CONTACT"
          },
          "name" : {
            "title" : "Name",
            "pattern" : "^[A-Za-z()][-+0-9a-zA-Z_()\\h]{0,199}$",
            "type" : "string"
          },
          "contactType" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_MarcContactResultControlItemContactType"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.MarcContactNormalForce" : {
        "title" : "Normal force",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: MarcContactNormalForce",
            "default" : "NORMAL_FORCE"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.MarcContactFrictionForce" : {
        "title" : "Friction force",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: MarcContactFrictionForce",
            "default" : "FRICTION_FORCE"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.MarcContactNormalStress" : {
        "title" : "Normal stress",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: MarcContactNormalStress",
            "default" : "NORMAL_STRESS"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.MarcContactFrictionStress" : {
        "title" : "Friction stress",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: MarcContactFrictionStress",
            "default" : "FRICTION_STRESS"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.MarcContactGap" : {
        "title" : "Gap",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: MarcContactGap",
            "default" : "GAP"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.MarcContactStatus" : {
        "title" : "State",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: MarcContactStatus",
            "default" : "STATUS"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.MarcContactPressure" : {
        "title" : "Pressure",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: MarcContactPressure",
            "default" : "PRESSURE"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.MarcTemperatureResultControlItem" : {
        "title" : "Temperature",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: MarcTemperatureResultControlItem",
            "default" : "TEMPERATURE"
          },
          "name" : {
            "title" : "Name",
            "type" : "string"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.MarcHeatFluxResultControlItem" : {
        "title" : "Heat flux",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: MarcHeatFluxResultControlItem",
            "default" : "HEAT_FLUX"
          },
          "name" : {
            "title" : "Name",
            "type" : "string"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.MarcMinMaxFieldsCalculationResultControlItem" : {
        "title" : "Min-max",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: MarcMinMaxFieldsCalculationResultControlItem",
            "default" : "MIN_MAX_FIELDS_CALCULATION"
          },
          "name" : {
            "title" : "Name",
            "pattern" : "^[A-Za-z()][-+0-9a-zA-Z_()\\h]{0,199}$",
            "type" : "string"
          },
          "fieldSelection" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_MarcMinMaxFieldsCalculationResultControlItemFieldSelection"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.MarcDisplacementFieldSelection" : {
        "title" : "Displacement",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: MarcDisplacementFieldSelection",
            "default" : "DISPLACEMENT"
          },
          "displacementType" : {
            "$ref" : "#/components/schemas/Simulation.MarcGlobalDisplacementFieldType"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.MarcGlobalDisplacementFieldType" : {
        "title" : "Displacement",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: MarcGlobalDisplacementFieldType",
            "default" : "GLOBAL"
          },
          "componentSelection" : {
            "title" : "Component selection",
            "type" : "string",
            "default" : "ALL",
            "enum" : [ "X", "Y", "Z", "ALL" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.MarcPressureFieldSelection" : {
        "title" : "Pressure",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: MarcPressureFieldSelection",
            "default" : "PRESSURE"
          },
          "pressureType" : {
            "$ref" : "#/components/schemas/Simulation.MarcExternalPressureType"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.MarcExternalPressureType" : {
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: MarcExternalPressureType",
            "default" : "EXTERNAL"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.MarcStressFieldSelection" : {
        "title" : "Stress",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: MarcStressFieldSelection",
            "default" : "STRESS"
          },
          "stressType" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_MarcStressFieldSelectionStressType"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.MarcCauchyStressType" : {
        "title" : "Cauchy stress",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: MarcCauchyStressType",
            "default" : "CAUCHY"
          },
          "componentSelection" : {
            "title" : "Component selection",
            "type" : "string",
            "default" : "ALL",
            "enum" : [ "XX", "YY", "ZZ", "XY", "XZ", "YZ", "ALL" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.MarcVonMisesStressType" : {
        "title" : "Von Mises stress",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: MarcVonMisesStressType",
            "default" : "VON_MISES"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.MarcPrincipalStressType" : {
        "title" : "Principal stress",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: MarcPrincipalStressType",
            "default" : "PRINCIPAL"
          },
          "componentSelection" : {
            "title" : "Component selection",
            "type" : "string",
            "default" : "ALL",
            "enum" : [ "MIN", "MID", "MAX", "ALL" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.MarcStrainFieldSelection" : {
        "title" : "Strain",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: MarcStrainFieldSelection",
            "default" : "STRAIN"
          },
          "strainType" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_MarcStrainFieldSelectionStrainType"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.MarcTotalStrainType" : {
        "title" : "Total strain",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: MarcTotalStrainType",
            "default" : "TOTAL"
          },
          "componentSelection" : {
            "title" : "Component selection",
            "type" : "string",
            "default" : "ALL",
            "enum" : [ "XX", "YY", "ZZ", "XY", "XZ", "YZ", "ALL" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.MarcElasticStrainType" : {
        "title" : "Elastic strain",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: MarcElasticStrainType",
            "default" : "ELASTIC"
          },
          "componentSelection" : {
            "title" : "Component selection",
            "type" : "string",
            "default" : "ALL",
            "enum" : [ "XX", "YY", "ZZ", "XY", "XZ", "YZ", "ALL" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.MarcPlasticStrainType" : {
        "title" : "Plastic strain",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: MarcPlasticStrainType",
            "default" : "PLASTIC"
          },
          "componentSelection" : {
            "title" : "Component selection",
            "type" : "string",
            "default" : "ALL",
            "enum" : [ "XX", "YY", "ZZ", "XY", "XZ", "YZ", "ALL" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.MarcPrincipalTotalStrainType" : {
        "title" : "Principal strain (total)",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: MarcPrincipalTotalStrainType",
            "default" : "PRINCIPAL_TOTAL"
          },
          "componentSelection" : {
            "title" : "Component selection",
            "type" : "string",
            "default" : "ALL",
            "enum" : [ "MIN", "MID", "MAX", "ALL" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.MarcPrincipalElasticStrainType" : {
        "title" : "Principal strain (elastic)",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: MarcPrincipalElasticStrainType",
            "default" : "PRINCIPAL_ELASTIC"
          },
          "componentSelection" : {
            "title" : "Component selection",
            "type" : "string",
            "default" : "ALL",
            "enum" : [ "MIN", "MID", "MAX", "ALL" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.MarcPrincipalPlasticStrainType" : {
        "title" : "Principal strain (plastic)",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: MarcPrincipalPlasticStrainType",
            "default" : "PRINCIPAL_PLASTIC"
          },
          "componentSelection" : {
            "title" : "Component selection",
            "type" : "string",
            "default" : "ALL",
            "enum" : [ "MIN", "MID", "MAX", "ALL" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.MarcEquivalentElasticStrainType" : {
        "title" : "Equivalent elastic strain",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: MarcEquivalentElasticStrainType",
            "default" : "EQUIVALENT_ELASTIC"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.MarcEquivalentPlasticStrainType" : {
        "title" : "Equivalent plastic strain",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: MarcEquivalentPlasticStrainType",
            "default" : "EQUIVALENT_PLASTIC"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.MarcContactFieldSelection" : {
        "title" : "Contact result",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: MarcContactFieldSelection",
            "default" : "CONTACT"
          },
          "contactType" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_MarcContactFieldSelectionContactType"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.MarcContactNormalStressType" : {
        "title" : "Normal stress",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: MarcContactNormalStressType",
            "default" : "NORMAL_STRESS"
          },
          "componentSelection" : {
            "title" : "Component selection",
            "type" : "string",
            "default" : "ALL",
            "enum" : [ "X", "Y", "Z", "ALL" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.MarcContactFrictionStressType" : {
        "title" : "Friction stress",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: MarcContactFrictionStressType",
            "default" : "FRICTION_STRESS"
          },
          "componentSelection" : {
            "title" : "Component selection",
            "type" : "string",
            "default" : "ALL",
            "enum" : [ "X", "Y", "Z", "ALL" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.MarcContactGapType" : {
        "title" : "Gap",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: MarcContactGapType",
            "default" : "GAP"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.MarcContactStatusType" : {
        "title" : "State",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: MarcContactStatusType",
            "default" : "STATUS"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.MarcContactPressureType" : {
        "title" : "Pressure",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: MarcContactPressureType",
            "default" : "PRESSURE"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.MarcAverageFieldsCalculationResultControlItem" : {
        "title" : "Average",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: MarcAverageFieldsCalculationResultControlItem",
            "default" : "AVERAGE_FIELDS_CALCULATION"
          },
          "name" : {
            "title" : "Name",
            "pattern" : "^[A-Za-z()][-+0-9a-zA-Z_()\\h]{0,199}$",
            "type" : "string"
          },
          "fieldSelection" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_MarcAverageFieldsCalculationResultControlItemFieldSelection"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.MarcSumFieldsCalculationResultControlItem" : {
        "title" : "Sum",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: MarcSumFieldsCalculationResultControlItem",
            "default" : "SUM_FIELDS_CALCULATION"
          },
          "name" : {
            "title" : "Name",
            "pattern" : "^[A-Za-z()][-+0-9a-zA-Z_()\\h]{0,199}$",
            "type" : "string"
          },
          "fieldSelection" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_MarcSumFieldsCalculationResultControlItemFieldSelection"
          },
          "topologicalReference" : {
            "$ref" : "#/components/schemas/Simulation.TopologicalReference"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.MarcForceFieldSelection" : {
        "title" : "Force",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: MarcForceFieldSelection",
            "default" : "FORCE"
          },
          "forceType" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_MarcForceFieldSelectionForceType"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.MarcReactionForceType" : {
        "title" : "Reaction force",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: MarcReactionForceType",
            "default" : "REACTION"
          },
          "componentSelection" : {
            "title" : "Component selection",
            "type" : "string",
            "default" : "ALL",
            "enum" : [ "X", "Y", "Z", "ALL" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.MarcExternalForceType" : {
        "title" : "External force",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: MarcExternalForceType",
            "default" : "EXTERNAL"
          },
          "componentSelection" : {
            "title" : "Component selection",
            "type" : "string",
            "default" : "ALL",
            "enum" : [ "X", "Y", "Z", "ALL" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.MarcContactForceFieldSelection" : {
        "title" : "Contact result",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: MarcContactForceFieldSelection",
            "default" : "CONTACT_FORCE"
          },
          "contactType" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_MarcContactForceFieldSelectionContactType"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.MarcContactNormalForceType" : {
        "title" : "Normal force",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: MarcContactNormalForceType",
            "default" : "NORMAL_FORCE"
          },
          "componentSelection" : {
            "title" : "Component selection",
            "type" : "string",
            "default" : "ALL",
            "enum" : [ "X", "Y", "Z", "ALL" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.MarcContactFrictionForceType" : {
        "title" : "Friction force",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: MarcContactFrictionForceType",
            "default" : "FRICTION_FORCE"
          },
          "componentSelection" : {
            "title" : "Component selection",
            "type" : "string",
            "default" : "ALL",
            "enum" : [ "X", "Y", "Z", "ALL" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.MarcContactBodyForceType" : {
        "title" : "Contact body force",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: MarcContactBodyForceType",
            "default" : "BODY_FORCE"
          },
          "componentSelection" : {
            "title" : "Component selection",
            "type" : "string",
            "default" : "ALL",
            "enum" : [ "X", "Y", "Z", "ALL" ]
          }
        },
        "additionalProperties" : false
      },
      "Simulation.MarcConnectorPointDataItem" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "title" : "Name",
            "pattern" : "^[A-Za-z()][-+0-9a-zA-Z_()\\h]{0,199}$",
            "type" : "string"
          },
          "results" : {
            "$ref" : "#/components/schemas/Simulation.OneOf_MarcConnectorPointDataItemResults"
          },
          "geometryPrimitiveUuids" : {
            "title" : "Geometry primitives",
            "type" : "array",
            "items" : {
              "type" : "string",
              "format" : "uuid"
            },
            "x-referencedPrimitivesOptions" : {
              "allowMultiple" : true,
              "pathToPrimitives" : "geometryPrimitives",
              "allowedReferencedPrimitiveTypes" : [ "POINT" ]
            }
          }
        },
        "additionalProperties" : false
      },
      "Simulation.AllConnectorPointDataResults" : {
        "title" : "All",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: AllConnectorPointDataResults",
            "default" : "ALL"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.CustomConnectorPointDataResults" : {
        "title" : "Custom",
        "required" : [ "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "title" : "Type",
            "type" : "string",
            "description" : "Schema name: CustomConnectorPointDataResults",
            "default" : "CUSTOM"
          },
          "displacements" : {
            "title" : "Displacements",
            "type" : "boolean",
            "default" : false
          },
          "rotations" : {
            "title" : "Rotations",
            "type" : "boolean",
            "default" : false
          },
          "reactionForces" : {
            "title" : "Reaction Forces",
            "type" : "boolean",
            "default" : false
          },
          "reactionMoments" : {
            "title" : "Reaction Moments",
            "type" : "boolean",
            "default" : false
          },
          "externalForces" : {
            "title" : "External Forces",
            "type" : "boolean",
            "default" : false
          },
          "externalMoments" : {
            "title" : "External Moments",
            "type" : "boolean",
            "default" : false
          }
        },
        "additionalProperties" : false
      },
      "Simulation.TestsolverSimulationControl" : {
        "type" : "object",
        "properties" : {
          "numProcessors" : {
            "title" : "Number of processors",
            "maximum" : 192,
            "exclusiveMaximum" : false,
            "minimum" : -1,
            "exclusiveMinimum" : false,
            "type" : "integer",
            "description" : "<p>Selecting more processor cores will speed up the simulation process. Choosing a smaller computation instance will save core hours. <a href='https://www.simscale.com/docs/simulation-setup/simulation-control-fluid/#number-of-processors' target='_blank'>Learn more</a>.</p>",
            "format" : "int64",
            "default" : -1,
            "enum" : [ -1, 1, 2, 4, 8, 16, 32, 48, 64, 96, 128, 192 ]
          },
          "maxRunTime" : {
            "$ref" : "#/components/schemas/Simulation.Dimensional_Time"
          },
          "executionMode" : {
            "type" : "string",
            "default" : "SUCCESS"
          },
          "executionModeConfig" : {
            "type" : "string",
            "default" : "{}"
          }
        },
        "additionalProperties" : false
      },
      "Simulation.OneOf_ImplicitTimeIntegrationTypeScheme" : {
        "title" : "Scheme",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "HHT" : "#/components/schemas/Simulation.HhtTimeIntegrationScheme",
            "NEWMARK" : "#/components/schemas/Simulation.NewmarkTimeIntegrationScheme"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.HhtTimeIntegrationScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.NewmarkTimeIntegrationScheme"
        } ],
        "default" : {
          "type" : "HHT"
        }
      },
      "Simulation.OneOf_ConvectiveHeatTransferMaterialsFluids" : {
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "INCOMPRESSIBLE" : "#/components/schemas/Simulation.IncompressibleMaterial",
            "COMPRESSIBLE" : "#/components/schemas/Simulation.FluidCompressibleMaterial"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.IncompressibleMaterial"
        }, {
          "$ref" : "#/components/schemas/Simulation.FluidCompressibleMaterial"
        } ]
      },
      "Simulation.OneOf_ExternalWallHeatFluxTBCHeatFlux" : {
        "title" : "(q) Heat flux",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "DERIVED" : "#/components/schemas/Simulation.DerivedHeatFlux",
            "FIXED" : "#/components/schemas/Simulation.FixedHeatFlux",
            "FIXED_POWER" : "#/components/schemas/Simulation.FixedPowerHeatFlux"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.DerivedHeatFlux"
        }, {
          "$ref" : "#/components/schemas/Simulation.FixedHeatFlux"
        }, {
          "$ref" : "#/components/schemas/Simulation.FixedPowerHeatFlux"
        } ],
        "x-conditionalHelp" : [ {
          "when" : [ "1/heatFlux/type == FIXED" ]
        }, {
          "when" : [ "1/heatFlux/type == FIXED_POWER" ]
        }, {
          "when" : [ "1/heatFlux/type == DERIVED" ]
        } ],
        "x-conditionalDefaults" : [ {
          "when" : [ "type in [COUPLED_CONJUGATE_HEAT_TRANSFER,EMBEDDED_BOUNDARY]", "type == SIMERICS_ANALYSIS && isCompressible == true" ],
          "default" : {
            "type" : "FIXED"
          }
        }, {
          "when" : [ "type in [CONJUGATE_HEAT_TRANSFER,COMPRESSIBLE,CONVECTIVE_HEAT_TRANSFER]" ],
          "default" : {
            "type" : "DERIVED"
          }
        } ]
      },
      "Simulation.OneOf_GeneralDarcyForchheimerPacefishDarcyForchheimerType" : {
        "title" : "Permeability type",
        "description" : "The type of Darcy-Forchheimer porous object defines its directional behaviour.",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "ISOTROPIC" : "#/components/schemas/Simulation.IsotropicDarcyForchheimer",
            "RECTIFYING" : "#/components/schemas/Simulation.RectifyingDarcyForchheimer"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.IsotropicDarcyForchheimer"
        }, {
          "$ref" : "#/components/schemas/Simulation.RectifyingDarcyForchheimer"
        } ],
        "default" : {
          "type" : "ISOTROPIC"
        }
      },
      "Simulation.OneOf_ForcesMomentsResultControlWriteControl" : {
        "title" : "Write control",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "TIME_STEP" : "#/components/schemas/Simulation.TimeStepWriteControl",
            "OUTPUT_TIME" : "#/components/schemas/Simulation.SynchronizeWithFieldOutputWriteControl",
            "HIGH_RESOLUTION" : "#/components/schemas/Simulation.HighResolution",
            "MODERATE_RESOLUTION" : "#/components/schemas/Simulation.ModerateResolution",
            "COARSE_RESOLUTION" : "#/components/schemas/Simulation.CoarseResolution",
            "CUSTOM_RESOLUTION" : "#/components/schemas/Simulation.CustomResolution"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.TimeStepWriteControl"
        }, {
          "$ref" : "#/components/schemas/Simulation.SynchronizeWithFieldOutputWriteControl"
        }, {
          "$ref" : "#/components/schemas/Simulation.HighResolution"
        }, {
          "$ref" : "#/components/schemas/Simulation.ModerateResolution"
        }, {
          "$ref" : "#/components/schemas/Simulation.CoarseResolution"
        }, {
          "$ref" : "#/components/schemas/Simulation.CustomResolution"
        } ],
        "x-showWhen" : [ "type in [INCOMPRESSIBLE,INCOMPRESSIBLE_PACEFISH,COMPRESSIBLE,CONVECTIVE_HEAT_TRANSFER,MULTIPHASE,WIND_COMFORT]" ],
        "x-conditionalDefaults" : [ {
          "when" : [ "type in [INCOMPRESSIBLE,COMPRESSIBLE,CONVECTIVE_HEAT_TRANSFER,MULTIPHASE]" ],
          "default" : {
            "type" : "TIME_STEP"
          }
        }, {
          "when" : [ "type in [INCOMPRESSIBLE_PACEFISH,WIND_COMFORT]" ],
          "default" : {
            "type" : "MODERATE_RESOLUTION"
          }
        } ]
      },
      "Simulation.OneOf_NewtonResolutionTypeConvergenceCriteria" : {
        "title" : "Convergence criteria",
        "description" : "Select the convergence criterion for the nonlinear solution method.</p>Important remarks: <br /><ul><li>When <b>Absolute</b> is selected, the convergence is reached if the maximum absolute residual of a given Newton iteration is lower than the defined tolerance.</li><li>If <b>Relative</b> is chosen, then the maximum relative residual i.e. the maximum absolute residual divided by external loads and support reactions, is checked during the Newton iteration. Please note that using the <b>Relative</b> criterion leads to a failed convergence if no external load is present (e.g. two far objects coming into contact). In this case, the <b>Adaptive</b> criterion should be used.</li><li>By selecting the <b>Adaptive</b> option, a combination of both <b>Relative</b> and <b>Absolute</b> criteria is used. That is, in each Newton iteration the <b>Relative</b> is used by default unless the external loads and support reactions have vanished, at which point we check the <b>Absolute</b> one instead.</li></li></ul></ul>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "ADAPTIVE" : "#/components/schemas/Simulation.AdaptiveConvergenceCriteria",
            "RELATIVE" : "#/components/schemas/Simulation.RelativeConvergenceCriteria",
            "ABSOLUTE" : "#/components/schemas/Simulation.AbsoluteConvergenceCriteria"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.AdaptiveConvergenceCriteria"
        }, {
          "$ref" : "#/components/schemas/Simulation.RelativeConvergenceCriteria"
        }, {
          "$ref" : "#/components/schemas/Simulation.AbsoluteConvergenceCriteria"
        } ],
        "default" : {
          "type" : "ADAPTIVE"
        }
      },
      "Simulation.OneOf_NewtonResolutionTypeJacobianMatrix" : {
        "title" : "Jacobian matrix",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "TANGENT" : "#/components/schemas/Simulation.TangentJacobianMatrix",
            "ELASTIC" : "#/components/schemas/Simulation.ElasticJacobianMatrix"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.TangentJacobianMatrix"
        }, {
          "$ref" : "#/components/schemas/Simulation.ElasticJacobianMatrix"
        } ],
        "default" : {
          "type" : "TANGENT"
        }
      },
      "Simulation.OneOf_PressureInletBCPressure" : {
        "title" : "Pressure type",
        "description" : "Please choose a boundary condition for pressure (p). <a href='https://www.simscale.com/docs/simulation-setup/boundary-conditions/pressure-inlet-and-pressure-outlet/' target='_blank'>Learn more</a>.",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "FIXED_VALUE" : "#/components/schemas/Simulation.FixedValuePBC",
            "TOTAL_PRESSURE" : "#/components/schemas/Simulation.TotalPBC"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.FixedValuePBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.TotalPBC"
        } ],
        "default" : {
          "type" : "TOTAL_PRESSURE"
        },
        "x-showWhen" : [ "type == COMPRESSIBLE", "type == SIMERICS_ANALYSIS && isCompressible == true", "type == SIMERICS_ANALYSIS && cavitationModel == CONSTANT_GAS_MASS_FRACTION" ]
      },
      "Simulation.OneOf_PressureInletBCPressureRgh" : {
        "title" : "Pressure type",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "TOTAL_PRESSURE" : "#/components/schemas/Simulation.TotalPBC",
            "HYDROSTATIC_ISOTHERMAL_TOTAL_PRESSURE" : "#/components/schemas/Simulation.HydrostaticIsothermalTotalPBC"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.TotalPBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.HydrostaticIsothermalTotalPBC"
        } ],
        "x-conditionalHelp" : [ {
          "when" : [ "1/pressureRgh/type == TOTAL_PRESSURE" ]
        }, {
          "when" : [ "1/pressureRgh/type == HYDROSTATIC_ISOTHERMAL_TOTAL_PRESSURE" ]
        } ],
        "x-showWhen" : [ "type == CONVECTIVE_HEAT_TRANSFER && isCompressible == true", "type in [COUPLED_CONJUGATE_HEAT_TRANSFER,EMBEDDED_BOUNDARY] && isCompressible == true", "type in [CONJUGATE_HEAT_TRANSFER,MULTIPHASE]" ],
        "x-conditionalDefaults" : [ {
          "when" : [ "type in [COUPLED_CONJUGATE_HEAT_TRANSFER,EMBEDDED_BOUNDARY]" ],
          "default" : {
            "type" : "HYDROSTATIC_ISOTHERMAL_TOTAL_PRESSURE"
          }
        }, {
          "when" : [ "type in [CONVECTIVE_HEAT_TRANSFER,CONJUGATE_HEAT_TRANSFER,MULTIPHASE]" ],
          "default" : {
            "type" : "TOTAL_PRESSURE"
          }
        } ]
      },
      "Simulation.OneOf_PressureInletBCGaugePressure" : {
        "title" : "Pressure type",
        "description" : "Please choose a boundary condition for gauge pressure (p). <a href='https://www.simscale.com/docs/simulation-setup/boundary-conditions/pressure-inlet-and-pressure-outlet/' target='_blank'>Learn more</a>.",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "FIXED_VALUE" : "#/components/schemas/Simulation.FixedValuePBC",
            "TOTAL_PRESSURE" : "#/components/schemas/Simulation.TotalPBC"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.FixedValuePBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.TotalPBC"
        } ],
        "x-showWhen" : [ "type == INCOMPRESSIBLE", "type == SIMERICS_ANALYSIS && isCompressible == false && isMultiphase == true", "type == SIMERICS_ANALYSIS && isCompressible == false && cavitationModel != CONSTANT_GAS_MASS_FRACTION" ],
        "x-conditionalDefaults" : [ {
          "when" : [ "type == INCOMPRESSIBLE" ],
          "default" : {
            "type" : "TOTAL_PRESSURE"
          }
        }, {
          "when" : [ "type == SIMERICS_ANALYSIS" ],
          "default" : {
            "type" : "FIXED_VALUE"
          }
        } ]
      },
      "Simulation.OneOf_PressureInletBCTurbulence" : {
        "title" : "Turbulence",
        "description" : "These options specify <b>inlet</b> boundary conditions for <b>turbulence quantities</b>: </p><ul><li><p><b>Automatic</b> considers a value of <i>0.05</i> for <b>turbulent intensity</b> (<i>I</i>). The <b>turbulent mixing length </b>(<i>L</i>) is calculated as <i>0.07D<sub>h</sub></i>, where <i>D<sub>h</sub></i> is the <b>hydraulic diameter</b> of the boundary face.</p><li><p><b>Turbulent intensity and mixing length</b> allows to specify these values directly.</p><li><p><b>Fixed value</b> allows to specify the values of the <b>turbulent kinetic energy </b>(<i>k</i>) and the <b>turbulent dissipation rate</b> (&#120656) or the <b>specific dissipation rate</b> (&#969).</p></ul>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "AUTOMATIC_TURBULENCE" : "#/components/schemas/Simulation.AutomaticTurbulence",
            "TURBULENT_INTENSITY_AND_REFERENCE_LENGTH_TURBULENCE" : "#/components/schemas/Simulation.TurbulentIntensityAndReferenceLengthTurbulence",
            "FIXED_VALUE_TURBULENCE" : "#/components/schemas/Simulation.FixedValueTurbulence"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.AutomaticTurbulence"
        }, {
          "$ref" : "#/components/schemas/Simulation.TurbulentIntensityAndReferenceLengthTurbulence"
        }, {
          "$ref" : "#/components/schemas/Simulation.FixedValueTurbulence"
        } ],
        "default" : {
          "type" : "AUTOMATIC_TURBULENCE"
        },
        "x-showWhen" : [ "type in [INCOMPRESSIBLE,COMPRESSIBLE,CONJUGATE_HEAT_TRANSFER,CONVECTIVE_HEAT_TRANSFER,COUPLED_CONJUGATE_HEAT_TRANSFER,EMBEDDED_BOUNDARY] && turbulenceModel in [KEPSILON,KOMEGA,KOMEGASST,REALIZABLEKE]" ]
      },
      "Simulation.OneOf_PressureInletBCTemperature" : {
        "title" : "(T) Temperature",
        "description" : "Please choose a boundary condition for temperature (T).",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "FIXED_VALUE" : "#/components/schemas/Simulation.FixedValueTBC",
            "TOTAL_TEMPERATURE" : "#/components/schemas/Simulation.TotalTBC"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.FixedValueTBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.TotalTBC"
        } ],
        "x-showWhen" : [ "type in [COMPRESSIBLE,CONJUGATE_HEAT_TRANSFER,CONVECTIVE_HEAT_TRANSFER,COUPLED_CONJUGATE_HEAT_TRANSFER,EMBEDDED_BOUNDARY]", "type == SIMERICS_ANALYSIS && isCompressible == true" ],
        "x-conditionalDefaults" : [ {
          "when" : [ "type in [COMPRESSIBLE,CONJUGATE_HEAT_TRANSFER,CONVECTIVE_HEAT_TRANSFER,COUPLED_CONJUGATE_HEAT_TRANSFER,EMBEDDED_BOUNDARY]" ],
          "default" : {
            "type" : "FIXED_VALUE"
          }
        }, {
          "when" : [ "type == SIMERICS_ANALYSIS" ],
          "default" : {
            "type" : "TOTAL_TEMPERATURE"
          }
        } ]
      },
      "Simulation.OneOf_PressureInletBCNetRadiativeHeatFlux" : {
        "title" : "Radiative behaviour",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "GREYBODY_DIFFUSIVE" : "#/components/schemas/Simulation.GreybodyDiffusiveRSBC",
            "OPEN_WINDOW" : "#/components/schemas/Simulation.OpenWindowRSBC"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.GreybodyDiffusiveRSBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.OpenWindowRSBC"
        } ],
        "default" : {
          "type" : "OPEN_WINDOW"
        },
        "x-showWhen" : [ "type == CONVECTIVE_HEAT_TRANSFER && enableRadiation == true", "type == CONJUGATE_HEAT_TRANSFER && enableRadiation == true" ]
      },
      "Simulation.OneOf_PressureInletBCRadiativeIntensityRay" : {
        "title" : "Radiative behaviour",
        "description" : "<p><b>Radiative behaviour of the wall</b>. The Kirchhoff's law of thermal radiation is applied in all options. This means that the <b>absorptivity of the surface is equal to its emissivity</b>. <br> <ul><li><b>Opaque</b> is applied to surfaces with transmissivity equal to 0. The radiation that hits the surface will be absorbed and reflected, but not transmitted, e.g.: brick or concrete walls.</li><li><b>Transparent</b> is applied to surfaces with transmissivity equal to 1. The radiation that hits the surface will be fully transmitted to the other side, e.g.: inlets, outlets or regular windows.</li><li><b>Semi-transparent</b> is applied to non-fully transparent surfaces. The radiation that hits the surface will be absorbed, reflected and transmitted, e.g. some stained glass windows.</li></ul></p>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "GREYBODY_DIFFUSIVE_RAY" : "#/components/schemas/Simulation.GreybodyDiffusiveRayBC",
            "OPEN_BOUNDARY_RAY" : "#/components/schemas/Simulation.OpenBoundaryRayBC",
            "SEMI_OPEN_BOUNDARY_RAY" : "#/components/schemas/Simulation.SemiOpenBoundaryRayBC"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.GreybodyDiffusiveRayBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.OpenBoundaryRayBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.SemiOpenBoundaryRayBC"
        } ],
        "default" : {
          "type" : "OPEN_BOUNDARY_RAY"
        },
        "x-showWhen" : [ "type == COUPLED_CONJUGATE_HEAT_TRANSFER && enableRadiation == true", "type == COUPLED_CONJUGATE_HEAT_TRANSFER && enableSolarLoad == true", "type == EMBEDDED_BOUNDARY && enableRadiation == true", "type == EMBEDDED_BOUNDARY && enableSolarLoad == true" ]
      },
      "Simulation.OneOf_MarcStrainFieldSelectionStrainType" : {
        "title" : "(ε) Strain type",
        "description" : "<ul><li><b>Total strain</b>: Represents the sum of all strain components (elastic, plastic, and thermal) relative to the original configuration. It describes the complete deformation state of the material. Tensor quantity.<li><b>Elastic strain</b>: The recoverable portion of the strain that disappears upon unloading, calculated using the material's elastic constitutive laws. Tensor quantity.<li><b>Plastic strain</b>: The permanent, non-recoverable deformation that occurs once the material exceeds its yield point. Tensor quantity.<li><b>Principal strain (total)</b>: The strains oriented along the axes where shear strain is zero. These represent the <b>maximum, intermediate, and minimum normal strains</b> in the material. Derived from the total strain tensor field.<li><b>Principal strain (elastic)</b>: The strains oriented along the axes where shear strain is zero. These represent the <b>maximum, intermediate, and minimum normal strains</b> in the material. Derived from the elastic strain tensor field.<li><b>Principal strain (plastic)</b>: The strains oriented along the axes where shear strain is zero. These represent the <b>maximum, intermediate, and minimum normal strains</b> in the material. Derived from the plastic strain tensor field.<li><b>Equivalent elastic strain</b>: A scalar value derived from the elastic strain tensor components, used to represent the magnitude of elastic deformation in a single value.<li><b>Equivalent plastic strain</b>: A scalar measure (the von Mises equivalent) representing the accumulation of plastic deformation, often used for assessing material failure or hardening.</ul>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "TOTAL" : "#/components/schemas/Simulation.MarcTotalStrainType",
            "ELASTIC" : "#/components/schemas/Simulation.MarcElasticStrainType",
            "PLASTIC" : "#/components/schemas/Simulation.MarcPlasticStrainType",
            "PRINCIPAL_TOTAL" : "#/components/schemas/Simulation.MarcPrincipalTotalStrainType",
            "PRINCIPAL_ELASTIC" : "#/components/schemas/Simulation.MarcPrincipalElasticStrainType",
            "PRINCIPAL_PLASTIC" : "#/components/schemas/Simulation.MarcPrincipalPlasticStrainType",
            "EQUIVALENT_ELASTIC" : "#/components/schemas/Simulation.MarcEquivalentElasticStrainType",
            "EQUIVALENT_PLASTIC" : "#/components/schemas/Simulation.MarcEquivalentPlasticStrainType"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.MarcTotalStrainType"
        }, {
          "$ref" : "#/components/schemas/Simulation.MarcElasticStrainType"
        }, {
          "$ref" : "#/components/schemas/Simulation.MarcPlasticStrainType"
        }, {
          "$ref" : "#/components/schemas/Simulation.MarcPrincipalTotalStrainType"
        }, {
          "$ref" : "#/components/schemas/Simulation.MarcPrincipalElasticStrainType"
        }, {
          "$ref" : "#/components/schemas/Simulation.MarcPrincipalPlasticStrainType"
        }, {
          "$ref" : "#/components/schemas/Simulation.MarcEquivalentElasticStrainType"
        }, {
          "$ref" : "#/components/schemas/Simulation.MarcEquivalentPlasticStrainType"
        } ]
      },
      "Simulation.OneOf_ElectromagneticMaterialMaterialBehavior" : {
        "title" : "Material behavior",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "SOFT_MAGNETIC" : "#/components/schemas/Simulation.SoftMagneticMaterial",
            "PERMANENT_MAGNET" : "#/components/schemas/Simulation.PermanentMagnetMaterial"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.SoftMagneticMaterial"
        }, {
          "$ref" : "#/components/schemas/Simulation.PermanentMagnetMaterial"
        } ],
        "default" : {
          "type" : "SOFT_MAGNETIC"
        },
        "x-showWhen" : [ "model.type in [MAGNETOSTATICS,TIME_HARMONIC_MAGNETICS,TIME_TRANSIENT_MAGNETICS]" ]
      },
      "Simulation.OneOf_ElectromagneticMaterialElectricConductivityType" : {
        "title" : "Electric conductivity type",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "ISOTROPIC_ELECTRIC_CONDUCTIVITY" : "#/components/schemas/Simulation.IsotropicElectricConductivityMethod"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.IsotropicElectricConductivityMethod"
        } ],
        "default" : {
          "type" : "ISOTROPIC_ELECTRIC_CONDUCTIVITY"
        },
        "x-showWhen" : [ "model.type in [MAGNETOSTATICS,TIME_HARMONIC_MAGNETICS,TIME_TRANSIENT_MAGNETICS,TIME_HARMONIC_ELECTRICS]" ]
      },
      "Simulation.OneOf_ElectromagneticMaterialMagneticPermeabilityType" : {
        "title" : "Magnetic permeability type",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "ISOTROPIC_RELATIVE_MAGNETIC_PERMEABILITY" : "#/components/schemas/Simulation.IsotropicRelativePermeabilityMethod",
            "NONLINEAR_ISOTROPIC" : "#/components/schemas/Simulation.NonlinearIsotropicPermeability"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.IsotropicRelativePermeabilityMethod"
        }, {
          "$ref" : "#/components/schemas/Simulation.NonlinearIsotropicPermeability"
        } ],
        "default" : {
          "type" : "ISOTROPIC_RELATIVE_MAGNETIC_PERMEABILITY"
        },
        "x-showWhen" : [ "model.type in [MAGNETOSTATICS,TIME_HARMONIC_MAGNETICS,TIME_TRANSIENT_MAGNETICS]" ]
      },
      "Simulation.OneOf_ElectromagneticMaterialDielectricStrengthType" : {
        "title" : "Dielectric strength type",
        "description" : "Dielectric strength is the maximum electric field a dielectric material can withstand without electrical breakdown, beyond which it becomes conductive.",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "NONE" : "#/components/schemas/Simulation.NoDielectricStrength",
            "ISOTROPIC" : "#/components/schemas/Simulation.IsotropicDielectricStrength"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.NoDielectricStrength"
        }, {
          "$ref" : "#/components/schemas/Simulation.IsotropicDielectricStrength"
        } ],
        "default" : {
          "type" : "NONE"
        },
        "x-showWhen" : [ "model.type == ELECTROSTATICS && model.breakdown == true" ]
      },
      "Simulation.OneOf_ElectromagneticMaterialCoreLossesType" : {
        "title" : "Core losses",
        "description" : "Core losses calculate the losses in magnetic materials, including hysteresis and eddy current losses. <p>Note: Once a core loss model is enabled, eddy currents are suppressed within that body.</p>  For more information on each model, please refer to our <a href='https://www.simscale.com/docs/analysis-types/electromagnetics/#core-losses' target='_blank'>documentation</a>.",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "NONE" : "#/components/schemas/Simulation.NoCoreLoss",
            "ELECTRICAL_STEEL" : "#/components/schemas/Simulation.ElectricalSteelCoreLoss",
            "POWER_FERRITE" : "#/components/schemas/Simulation.PowerFerriteCoreLoss"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.NoCoreLoss"
        }, {
          "$ref" : "#/components/schemas/Simulation.ElectricalSteelCoreLoss"
        }, {
          "$ref" : "#/components/schemas/Simulation.PowerFerriteCoreLoss"
        } ],
        "default" : {
          "type" : "NONE"
        },
        "x-showWhen" : [ "model.type in [TIME_HARMONIC_MAGNETICS,TIME_TRANSIENT_MAGNETICS]" ]
      },
      "Simulation.OneOf_ElectromagneticMaterialDielectricLossType" : {
        "title" : "Dielectric loss type",
        "description" : "Specify the dielectric loss type. It models dielectric heating losses in insulating materials under time-varying electric fields. For details, see our <a href='https://www.simscale.com/docs/analysis-types/electromagnetics/#dielectric-losses' target='_blank'>documentation</a>.",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "NONE" : "#/components/schemas/Simulation.NoDielectricLosses",
            "ISOTROPIC_LOSS_TANGENT" : "#/components/schemas/Simulation.IsotropicLossTangent"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.NoDielectricLosses"
        }, {
          "$ref" : "#/components/schemas/Simulation.IsotropicLossTangent"
        } ],
        "default" : {
          "type" : "NONE"
        },
        "x-showWhen" : [ "model.type in [TIME_HARMONIC_ELECTRICS]" ]
      },
      "Simulation.OneOf_PrescribedOptionalFunctionValue" : {
        "title" : "Value",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "CONSTANT" : "#/components/schemas/Simulation.ConstantFunction",
            "EXPRESSION" : "#/components/schemas/Simulation.ExpressionFunction",
            "POLYNOMIAL" : "#/components/schemas/Simulation.PolynomialFunction",
            "TABLE_DEFINED" : "#/components/schemas/Simulation.TableDefinedFunction"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.ConstantFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.ExpressionFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.PolynomialFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.TableDefinedFunction"
        } ]
      },
      "Simulation.OneOf_ContactResistanceLayerInterfaceThermal" : {
        "title" : "Interface type",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "TOTAL_RESISTANCE" : "#/components/schemas/Simulation.TotalResistanceInterfaceThermal",
            "SPECIFIC_RESISTANCE" : "#/components/schemas/Simulation.SpecificResistanceInterfaceThermal"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.TotalResistanceInterfaceThermal"
        }, {
          "$ref" : "#/components/schemas/Simulation.SpecificResistanceInterfaceThermal"
        } ]
      },
      "Simulation.OneOf_WallBCVelocity" : {
        "title" : "(U) Velocity",
        "description" : "<p>Please choose the wall boundary condition sub-type based on the wall movement (U). <a href='https://www.simscale.com/docs/simulation-setup/boundary-conditions/wall/' target='_blank'>Learn more</a>.</p>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "MOVING_WALL_VELOCITY" : "#/components/schemas/Simulation.MovingWallVBC",
            "NO_SLIP" : "#/components/schemas/Simulation.NoSlipVBC",
            "ROTATING_WALL_VELOCITY" : "#/components/schemas/Simulation.RotatingWallVBC",
            "SLIP" : "#/components/schemas/Simulation.SlipVBC"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.MovingWallVBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.NoSlipVBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.RotatingWallVBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.SlipVBC"
        } ],
        "default" : {
          "type" : "NO_SLIP"
        }
      },
      "Simulation.OneOf_WallBCTemperature" : {
        "title" : "(T) Temperature",
        "description" : "Please choose a boundary condition for temperature (T).",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "EXTERNAL_WALL_HEAT_FLUX_TEMPERATURE" : "#/components/schemas/Simulation.ExternalWallHeatFluxTBC",
            "FIXED_VALUE" : "#/components/schemas/Simulation.FixedValueTBC",
            "ADIABATIC" : "#/components/schemas/Simulation.AdiabaticTBC",
            "TOTAL_TEMPERATURE" : "#/components/schemas/Simulation.TotalTBC",
            "TURBULENT_HEAT_FLUX_TEMPERATURE" : "#/components/schemas/Simulation.TurbulentHeatFluxTBC",
            "CONVECTIVE_HEAT_TRANSFER" : "#/components/schemas/Simulation.ConvectionTBC",
            "RADIATIVE_HEAT_TRANSFER" : "#/components/schemas/Simulation.RadiationTBC",
            "CONVECTIVE_RADIATIVE_HEAT_TRANSFER" : "#/components/schemas/Simulation.ConvectionRadiationTBC"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.ExternalWallHeatFluxTBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.FixedValueTBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.AdiabaticTBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.TotalTBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.TurbulentHeatFluxTBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.ConvectionTBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.RadiationTBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.ConvectionRadiationTBC"
        } ],
        "x-showWhen" : [ "type in [COMPRESSIBLE,CONJUGATE_HEAT_TRANSFER,CONVECTIVE_HEAT_TRANSFER,COUPLED_CONJUGATE_HEAT_TRANSFER,EMBEDDED_BOUNDARY]", "type == SIMERICS_ANALYSIS && isCompressible == true" ],
        "x-conditionalDefaults" : [ {
          "when" : [ "type != SIMERICS_ANALYSIS" ],
          "default" : {
            "type" : "FIXED_VALUE"
          }
        }, {
          "when" : [ "type == SIMERICS_ANALYSIS" ],
          "default" : {
            "type" : "ADIABATIC"
          }
        } ]
      },
      "Simulation.OneOf_WallBCRelativeHumidity" : {
        "title" : "Humidity type",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "ZERO_GRADIENT" : "#/components/schemas/Simulation.ZeroGradientHumidityBC",
            "WATER_VAPOR_FLUX" : "#/components/schemas/Simulation.WaterVaporFluxHumidityBC",
            "SURFACE_WATER_VAPOR_FLUX" : "#/components/schemas/Simulation.SurfaceWaterVaporFluxHumidityBC"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.ZeroGradientHumidityBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.WaterVaporFluxHumidityBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.SurfaceWaterVaporFluxHumidityBC"
        } ],
        "default" : {
          "type" : "ZERO_GRADIENT"
        },
        "x-showWhen" : [ "type == COUPLED_CONJUGATE_HEAT_TRANSFER && isCompressible == true && enableHumidityModel == true", "type == EMBEDDED_BOUNDARY && isCompressible == true && enableHumidityModel == true" ]
      },
      "Simulation.OneOf_WallBCPhaseFraction" : {
        "title" : "Phase fraction",
        "description" : "Please choose a boundary condition for phase fraction (alpha).",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "CONSTANT_CONTACT_ANGLE" : "#/components/schemas/Simulation.ConstantContactAnglePFBC",
            "DYNAMIC_CONTACT_ANGLE" : "#/components/schemas/Simulation.DynamicContactAnglePFBC",
            "ZERO_GRADIENT" : "#/components/schemas/Simulation.ZeroGradientPFBC"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.ConstantContactAnglePFBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.DynamicContactAnglePFBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.ZeroGradientPFBC"
        } ],
        "default" : {
          "type" : "ZERO_GRADIENT"
        },
        "x-showWhen" : [ "type == MULTIPHASE" ]
      },
      "Simulation.OneOf_WallBCNetRadiativeHeatFlux" : {
        "title" : "Radiative behaviour",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "GREYBODY_DIFFUSIVE" : "#/components/schemas/Simulation.GreybodyDiffusiveRSBC",
            "OPEN_WINDOW" : "#/components/schemas/Simulation.OpenWindowRSBC"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.GreybodyDiffusiveRSBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.OpenWindowRSBC"
        } ],
        "default" : {
          "type" : "GREYBODY_DIFFUSIVE"
        },
        "x-showWhen" : [ "type == CONVECTIVE_HEAT_TRANSFER && enableRadiation == true", "type == CONJUGATE_HEAT_TRANSFER && enableRadiation == true" ]
      },
      "Simulation.OneOf_WallBCRadiativeIntensityRay" : {
        "title" : "Radiative behaviour",
        "description" : "<p><b>Radiative behaviour of the wall</b>. The Kirchhoff's law of thermal radiation is applied in all options. This means that the <b>absorptivity of the surface is equal to its emissivity</b>. <br> <ul><li><b>Opaque</b> is applied to surfaces with transmissivity equal to 0. The radiation that hits the surface will be absorbed and reflected, but not transmitted, e.g.: brick or concrete walls.</li><li><b>Transparent</b> is applied to surfaces with transmissivity equal to 1. The radiation that hits the surface will be fully transmitted to the other side, e.g.: inlets, outlets or regular windows.</li><li><b>Semi-transparent</b> is applied to non-fully transparent surfaces. The radiation that hits the surface will be absorbed, reflected and transmitted, e.g. some stained glass windows.</li></ul></p>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "GREYBODY_DIFFUSIVE_RAY" : "#/components/schemas/Simulation.GreybodyDiffusiveRayBC",
            "OPEN_BOUNDARY_RAY" : "#/components/schemas/Simulation.OpenBoundaryRayBC",
            "SEMI_OPEN_BOUNDARY_RAY" : "#/components/schemas/Simulation.SemiOpenBoundaryRayBC"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.GreybodyDiffusiveRayBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.OpenBoundaryRayBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.SemiOpenBoundaryRayBC"
        } ],
        "default" : {
          "type" : "GREYBODY_DIFFUSIVE_RAY"
        },
        "x-showWhen" : [ "type == COUPLED_CONJUGATE_HEAT_TRANSFER && enableRadiation == true", "type == COUPLED_CONJUGATE_HEAT_TRANSFER && enableSolarLoad == true", "type == EMBEDDED_BOUNDARY && enableRadiation == true", "type == EMBEDDED_BOUNDARY && enableSolarLoad == true" ]
      },
      "Simulation.OneOf_WallBCElectricBoundaryCondition" : {
        "title" : "Electric condition",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "NO_CURRENT" : "#/components/schemas/Simulation.NoCurrentEBC",
            "CURRENT_INFLOW" : "#/components/schemas/Simulation.CurrentInflowEBC",
            "CURRENT_OUTFLOW" : "#/components/schemas/Simulation.CurrentOutflowEBC",
            "FIXED_ELECTRIC_POTENTIAL" : "#/components/schemas/Simulation.FixedElectricPotentialEBC"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.NoCurrentEBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.CurrentInflowEBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.CurrentOutflowEBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.FixedElectricPotentialEBC"
        } ],
        "default" : {
          "type" : "NO_CURRENT"
        },
        "x-showWhen" : [ "type == COUPLED_CONJUGATE_HEAT_TRANSFER && enableJouleHeating == true", "type == EMBEDDED_BOUNDARY && enableJouleHeating == true" ]
      },
      "Simulation.OneOf_DimensionalFunction_AccelerationValue" : {
        "title" : "Value",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "CONSTANT" : "#/components/schemas/Simulation.ConstantFunction",
            "EXPRESSION" : "#/components/schemas/Simulation.ExpressionFunction",
            "POLYNOMIAL" : "#/components/schemas/Simulation.PolynomialFunction",
            "TABLE_DEFINED" : "#/components/schemas/Simulation.TableDefinedFunction"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.ConstantFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.ExpressionFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.PolynomialFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.TableDefinedFunction"
        } ]
      },
      "Simulation.OneOf_IncompressibleTimeDependency" : {
        "title" : "Time dependency",
        "description" : "<p><strong>Steady-state</strong>: Steady-state simulations are time-independent, that is, the equations solved do not include time derivatives. If you are only interested in the converged solution, consider a steady-state simulation.</p><p><strong>Transient</strong>: Transient simulations account for time-dependent effects, that is, the associated flow variables vary with respect to time.</p>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "TRANSIENT" : "#/components/schemas/Simulation.TransientTimeDependency",
            "STATIONARY" : "#/components/schemas/Simulation.StationaryTimeDependency"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.TransientTimeDependency"
        }, {
          "$ref" : "#/components/schemas/Simulation.StationaryTimeDependency"
        } ],
        "default" : {
          "type" : "STATIONARY"
        }
      },
      "Simulation.OneOf_IncompressibleBoundaryConditions" : {
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "VELOCITY_INLET_V3" : "#/components/schemas/Simulation.VelocityInletBC",
            "VELOCITY_OUTLET_V7" : "#/components/schemas/Simulation.VelocityOutletBC",
            "PRESSURE_INLET_V31" : "#/components/schemas/Simulation.PressureInletBC",
            "PRESSURE_OUTLET_V30" : "#/components/schemas/Simulation.PressureOutletBC",
            "WALL_V34" : "#/components/schemas/Simulation.WallBC",
            "FAN" : "#/components/schemas/Simulation.FanBC",
            "SYMMETRY" : "#/components/schemas/Simulation.SymmetryBC",
            "PERIODIC" : "#/components/schemas/Simulation.PeriodicBC",
            "WEDGE" : "#/components/schemas/Simulation.WedgeBC",
            "CUSTOM_V37" : "#/components/schemas/Simulation.CustomFluidBC",
            "EMPTY_2D" : "#/components/schemas/Simulation.Empty2DBC"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.VelocityInletBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.VelocityOutletBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.PressureInletBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.PressureOutletBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.WallBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.FanBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.SymmetryBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.PeriodicBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.WedgeBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.CustomFluidBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.Empty2DBC"
        } ]
      },
      "Simulation.OneOf_TimeDifferentiationSchemesForDefault" : {
        "title" : "Default",
        "description" : "<p>With this option, you can choose your desired time-differentiation scheme:</p><ul><li><p>For steady-state simulations, choose <b>steadyState</b>.</p><li><p><b>Euler</b> is a first-order implicit and bounded scheme. If unsure, try this scheme first.</p><li><p><b>localEuler</b> is a local time-step scheme, which is first-order implicit and bounded.</p></ul>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "EULER" : "#/components/schemas/Simulation.EulerTimeDifferentiationScheme",
            "LOCAL_EULER" : "#/components/schemas/Simulation.LocalEulerTimeDifferentiationScheme",
            "STEADYSTATE" : "#/components/schemas/Simulation.SteadystateTimeDifferentiationScheme"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.EulerTimeDifferentiationScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.LocalEulerTimeDifferentiationScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.SteadystateTimeDifferentiationScheme"
        } ],
        "x-showWhen" : [ "type in [COMPRESSIBLE,INCOMPRESSIBLE,CONJUGATE_HEAT_TRANSFER,CONVECTIVE_HEAT_TRANSFER,MULTIPHASE]" ],
        "x-conditionalDefaults" : [ {
          "when" : [ "type in [INCOMPRESSIBLE,COMPRESSIBLE,CONVECTIVE_HEAT_TRANSFER,CONJUGATE_HEAT_TRANSFER] && timeDependency.type == TRANSIENT" ],
          "default" : {
            "type" : "EULER"
          }
        }, {
          "when" : [ "type in [INCOMPRESSIBLE,COMPRESSIBLE,CONVECTIVE_HEAT_TRANSFER,CONJUGATE_HEAT_TRANSFER] && timeDependency.type == STATIONARY" ],
          "default" : {
            "type" : "STEADYSTATE"
          }
        }, {
          "when" : [ "type == MULTIPHASE && useLocalTimeStepping == false" ],
          "default" : {
            "type" : "EULER"
          }
        }, {
          "when" : [ "type == MULTIPHASE && useLocalTimeStepping == true" ],
          "default" : {
            "type" : "LOCAL_EULER"
          }
        } ]
      },
      "Simulation.OneOf_ForceMomentCoefficientsResultControlWriteControl" : {
        "title" : "Write control",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "TIME_STEP" : "#/components/schemas/Simulation.TimeStepWriteControl",
            "OUTPUT_TIME" : "#/components/schemas/Simulation.SynchronizeWithFieldOutputWriteControl"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.TimeStepWriteControl"
        }, {
          "$ref" : "#/components/schemas/Simulation.SynchronizeWithFieldOutputWriteControl"
        } ],
        "default" : {
          "type" : "TIME_STEP"
        }
      },
      "Simulation.OneOf_CoulombFrictionNonlinearityResolution" : {
        "title" : "Nonlinearity resolution",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "NEWTON_V29" : "#/components/schemas/Simulation.NewtonFrictionNonLinearityResolution",
            "FIXED_POINT" : "#/components/schemas/Simulation.FixedPointFrictionNonLinearityResolution"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.NewtonFrictionNonLinearityResolution"
        }, {
          "$ref" : "#/components/schemas/Simulation.FixedPointFrictionNonLinearityResolution"
        } ],
        "default" : {
          "type" : "FIXED_POINT"
        }
      },
      "Simulation.OneOf_IsotropicDirectionalDependencyPoissonsRatio" : {
        "title" : "(ν) Poisson's ratio",
        "maximum" : 0.5,
        "exclusiveMaximum" : true,
        "minimum" : -1.0,
        "exclusiveMinimum" : true,
        "description" : "<p>Provide the <i>Poisson's ratio</i> value which describes the compression or elongation of a material transverse to axial strain. <i>Poisson's ratio</i> can have a value within range from -1 to 0.5. </p><br /><b>Important remarks:</b><br /> <ul><li>Value less than 0 means that material is auxetic.</li><li>Most of the metals such as steel and aluminum have value between 0.2 to 0.35 and are considered compressible.<li>Value of 0.5 means that the material is incompressible such as rubber and some types of foams. Please avoid giving this value since it leads to convergence problem. You can give 0.499 rather than 0.5.</li></ul>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "CONSTANT" : "#/components/schemas/Simulation.ConstantFunction",
            "EXPRESSION" : "#/components/schemas/Simulation.ExpressionFunction",
            "POLYNOMIAL" : "#/components/schemas/Simulation.PolynomialFunction",
            "TABLE_DEFINED" : "#/components/schemas/Simulation.TableDefinedFunction"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.ConstantFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.ExpressionFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.PolynomialFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.TableDefinedFunction"
        } ],
        "x-showWhen" : [ "type in [STATIC_ANALYSIS,DYNAMIC_ANALYSIS,HARMONIC_ANALYSIS,FREQUENCY_ANALYSIS,THERMAL_MECHANICAL]" ]
      },
      "Simulation.OneOf_SolidResultControlSolutionFields" : {
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "CONTACT" : "#/components/schemas/Simulation.ContactResultControlItem",
            "DISPLACEMENT" : "#/components/schemas/Simulation.DisplacementResultControlItem",
            "HARMONIC_DISPLACEMENT" : "#/components/schemas/Simulation.HarmonicDisplacementResultControlItem",
            "NORMALIZED_DISPLACEMENT" : "#/components/schemas/Simulation.NormalizedDisplacementResultControlItem",
            "FORCE" : "#/components/schemas/Simulation.ForceResultControlItem",
            "STRAIN" : "#/components/schemas/Simulation.StrainResultControlItem",
            "STRESS" : "#/components/schemas/Simulation.StressResultControlItem",
            "VELOCITY" : "#/components/schemas/Simulation.VelocityResultControlItem",
            "HARMONIC_VELOCITY" : "#/components/schemas/Simulation.HarmonicVelocityResultControlItem",
            "ACCELERATION" : "#/components/schemas/Simulation.AccelerationResultControlItem",
            "HARMONIC_ACCELERATION" : "#/components/schemas/Simulation.HarmonicAccelerationResultControlItem",
            "TEMPERATURE" : "#/components/schemas/Simulation.TemperatureResultControlItem",
            "HEAT_FLUX" : "#/components/schemas/Simulation.HeatFluxResultControlItem",
            "ERP_DENSITY" : "#/components/schemas/Simulation.ERPDensityResultControlItem"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.ContactResultControlItem"
        }, {
          "$ref" : "#/components/schemas/Simulation.DisplacementResultControlItem"
        }, {
          "$ref" : "#/components/schemas/Simulation.HarmonicDisplacementResultControlItem"
        }, {
          "$ref" : "#/components/schemas/Simulation.NormalizedDisplacementResultControlItem"
        }, {
          "$ref" : "#/components/schemas/Simulation.ForceResultControlItem"
        }, {
          "$ref" : "#/components/schemas/Simulation.StrainResultControlItem"
        }, {
          "$ref" : "#/components/schemas/Simulation.StressResultControlItem"
        }, {
          "$ref" : "#/components/schemas/Simulation.VelocityResultControlItem"
        }, {
          "$ref" : "#/components/schemas/Simulation.HarmonicVelocityResultControlItem"
        }, {
          "$ref" : "#/components/schemas/Simulation.AccelerationResultControlItem"
        }, {
          "$ref" : "#/components/schemas/Simulation.HarmonicAccelerationResultControlItem"
        }, {
          "$ref" : "#/components/schemas/Simulation.TemperatureResultControlItem"
        }, {
          "$ref" : "#/components/schemas/Simulation.HeatFluxResultControlItem"
        }, {
          "$ref" : "#/components/schemas/Simulation.ERPDensityResultControlItem"
        } ]
      },
      "Simulation.OneOf_SolidResultControlEdgeCalculation" : {
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "MIN_MAX_FIELDS_CALCULATION" : "#/components/schemas/Simulation.MinMaxFieldsCalculationResultControlItem",
            "AVERAGE_FIELDS_CALCULATION" : "#/components/schemas/Simulation.AverageFieldsCalculationResultControlItem",
            "SUM_FIELDS_CALCULATION" : "#/components/schemas/Simulation.SumFieldsCalculationResultControlItem"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.MinMaxFieldsCalculationResultControlItem"
        }, {
          "$ref" : "#/components/schemas/Simulation.AverageFieldsCalculationResultControlItem"
        }, {
          "$ref" : "#/components/schemas/Simulation.SumFieldsCalculationResultControlItem"
        } ]
      },
      "Simulation.OneOf_SolidResultControlAreaCalculation" : {
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "MIN_MAX_FIELDS_CALCULATION" : "#/components/schemas/Simulation.MinMaxFieldsCalculationResultControlItem",
            "AVERAGE_FIELDS_CALCULATION" : "#/components/schemas/Simulation.AverageFieldsCalculationResultControlItem",
            "SUM_FIELDS_CALCULATION" : "#/components/schemas/Simulation.SumFieldsCalculationResultControlItem",
            "HEAT_FLOW_CALCULATION" : "#/components/schemas/Simulation.HeatFlowCalculationResultControlItem",
            "ERP_CALCULATION" : "#/components/schemas/Simulation.ERPCalculationResultControlItem"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.MinMaxFieldsCalculationResultControlItem"
        }, {
          "$ref" : "#/components/schemas/Simulation.AverageFieldsCalculationResultControlItem"
        }, {
          "$ref" : "#/components/schemas/Simulation.SumFieldsCalculationResultControlItem"
        }, {
          "$ref" : "#/components/schemas/Simulation.HeatFlowCalculationResultControlItem"
        }, {
          "$ref" : "#/components/schemas/Simulation.ERPCalculationResultControlItem"
        } ]
      },
      "Simulation.OneOf_SolidResultControlVolumeCalculation" : {
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "MIN_MAX_FIELDS_CALCULATION" : "#/components/schemas/Simulation.MinMaxFieldsCalculationResultControlItem",
            "AVERAGE_FIELDS_CALCULATION" : "#/components/schemas/Simulation.AverageFieldsCalculationResultControlItem",
            "SUM_FIELDS_CALCULATION" : "#/components/schemas/Simulation.SumFieldsCalculationResultControlItem"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.MinMaxFieldsCalculationResultControlItem"
        }, {
          "$ref" : "#/components/schemas/Simulation.AverageFieldsCalculationResultControlItem"
        }, {
          "$ref" : "#/components/schemas/Simulation.SumFieldsCalculationResultControlItem"
        } ]
      },
      "Simulation.OneOf_SolidResultControlPointData" : {
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "TEMPORAL_RESPONSE" : "#/components/schemas/Simulation.TemporalResponseResultControlItem",
            "HARMONIC_RESPONSE" : "#/components/schemas/Simulation.HarmonicResponseResultControlItem"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.TemporalResponseResultControlItem"
        }, {
          "$ref" : "#/components/schemas/Simulation.HarmonicResponseResultControlItem"
        } ]
      },
      "Simulation.OneOf_StatisticalAveragingResultControlV2SamplingInterval" : {
        "title" : "Sampling interval",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "HIGH_RESOLUTION" : "#/components/schemas/Simulation.HighResolution",
            "MODERATE_RESOLUTION" : "#/components/schemas/Simulation.ModerateResolution",
            "COARSE_RESOLUTION" : "#/components/schemas/Simulation.CoarseResolution",
            "CUSTOM_RESOLUTION" : "#/components/schemas/Simulation.CustomResolution"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.HighResolution"
        }, {
          "$ref" : "#/components/schemas/Simulation.ModerateResolution"
        }, {
          "$ref" : "#/components/schemas/Simulation.CoarseResolution"
        }, {
          "$ref" : "#/components/schemas/Simulation.CustomResolution"
        } ],
        "default" : {
          "type" : "MODERATE_RESOLUTION"
        }
      },
      "Simulation.OneOf_MarcAnalysisBoundaryConditions" : {
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "FIXED_VALUE" : "#/components/schemas/Simulation.FixedValueBCMarc",
            "PRESSURE" : "#/components/schemas/Simulation.PressureBCMarc",
            "SYMMETRY" : "#/components/schemas/Simulation.SymmetryBCMarc",
            "POINT_DISPLACEMENT" : "#/components/schemas/Simulation.PointDisplacementBCMarc",
            "POINT_LOAD" : "#/components/schemas/Simulation.PointLoadBCMarc",
            "TEMPERATURE" : "#/components/schemas/Simulation.TemperatureBCMarc",
            "CONVECTION_RADIATION" : "#/components/schemas/Simulation.ConvectionRadiationBCMarc",
            "SURFACE_HEAT_FLUX" : "#/components/schemas/Simulation.SurfaceHeatFluxBCMarc",
            "VOLUME_HEAT_FLUX" : "#/components/schemas/Simulation.VolumeHeatFluxBCMarc",
            "BOLT_PRELOAD" : "#/components/schemas/Simulation.BoltPreloadBCMarc"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.FixedValueBCMarc"
        }, {
          "$ref" : "#/components/schemas/Simulation.PressureBCMarc"
        }, {
          "$ref" : "#/components/schemas/Simulation.SymmetryBCMarc"
        }, {
          "$ref" : "#/components/schemas/Simulation.PointDisplacementBCMarc"
        }, {
          "$ref" : "#/components/schemas/Simulation.PointLoadBCMarc"
        }, {
          "$ref" : "#/components/schemas/Simulation.TemperatureBCMarc"
        }, {
          "$ref" : "#/components/schemas/Simulation.ConvectionRadiationBCMarc"
        }, {
          "$ref" : "#/components/schemas/Simulation.SurfaceHeatFluxBCMarc"
        }, {
          "$ref" : "#/components/schemas/Simulation.VolumeHeatFluxBCMarc"
        }, {
          "$ref" : "#/components/schemas/Simulation.BoltPreloadBCMarc"
        } ]
      },
      "Simulation.OneOf_FluidSolversVelocitySolver" : {
        "title" : "(U) Velocity",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "PBICG" : "#/components/schemas/Simulation.PBICGSolver",
            "PBICGStab" : "#/components/schemas/Simulation.PBICGStabSolver",
            "SMOOTH" : "#/components/schemas/Simulation.SmoothSolver"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.PBICGSolver"
        }, {
          "$ref" : "#/components/schemas/Simulation.PBICGStabSolver"
        }, {
          "$ref" : "#/components/schemas/Simulation.SmoothSolver"
        } ],
        "default" : {
          "type" : "PBICGStab"
        },
        "x-showWhen" : [ "type in [COMPRESSIBLE,INCOMPRESSIBLE,CONJUGATE_HEAT_TRANSFER,CONVECTIVE_HEAT_TRANSFER,MULTIPHASE,COUPLED_CONJUGATE_HEAT_TRANSFER,EMBEDDED_BOUNDARY]" ]
      },
      "Simulation.OneOf_FluidSolversVelocityFinalSolver" : {
        "title" : "(U) Velocity final",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "PBICG" : "#/components/schemas/Simulation.PBICGSolver",
            "PBICGStab" : "#/components/schemas/Simulation.PBICGStabSolver",
            "SMOOTH" : "#/components/schemas/Simulation.SmoothSolver"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.PBICGSolver"
        }, {
          "$ref" : "#/components/schemas/Simulation.PBICGStabSolver"
        }, {
          "$ref" : "#/components/schemas/Simulation.SmoothSolver"
        } ],
        "default" : {
          "type" : "PBICGStab"
        },
        "x-showWhen" : [ "type == MULTIPHASE", "type == INCOMPRESSIBLE && algorithm == PIMPLE", "type == COMPRESSIBLE && timeDependency.type == TRANSIENT && turbulenceModel != NONE", "type == COMPRESSIBLE && timeDependency.type == TRANSIENT", "type in [CONJUGATE_HEAT_TRANSFER,CONVECTIVE_HEAT_TRANSFER] && timeDependency.type == TRANSIENT" ]
      },
      "Simulation.OneOf_FluidSolversDensitySolver" : {
        "title" : "(ρ) Density",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "GAMG" : "#/components/schemas/Simulation.GAMGSolver",
            "PCG" : "#/components/schemas/Simulation.PCGSolver",
            "SMOOTH" : "#/components/schemas/Simulation.SmoothSolver"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.GAMGSolver"
        }, {
          "$ref" : "#/components/schemas/Simulation.PCGSolver"
        }, {
          "$ref" : "#/components/schemas/Simulation.SmoothSolver"
        } ],
        "x-showWhen" : [ "type == CONJUGATE_HEAT_TRANSFER", "type == COMPRESSIBLE && timeDependency.type == TRANSIENT && turbulenceModel != NONE", "type == COMPRESSIBLE && timeDependency.type == TRANSIENT", "type == CONVECTIVE_HEAT_TRANSFER && timeDependency.type == TRANSIENT && isCompressible == true" ],
        "x-conditionalDefaults" : [ {
          "when" : [ "type == COMPRESSIBLE" ],
          "default" : {
            "type" : "PCG"
          }
        }, {
          "when" : [ "type in [CONVECTIVE_HEAT_TRANSFER,CONJUGATE_HEAT_TRANSFER]" ],
          "default" : {
            "type" : "GAMG"
          }
        } ]
      },
      "Simulation.OneOf_FluidSolversDensityFinalSolver" : {
        "title" : "(ρ) Density final",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "GAMG" : "#/components/schemas/Simulation.GAMGSolver",
            "PCG" : "#/components/schemas/Simulation.PCGSolver",
            "SMOOTH" : "#/components/schemas/Simulation.SmoothSolver"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.GAMGSolver"
        }, {
          "$ref" : "#/components/schemas/Simulation.PCGSolver"
        }, {
          "$ref" : "#/components/schemas/Simulation.SmoothSolver"
        } ],
        "x-showWhen" : [ "type == CONJUGATE_HEAT_TRANSFER && timeDependency.type == TRANSIENT", "type == COMPRESSIBLE && timeDependency.type == TRANSIENT && turbulenceModel != NONE", "type == COMPRESSIBLE && timeDependency.type == TRANSIENT", "type == CONVECTIVE_HEAT_TRANSFER && timeDependency.type == TRANSIENT && isCompressible == true" ],
        "x-conditionalDefaults" : [ {
          "when" : [ "type == COMPRESSIBLE" ],
          "default" : {
            "type" : "PCG"
          }
        }, {
          "when" : [ "type in [CONJUGATE_HEAT_TRANSFER,CONVECTIVE_HEAT_TRANSFER]" ],
          "default" : {
            "type" : "GAMG"
          }
        } ]
      },
      "Simulation.OneOf_FluidSolversPressureSolver" : {
        "title" : "(P) Pressure",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "GAMG" : "#/components/schemas/Simulation.GAMGSolver",
            "PCG" : "#/components/schemas/Simulation.PCGSolver",
            "SMOOTH" : "#/components/schemas/Simulation.SmoothSolver"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.GAMGSolver"
        }, {
          "$ref" : "#/components/schemas/Simulation.PCGSolver"
        }, {
          "$ref" : "#/components/schemas/Simulation.SmoothSolver"
        } ],
        "default" : {
          "type" : "GAMG"
        },
        "x-showWhen" : [ "type == INCOMPRESSIBLE", "type == COMPRESSIBLE && turbulenceModel != NONE", "type == COMPRESSIBLE && timeDependency.type == STATIONARY", "type == COMPRESSIBLE && turbulenceModel == NONE && timeDependency.type == TRANSIENT" ]
      },
      "Simulation.OneOf_FluidSolversPressureFinalSolver" : {
        "title" : "(P) Pressure final",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "GAMG" : "#/components/schemas/Simulation.GAMGSolver",
            "PCG" : "#/components/schemas/Simulation.PCGSolver",
            "SMOOTH" : "#/components/schemas/Simulation.SmoothSolver"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.GAMGSolver"
        }, {
          "$ref" : "#/components/schemas/Simulation.PCGSolver"
        }, {
          "$ref" : "#/components/schemas/Simulation.SmoothSolver"
        } ],
        "default" : {
          "type" : "GAMG"
        },
        "x-showWhen" : [ "type == INCOMPRESSIBLE && algorithm in [PIMPLE,PISO,ICO]", "type == COMPRESSIBLE && timeDependency.type == TRANSIENT && turbulenceModel != NONE", "type == COMPRESSIBLE && timeDependency.type == TRANSIENT" ]
      },
      "Simulation.OneOf_FluidSolversTemperatureSolver" : {
        "title" : "(T) Temperature",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "PBICG" : "#/components/schemas/Simulation.PBICGSolver",
            "PBICGStab" : "#/components/schemas/Simulation.PBICGStabSolver",
            "SMOOTH" : "#/components/schemas/Simulation.SmoothSolver"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.PBICGSolver"
        }, {
          "$ref" : "#/components/schemas/Simulation.PBICGStabSolver"
        }, {
          "$ref" : "#/components/schemas/Simulation.SmoothSolver"
        } ],
        "x-showWhen" : [ "type == CONVECTIVE_HEAT_TRANSFER && isCompressible == false", "type in [COUPLED_CONJUGATE_HEAT_TRANSFER,EMBEDDED_BOUNDARY]" ],
        "x-conditionalDefaults" : [ {
          "when" : [ "type in [COUPLED_CONJUGATE_HEAT_TRANSFER,EMBEDDED_BOUNDARY]" ],
          "default" : {
            "type" : "PBICGStab"
          }
        }, {
          "when" : [ "type == CONVECTIVE_HEAT_TRANSFER" ],
          "default" : {
            "type" : "SMOOTH"
          }
        } ]
      },
      "Simulation.OneOf_FluidSolversTemperatureFinalSolver" : {
        "title" : "(T) Temperature final",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "PBICG" : "#/components/schemas/Simulation.PBICGSolver",
            "PBICGStab" : "#/components/schemas/Simulation.PBICGStabSolver",
            "SMOOTH" : "#/components/schemas/Simulation.SmoothSolver"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.PBICGSolver"
        }, {
          "$ref" : "#/components/schemas/Simulation.PBICGStabSolver"
        }, {
          "$ref" : "#/components/schemas/Simulation.SmoothSolver"
        } ],
        "default" : {
          "type" : "PBICGStab"
        },
        "x-showWhen" : [ "type == CONVECTIVE_HEAT_TRANSFER && isCompressible == false && timeDependency.type == TRANSIENT" ]
      },
      "Simulation.OneOf_FluidSolversPressureRghSolver" : {
        "title" : "(P) Modified pressure",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "GAMG" : "#/components/schemas/Simulation.GAMGSolver",
            "PCG" : "#/components/schemas/Simulation.PCGSolver",
            "SMOOTH" : "#/components/schemas/Simulation.SmoothSolver"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.GAMGSolver"
        }, {
          "$ref" : "#/components/schemas/Simulation.PCGSolver"
        }, {
          "$ref" : "#/components/schemas/Simulation.SmoothSolver"
        } ],
        "x-showWhen" : [ "type in [CONJUGATE_HEAT_TRANSFER,CONVECTIVE_HEAT_TRANSFER,COUPLED_CONJUGATE_HEAT_TRANSFER,MULTIPHASE,EMBEDDED_BOUNDARY]" ],
        "x-conditionalDefaults" : [ {
          "when" : [ "type in [CONJUGATE_HEAT_TRANSFER,CONVECTIVE_HEAT_TRANSFER,COUPLED_CONJUGATE_HEAT_TRANSFER,MULTIPHASE,EMBEDDED_BOUNDARY]" ],
          "default" : {
            "type" : "GAMG"
          }
        } ]
      },
      "Simulation.OneOf_FluidSolversPressureRghFinalSolver" : {
        "title" : "(P) Modified pressure final",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "GAMG" : "#/components/schemas/Simulation.GAMGSolver",
            "PCG" : "#/components/schemas/Simulation.PCGSolver",
            "SMOOTH" : "#/components/schemas/Simulation.SmoothSolver"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.GAMGSolver"
        }, {
          "$ref" : "#/components/schemas/Simulation.PCGSolver"
        }, {
          "$ref" : "#/components/schemas/Simulation.SmoothSolver"
        } ],
        "default" : {
          "type" : "GAMG"
        },
        "x-showWhen" : [ "type == MULTIPHASE", "type in [CONJUGATE_HEAT_TRANSFER,CONVECTIVE_HEAT_TRANSFER] && timeDependency.type == TRANSIENT" ]
      },
      "Simulation.OneOf_FluidSolversSolidEnthalpySolver" : {
        "title" : "(h<s>) Solid enthalpy",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "GAMG" : "#/components/schemas/Simulation.GAMGSolver",
            "PCG" : "#/components/schemas/Simulation.PCGSolver",
            "SMOOTH" : "#/components/schemas/Simulation.SmoothSolver"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.GAMGSolver"
        }, {
          "$ref" : "#/components/schemas/Simulation.PCGSolver"
        }, {
          "$ref" : "#/components/schemas/Simulation.SmoothSolver"
        } ],
        "default" : {
          "type" : "PCG"
        },
        "x-showWhen" : [ "type == CONJUGATE_HEAT_TRANSFER" ]
      },
      "Simulation.OneOf_FluidSolversSolidEnthalpyFinalSolver" : {
        "title" : "(h<s>) Solid enthalpy final",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "GAMG" : "#/components/schemas/Simulation.GAMGSolver",
            "PCG" : "#/components/schemas/Simulation.PCGSolver",
            "SMOOTH" : "#/components/schemas/Simulation.SmoothSolver"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.GAMGSolver"
        }, {
          "$ref" : "#/components/schemas/Simulation.PCGSolver"
        }, {
          "$ref" : "#/components/schemas/Simulation.SmoothSolver"
        } ],
        "default" : {
          "type" : "PCG"
        },
        "x-showWhen" : [ "type == CONJUGATE_HEAT_TRANSFER && timeDependency.type == TRANSIENT" ]
      },
      "Simulation.OneOf_FluidSolversEnthalpySolver" : {
        "title" : "(h) Enthalpy",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "PBICG" : "#/components/schemas/Simulation.PBICGSolver",
            "SMOOTH" : "#/components/schemas/Simulation.SmoothSolver"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.PBICGSolver"
        }, {
          "$ref" : "#/components/schemas/Simulation.SmoothSolver"
        } ],
        "default" : {
          "type" : "SMOOTH"
        },
        "x-showWhen" : [ "type in [COMPRESSIBLE,CONJUGATE_HEAT_TRANSFER]", "type == CONVECTIVE_HEAT_TRANSFER && isCompressible == true" ]
      },
      "Simulation.OneOf_FluidSolversEnthalpyFinalSolver" : {
        "title" : "(h) Enthalpy final",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "PBICG" : "#/components/schemas/Simulation.PBICGSolver",
            "SMOOTH" : "#/components/schemas/Simulation.SmoothSolver"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.PBICGSolver"
        }, {
          "$ref" : "#/components/schemas/Simulation.SmoothSolver"
        } ],
        "default" : {
          "type" : "SMOOTH"
        },
        "x-showWhen" : [ "type == COMPRESSIBLE && timeDependency.type == TRANSIENT && turbulenceModel != NONE", "type == COMPRESSIBLE && timeDependency.type == TRANSIENT", "type == CONVECTIVE_HEAT_TRANSFER && timeDependency.type == TRANSIENT && isCompressible == true", "type == CONJUGATE_HEAT_TRANSFER && timeDependency.type == TRANSIENT" ]
      },
      "Simulation.OneOf_FluidSolversInternalEnergySolver" : {
        "title" : "(e) Internal energy",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "PBICG" : "#/components/schemas/Simulation.PBICGSolver",
            "SMOOTH" : "#/components/schemas/Simulation.SmoothSolver"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.PBICGSolver"
        }, {
          "$ref" : "#/components/schemas/Simulation.SmoothSolver"
        } ],
        "default" : {
          "type" : "SMOOTH"
        },
        "x-showWhen" : [ "type in [COMPRESSIBLE,CONJUGATE_HEAT_TRANSFER]", "type == CONVECTIVE_HEAT_TRANSFER && isCompressible == true" ]
      },
      "Simulation.OneOf_FluidSolversInternalEnergyFinalSolver" : {
        "title" : "(e) Internal energy final",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "PBICG" : "#/components/schemas/Simulation.PBICGSolver",
            "SMOOTH" : "#/components/schemas/Simulation.SmoothSolver"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.PBICGSolver"
        }, {
          "$ref" : "#/components/schemas/Simulation.SmoothSolver"
        } ],
        "default" : {
          "type" : "SMOOTH"
        },
        "x-showWhen" : [ "type == COMPRESSIBLE && timeDependency.type == TRANSIENT && turbulenceModel != NONE", "type == COMPRESSIBLE && timeDependency.type == TRANSIENT", "type == CONVECTIVE_HEAT_TRANSFER && timeDependency.type == TRANSIENT && isCompressible == true", "type == CONJUGATE_HEAT_TRANSFER && timeDependency.type == TRANSIENT" ]
      },
      "Simulation.OneOf_FluidSolversTurbulentKineticEnergySolver" : {
        "title" : "(k) Turb. kinetic energy",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "PBICG" : "#/components/schemas/Simulation.PBICGSolver",
            "PBICGStab" : "#/components/schemas/Simulation.PBICGStabSolver",
            "SMOOTH" : "#/components/schemas/Simulation.SmoothSolver"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.PBICGSolver"
        }, {
          "$ref" : "#/components/schemas/Simulation.PBICGStabSolver"
        }, {
          "$ref" : "#/components/schemas/Simulation.SmoothSolver"
        } ],
        "default" : {
          "type" : "PBICGStab"
        },
        "x-showWhen" : [ "type == INCOMPRESSIBLE && turbulenceModel in [KEPSILON,KOMEGA,KOMEGASST,REALIZABLEKE]", "type == MULTIPHASE && turbulenceModel in [KEPSILON,KOMEGA,KOMEGASST]", "type in [COMPRESSIBLE,CONVECTIVE_HEAT_TRANSFER,CONJUGATE_HEAT_TRANSFER,COUPLED_CONJUGATE_HEAT_TRANSFER,EMBEDDED_BOUNDARY] && turbulenceModel in [KEPSILON,KOMEGASST]" ]
      },
      "Simulation.OneOf_FluidSolversTurbulentKineticEnergyFinalSolver" : {
        "title" : "(k) Turb. kinetic energy final",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "PBICG" : "#/components/schemas/Simulation.PBICGSolver",
            "PBICGStab" : "#/components/schemas/Simulation.PBICGStabSolver",
            "SMOOTH" : "#/components/schemas/Simulation.SmoothSolver"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.PBICGSolver"
        }, {
          "$ref" : "#/components/schemas/Simulation.PBICGStabSolver"
        }, {
          "$ref" : "#/components/schemas/Simulation.SmoothSolver"
        } ],
        "default" : {
          "type" : "PBICGStab"
        },
        "x-showWhen" : [ "type == MULTIPHASE && turbulenceModel in [KEPSILON,KOMEGA,KOMEGASST]", "type == INCOMPRESSIBLE && turbulenceModel in [KEPSILON,KOMEGA,KOMEGASST,REALIZABLEKE] && algorithm == PIMPLE", "type in [COMPRESSIBLE,CONVECTIVE_HEAT_TRANSFER,CONJUGATE_HEAT_TRANSFER] && turbulenceModel in [KEPSILON,KOMEGASST] && timeDependency.type == TRANSIENT" ]
      },
      "Simulation.OneOf_FluidSolversNuTildaSolver" : {
        "title" : "(ῦ) nuTilda",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "PBICG" : "#/components/schemas/Simulation.PBICGSolver",
            "SMOOTH" : "#/components/schemas/Simulation.SmoothSolver"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.PBICGSolver"
        }, {
          "$ref" : "#/components/schemas/Simulation.SmoothSolver"
        } ],
        "default" : {
          "type" : "PBICG"
        },
        "x-showWhen" : [ "type == INCOMPRESSIBLE && algorithm in [PIMPLE,PISO] && turbulenceModel == SPALARTALLMARAS", "type in [COMPRESSIBLE,MULTIPHASE] && turbulenceModel == SPALARTALLMARAS", "type == CONVECTIVE_HEAT_TRANSFER && turbulenceModel == SPALARTALLMARAS" ]
      },
      "Simulation.OneOf_FluidSolversNuTildaFinalSolver" : {
        "title" : "(ῦ) nuTilda final",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "PBICG" : "#/components/schemas/Simulation.PBICGSolver",
            "SMOOTH" : "#/components/schemas/Simulation.SmoothSolver"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.PBICGSolver"
        }, {
          "$ref" : "#/components/schemas/Simulation.SmoothSolver"
        } ],
        "default" : {
          "type" : "PBICG"
        },
        "x-showWhen" : [ "type == INCOMPRESSIBLE && turbulenceModel == SPALARTALLMARAS && algorithm == PIMPLE", "type in [COMPRESSIBLE,CONVECTIVE_HEAT_TRANSFER,MULTIPHASE] && turbulenceModel == SPALARTALLMARAS" ]
      },
      "Simulation.OneOf_FluidSolversOmegaDissipationRateSolver" : {
        "title" : "(ω) Specific dissipation rate",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "PBICG" : "#/components/schemas/Simulation.PBICGSolver",
            "PBICGStab" : "#/components/schemas/Simulation.PBICGStabSolver",
            "SMOOTH" : "#/components/schemas/Simulation.SmoothSolver"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.PBICGSolver"
        }, {
          "$ref" : "#/components/schemas/Simulation.PBICGStabSolver"
        }, {
          "$ref" : "#/components/schemas/Simulation.SmoothSolver"
        } ],
        "default" : {
          "type" : "PBICGStab"
        },
        "x-showWhen" : [ "type in [INCOMPRESSIBLE,MULTIPHASE] && turbulenceModel in [KOMEGA,KOMEGASST]", "type in [COMPRESSIBLE,CONVECTIVE_HEAT_TRANSFER,CONJUGATE_HEAT_TRANSFER,COUPLED_CONJUGATE_HEAT_TRANSFER,EMBEDDED_BOUNDARY] && turbulenceModel == KOMEGASST" ]
      },
      "Simulation.OneOf_FluidSolversOmegaDissipationRateFinalSolver" : {
        "title" : "(ω) Specific dissipation rate final",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "PBICG" : "#/components/schemas/Simulation.PBICGSolver",
            "PBICGStab" : "#/components/schemas/Simulation.PBICGStabSolver",
            "SMOOTH" : "#/components/schemas/Simulation.SmoothSolver"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.PBICGSolver"
        }, {
          "$ref" : "#/components/schemas/Simulation.PBICGStabSolver"
        }, {
          "$ref" : "#/components/schemas/Simulation.SmoothSolver"
        } ],
        "default" : {
          "type" : "PBICGStab"
        },
        "x-showWhen" : [ "type == MULTIPHASE && turbulenceModel in [KOMEGA,KOMEGASST]", "type == INCOMPRESSIBLE && turbulenceModel in [KOMEGA,KOMEGASST] && algorithm == PIMPLE", "type in [COMPRESSIBLE,CONVECTIVE_HEAT_TRANSFER,CONJUGATE_HEAT_TRANSFER] && turbulenceModel == KOMEGASST && timeDependency.type == TRANSIENT" ]
      },
      "Simulation.OneOf_FluidSolversEpsilonDissipationRateSolver" : {
        "title" : "(ε) Dissipation rate",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "PBICG" : "#/components/schemas/Simulation.PBICGSolver",
            "PBICGStab" : "#/components/schemas/Simulation.PBICGStabSolver",
            "SMOOTH" : "#/components/schemas/Simulation.SmoothSolver"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.PBICGSolver"
        }, {
          "$ref" : "#/components/schemas/Simulation.PBICGStabSolver"
        }, {
          "$ref" : "#/components/schemas/Simulation.SmoothSolver"
        } ],
        "default" : {
          "type" : "PBICGStab"
        },
        "x-showWhen" : [ "type == INCOMPRESSIBLE && turbulenceModel in [KEPSILON,REALIZABLEKE]", "type in [COMPRESSIBLE,INCOMPRESSIBLE,CONVECTIVE_HEAT_TRANSFER,CONJUGATE_HEAT_TRANSFER,MULTIPHASE,COUPLED_CONJUGATE_HEAT_TRANSFER] && turbulenceModel == KEPSILON" ]
      },
      "Simulation.OneOf_FluidSolversEpsilonDissipationRateFinalSolver" : {
        "title" : "(ε) Dissipation rate final",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "PBICG" : "#/components/schemas/Simulation.PBICGSolver",
            "PBICGStab" : "#/components/schemas/Simulation.PBICGStabSolver",
            "SMOOTH" : "#/components/schemas/Simulation.SmoothSolver"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.PBICGSolver"
        }, {
          "$ref" : "#/components/schemas/Simulation.PBICGStabSolver"
        }, {
          "$ref" : "#/components/schemas/Simulation.SmoothSolver"
        } ],
        "default" : {
          "type" : "PBICGStab"
        },
        "x-showWhen" : [ "type == MULTIPHASE && turbulenceModel == KEPSILON", "type == INCOMPRESSIBLE && turbulenceModel in [KEPSILON,REALIZABLEKE] && algorithm == PIMPLE", "type in [COMPRESSIBLE,CONVECTIVE_HEAT_TRANSFER,CONJUGATE_HEAT_TRANSFER] && turbulenceModel == KEPSILON && timeDependency.type == TRANSIENT" ]
      },
      "Simulation.OneOf_FluidSolversPassiveScalarSolver" : {
        "title" : "Passive scalar solver",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "PBICG" : "#/components/schemas/Simulation.PBICGSolver",
            "SMOOTH" : "#/components/schemas/Simulation.SmoothSolver"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.PBICGSolver"
        }, {
          "$ref" : "#/components/schemas/Simulation.SmoothSolver"
        } ],
        "default" : {
          "type" : "PBICG"
        },
        "x-showWhen" : [ "type == INCOMPRESSIBLE && numOfPassiveSpecies > 0", "type == CONVECTIVE_HEAT_TRANSFER && numOfPassiveSpecies > 0", "type == COUPLED_CONJUGATE_HEAT_TRANSFER && numOfPassiveSpecies > 0", "type == EMBEDDED_BOUNDARY && numOfPassiveSpecies > 0" ]
      },
      "Simulation.OneOf_FluidSolversRadiativeIntensityRaySolver" : {
        "title" : "(I) Radiative intensity ray",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "PBICG" : "#/components/schemas/Simulation.PBICGSolver",
            "PBICGStab" : "#/components/schemas/Simulation.PBICGStabSolver",
            "SMOOTH" : "#/components/schemas/Simulation.SmoothSolver"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.PBICGSolver"
        }, {
          "$ref" : "#/components/schemas/Simulation.PBICGStabSolver"
        }, {
          "$ref" : "#/components/schemas/Simulation.SmoothSolver"
        } ],
        "default" : {
          "type" : "PBICGStab"
        },
        "x-showWhen" : [ "type == COUPLED_CONJUGATE_HEAT_TRANSFER && enableRadiation == true && radiationModel == FV_DOM", "type == EMBEDDED_BOUNDARY && enableRadiation == true" ]
      },
      "Simulation.OneOf_FluidSolversSpecificHumiditySolver" : {
        "title" : "Specific humidity solver",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "PBICG" : "#/components/schemas/Simulation.PBICGSolver",
            "SMOOTH" : "#/components/schemas/Simulation.SmoothSolver"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.PBICGSolver"
        }, {
          "$ref" : "#/components/schemas/Simulation.SmoothSolver"
        } ],
        "default" : {
          "type" : "PBICG"
        },
        "x-showWhen" : [ "type == COUPLED_CONJUGATE_HEAT_TRANSFER && isCompressible == true && enableHumidityModel == true", "type == EMBEDDED_BOUNDARY && isCompressible == true && enableHumidityModel == true" ]
      },
      "Simulation.OneOf_FluidSolversVoltageSolver" : {
        "title" : "(V) Voltage",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "GAMG" : "#/components/schemas/Simulation.GAMGSolver",
            "PBICGStab" : "#/components/schemas/Simulation.PBICGStabSolver",
            "SMOOTH" : "#/components/schemas/Simulation.SmoothSolver"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.GAMGSolver"
        }, {
          "$ref" : "#/components/schemas/Simulation.PBICGStabSolver"
        }, {
          "$ref" : "#/components/schemas/Simulation.SmoothSolver"
        } ],
        "default" : {
          "type" : "GAMG"
        },
        "x-showWhen" : [ "type == COUPLED_CONJUGATE_HEAT_TRANSFER && enableJouleHeating == true", "type == EMBEDDED_BOUNDARY && enableJouleHeating == true" ]
      },
      "Simulation.OneOf_FieldCalculationsWallHeatFluxResultControlReferenceTemperatureResultType" : {
        "title" : "Reference temperature",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "WALL_NEXT_CELL_HEAT_TRANSFER_COEFFICIENT" : "#/components/schemas/Simulation.WallNextCellHeatTransferCoefficientResultType",
            "REFERENCE_TEMPERATURE_HEAT_TRANSFER_COEFFICIENT" : "#/components/schemas/Simulation.FixedTemperatureHeatTransferCoefficientResultType"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.WallNextCellHeatTransferCoefficientResultType"
        }, {
          "$ref" : "#/components/schemas/Simulation.FixedTemperatureHeatTransferCoefficientResultType"
        } ],
        "default" : {
          "type" : "REFERENCE_TEMPERATURE_HEAT_TRANSFER_COEFFICIENT"
        },
        "x-showWhen" : [ "1/computeHeatTransferCoefficient == true" ]
      },
      "Simulation.OneOf_ContactConductanceLayerInterfaceThermal" : {
        "title" : "Interface type",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "SPECIFIC_CONDUCTANCE" : "#/components/schemas/Simulation.SpecificConductanceInterfaceThermal",
            "TOTAL_CONDUCTANCE" : "#/components/schemas/Simulation.TotalConductanceInterfaceThermal"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.SpecificConductanceInterfaceThermal"
        }, {
          "$ref" : "#/components/schemas/Simulation.TotalConductanceInterfaceThermal"
        } ]
      },
      "Simulation.OneOf_RestrictedDimensionalFunction_FrequencyValue" : {
        "title" : "Value",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "CONSTANT" : "#/components/schemas/Simulation.ConstantFunction",
            "EXPRESSION" : "#/components/schemas/Simulation.ExpressionFunction",
            "POLYNOMIAL" : "#/components/schemas/Simulation.PolynomialFunction",
            "RESTRICTED_TABLE_DEFINED" : "#/components/schemas/Simulation.RestrictedTableDefinedFunction"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.ConstantFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.ExpressionFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.PolynomialFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.RestrictedTableDefinedFunction"
        } ]
      },
      "Simulation.OneOf_DimensionalFunction_ElectricFieldStrengthValue" : {
        "title" : "Value",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "CONSTANT" : "#/components/schemas/Simulation.ConstantFunction",
            "EXPRESSION" : "#/components/schemas/Simulation.ExpressionFunction",
            "POLYNOMIAL" : "#/components/schemas/Simulation.PolynomialFunction",
            "TABLE_DEFINED" : "#/components/schemas/Simulation.TableDefinedFunction"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.ConstantFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.ExpressionFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.PolynomialFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.TableDefinedFunction"
        } ]
      },
      "Simulation.OneOf_MarcStressResultControlItemStressType" : {
        "title" : "Stress type",
        "description" : "<ul><li><b>Cauchy stress</b>: Also known as \"true stress,\" it represents the force per unit of current (deformed) area. This is the standard stress measure for large deformation nonlinear analysis. Tensor quantity.<li><b>Von Mises stress</b>: A scalar value used to predict yielding of ductile materials; it represents the \"distortional energy\" within the body.<li><b>Principal stress</b>: The normal stresses acting on planes where the shear stresses are zero (&sigma;<sub>1</sub>, &sigma;<sub>2</sub>, &sigma;<sub>3</sub>), indicating the extreme tension or compression values.</ul>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "CAUCHY" : "#/components/schemas/Simulation.CauchyStress",
            "VON_MISES" : "#/components/schemas/Simulation.VonMisesStress",
            "PRINCIPAL" : "#/components/schemas/Simulation.PrincipalStress"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.CauchyStress"
        }, {
          "$ref" : "#/components/schemas/Simulation.VonMisesStress"
        }, {
          "$ref" : "#/components/schemas/Simulation.PrincipalStress"
        } ],
        "default" : {
          "type" : "CAUCHY"
        }
      },
      "Simulation.OneOf_DarcyForchheimerMediumOrientation" : {
        "title" : "Orientation",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "CARTESIAN" : "#/components/schemas/Simulation.CartesianOrientation",
            "CUSTOM" : "#/components/schemas/Simulation.CustomOrientation"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.CartesianOrientation"
        }, {
          "$ref" : "#/components/schemas/Simulation.CustomOrientation"
        } ]
      },
      "Simulation.OneOf_DarcyForchheimerMediumPorousMediaHeatTransfer" : {
        "title" : "Heat transfer",
        "description" : "The heat transfer modelling inside the porous media matrix:<br><li><b>Fluid only</b>: This model uses exclusively the fluid thermal properties in the porous media region. <li><b>Effective conductivity</b>: This model takes the effective thermal conductivity for the fluid-solid porous matrix as a constant value or a tabulated velocity function.",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "FLUID_ONLY_HEAT_TRANSFER" : "#/components/schemas/Simulation.FluidOnlyHeatTransfer",
            "EFFECTIVE_CONDUCTIVITY_HEAT_TRANSFER" : "#/components/schemas/Simulation.EffectiveConductivityHeatTransfer"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.FluidOnlyHeatTransfer"
        }, {
          "$ref" : "#/components/schemas/Simulation.EffectiveConductivityHeatTransfer"
        } ],
        "default" : {
          "type" : "FLUID_ONLY_HEAT_TRANSFER"
        },
        "x-showWhen" : [ "type in [COUPLED_CONJUGATE_HEAT_TRANSFER,EMBEDDED_BOUNDARY]" ]
      },
      "Simulation.OneOf_DirectionalDependencyDarcyForchheimerType" : {
        "title" : "Permeability type",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "ISOTROPIC" : "#/components/schemas/Simulation.IsotropicDarcyForchheimer",
            "RECTIFYING" : "#/components/schemas/Simulation.RectifyingDarcyForchheimer"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.IsotropicDarcyForchheimer"
        }, {
          "$ref" : "#/components/schemas/Simulation.RectifyingDarcyForchheimer"
        } ]
      },
      "Simulation.OneOf_PBICGSolverPreconditioner" : {
        "title" : "Preconditioner",
        "description" : "<p>Choose a preconditioner for your solver. A preconditioner improves the convergence speed of your system. Therefore, it is generally recommended. DILU is a very common diagonal incomplete lower-upper decomposition preconditioner.</p>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "DILU" : "#/components/schemas/Simulation.DILUPreconditioner",
            "ILUCP" : "#/components/schemas/Simulation.ILUCpPreconditioner"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.DILUPreconditioner"
        }, {
          "$ref" : "#/components/schemas/Simulation.ILUCpPreconditioner"
        } ],
        "x-conditionalDefaults" : [ {
          "when" : [ "type in [COMPRESSIBLE,INCOMPRESSIBLE,CONJUGATE_HEAT_TRANSFER,CONVECTIVE_HEAT_TRANSFER,MULTIPHASE]", "type in [COUPLED_CONJUGATE_HEAT_TRANSFER,EMBEDDED_BOUNDARY] && 1# in [velocitySolver,radiativeIntensityRaySolver,turbulentKineticEnergySolver,omegaDissipationRateSolver,passiveScalarSolver,specificHumiditySolver]" ],
          "default" : {
            "type" : "DILU"
          }
        }, {
          "when" : [ "type in [COUPLED_CONJUGATE_HEAT_TRANSFER,EMBEDDED_BOUNDARY] && 1# == temperatureSolver" ],
          "default" : {
            "type" : "ILUCP"
          }
        } ]
      },
      "Simulation.OneOf_RotatingMotionTypeRotation" : {
        "title" : "Rotation",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "ANGULAR_ROTATION" : "#/components/schemas/Simulation.AngularRotation",
            "VECTOR_ROTATION" : "#/components/schemas/Simulation.VectorRotation"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.AngularRotation"
        }, {
          "$ref" : "#/components/schemas/Simulation.VectorRotation"
        } ]
      },
      "Simulation.OneOf_DimensionalFunction_ElectricResistivityValue" : {
        "title" : "Value",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "CONSTANT" : "#/components/schemas/Simulation.ConstantFunction",
            "EXPRESSION" : "#/components/schemas/Simulation.ExpressionFunction",
            "POLYNOMIAL" : "#/components/schemas/Simulation.PolynomialFunction",
            "TABLE_DEFINED" : "#/components/schemas/Simulation.TableDefinedFunction"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.ConstantFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.ExpressionFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.PolynomialFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.TableDefinedFunction"
        } ]
      },
      "Simulation.OneOf_MarcLinearSolverSettingsLinearSolver" : {
        "title" : "Type",
        "description" : "<p>Defines the numerical method used to solve the linear system of equations $Ax=b$ within each iteration. Choosing the right solver depends on the model size, available memory, and the presence of instabilities.</p><ul><li><b>Direct (MUMPS):</b> A robust, multi-frontal direct solver suitable for a wide range of problems, especially those with material nonlinearities or contact. It is generally more memory-intensive than iterative solvers but highly <b>reliable for complex nonlinearities.</b></li><li><b>Direct (Pardiso):</b> A <b>high-performance direct solver</b> optimized for multi-core CPUs, offering efficient memory usage and fast solution times for large-scale linear and nonlinear problems. It is a good alternative to MUMPS for large models.</li><li><b>Iterative:</b> Best <b>for very large, bulky models</b> due to lower memory demand. This solver might be less robust in highly nonlinear scenarios compared to the direct solvers.</li></ul>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "MUMPS_DIRECT" : "#/components/schemas/Simulation.MumpsDirectSolver",
            "PARDISO_DIRECT" : "#/components/schemas/Simulation.PardisoDirectSolver",
            "SPARSE_ITERATIVE" : "#/components/schemas/Simulation.SparseIterative"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.MumpsDirectSolver"
        }, {
          "$ref" : "#/components/schemas/Simulation.PardisoDirectSolver"
        }, {
          "$ref" : "#/components/schemas/Simulation.SparseIterative"
        } ],
        "default" : {
          "type" : "MUMPS_DIRECT"
        }
      },
      "Simulation.OneOf_DimensionalVectorFunction_LengthValue" : {
        "title" : "Value",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "COMPONENT" : "#/components/schemas/Simulation.ComponentVectorFunction",
            "TABLE_DEFINED" : "#/components/schemas/Simulation.TableDefinedVectorFunction"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.ComponentVectorFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.TableDefinedVectorFunction"
        } ]
      },
      "Simulation.OneOf_DimensionalVectorFunction_ForceValue" : {
        "title" : "Value",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "COMPONENT" : "#/components/schemas/Simulation.ComponentVectorFunction",
            "TABLE_DEFINED" : "#/components/schemas/Simulation.TableDefinedVectorFunction"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.ComponentVectorFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.TableDefinedVectorFunction"
        } ]
      },
      "Simulation.OneOf_ConstTransportThermo" : {
        "title" : "Thermo",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "ECONST" : "#/components/schemas/Simulation.EConstThermo",
            "HCONST" : "#/components/schemas/Simulation.HConstThermo"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.EConstThermo"
        }, {
          "$ref" : "#/components/schemas/Simulation.HConstThermo"
        } ],
        "default" : {
          "type" : "HCONST"
        }
      },
      "Simulation.OneOf_FixedCoeffMediumOrientation" : {
        "title" : "Orientation",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "CARTESIAN" : "#/components/schemas/Simulation.CartesianOrientation",
            "CUSTOM" : "#/components/schemas/Simulation.CustomOrientation"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.CartesianOrientation"
        }, {
          "$ref" : "#/components/schemas/Simulation.CustomOrientation"
        } ]
      },
      "Simulation.OneOf_FixedCoeffMediumPorousMediaHeatTransfer" : {
        "title" : "Heat transfer",
        "description" : "The heat transfer modelling inside the porous media matrix:<br><li><b>Fluid only</b>: This model uses exclusively the fluid thermal properties in the porous media region. <li><b>Effective conductivity</b>: This model takes the effective thermal conductivity for the fluid-solid porous matrix as a constant value or a tabulated velocity function.",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "FLUID_ONLY_HEAT_TRANSFER" : "#/components/schemas/Simulation.FluidOnlyHeatTransfer",
            "EFFECTIVE_CONDUCTIVITY_HEAT_TRANSFER" : "#/components/schemas/Simulation.EffectiveConductivityHeatTransfer"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.FluidOnlyHeatTransfer"
        }, {
          "$ref" : "#/components/schemas/Simulation.EffectiveConductivityHeatTransfer"
        } ],
        "default" : {
          "type" : "FLUID_ONLY_HEAT_TRANSFER"
        },
        "x-showWhen" : [ "type in [COUPLED_CONJUGATE_HEAT_TRANSFER,EMBEDDED_BOUNDARY]" ]
      },
      "Simulation.OneOf_ScalarTransportResultControlWriteControl" : {
        "title" : "Write control",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "TIME_STEP" : "#/components/schemas/Simulation.TimeStepWriteControl",
            "OUTPUT_TIME" : "#/components/schemas/Simulation.SynchronizeWithFieldOutputWriteControl"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.TimeStepWriteControl"
        }, {
          "$ref" : "#/components/schemas/Simulation.SynchronizeWithFieldOutputWriteControl"
        } ],
        "default" : {
          "type" : "TIME_STEP"
        }
      },
      "Simulation.OneOf_VoltageExcitationVoltageType" : {
        "title" : "U(t) Voltage",
        "description" : "<ul><li><strong>Constant:</strong> Definition of a constant voltage value.</li> <li><strong>Sinusoidal:</strong> Definition of a voltage that changes sinusoidally with time.</li> <li><strong>Table:</strong> Definition of voltage values at specific time intervals.</li></ul>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "VOLTAGE_TYPE_CONSTANT" : "#/components/schemas/Simulation.ElectromagneticVoltageTypeConstant",
            "VOLTAGE_TYPE_SINUSOIDAL" : "#/components/schemas/Simulation.ElectromagneticVoltageTypeSinusoidal",
            "VOLTAGE_TYPE_TABLE" : "#/components/schemas/Simulation.ElectromagneticVoltageTypeTable"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.ElectromagneticVoltageTypeConstant"
        }, {
          "$ref" : "#/components/schemas/Simulation.ElectromagneticVoltageTypeSinusoidal"
        }, {
          "$ref" : "#/components/schemas/Simulation.ElectromagneticVoltageTypeTable"
        } ],
        "default" : {
          "type" : "VOLTAGE_TYPE_CONSTANT"
        },
        "x-showWhen" : [ "model.type == MAGNETOSTATICS", "model.type == TIME_TRANSIENT_MAGNETICS" ]
      },
      "Simulation.OneOf_MarcConnectorPointDataItemResults" : {
        "title" : "Results",
        "description" : "<ul><li><b>All</b>: Exports all available physical quantities associated with the connector elements for comprehensive tracking - displacements, rotations, forces and moments.<li><b>Custom</b>: Allows for the selection of specific output variables (like force or displacement) to be recorded at the connector locations.</ul>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "ALL" : "#/components/schemas/Simulation.AllConnectorPointDataResults",
            "CUSTOM" : "#/components/schemas/Simulation.CustomConnectorPointDataResults"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.AllConnectorPointDataResults"
        }, {
          "$ref" : "#/components/schemas/Simulation.CustomConnectorPointDataResults"
        } ],
        "default" : {
          "type" : "ALL"
        }
      },
      "Simulation.OneOf_WindComfortMeshWindComfortFineness" : {
        "title" : "Fineness",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "VERY_COARSE" : "#/components/schemas/Simulation.PacefishFinenessVeryCoarse",
            "COARSE" : "#/components/schemas/Simulation.PacefishFinenessCoarse",
            "MODERATE" : "#/components/schemas/Simulation.PacefishFinenessModerate",
            "FINE" : "#/components/schemas/Simulation.PacefishFinenessFine",
            "VERY_FINE" : "#/components/schemas/Simulation.PacefishFinenessVeryFine",
            "TARGET_SIZE" : "#/components/schemas/Simulation.PacefishFinenessTargetSize"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.PacefishFinenessVeryCoarse"
        }, {
          "$ref" : "#/components/schemas/Simulation.PacefishFinenessCoarse"
        }, {
          "$ref" : "#/components/schemas/Simulation.PacefishFinenessModerate"
        }, {
          "$ref" : "#/components/schemas/Simulation.PacefishFinenessFine"
        }, {
          "$ref" : "#/components/schemas/Simulation.PacefishFinenessVeryFine"
        }, {
          "$ref" : "#/components/schemas/Simulation.PacefishFinenessTargetSize"
        } ],
        "default" : {
          "type" : "COARSE"
        }
      },
      "Simulation.OneOf_WindComfortMeshAutomaticGapClosing" : {
        "title" : "Automatic gap closing",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "SMALLEST_CELL_SIZE" : "#/components/schemas/Simulation.SmallestCell",
            "MINIMUM_GAP_SIZE" : "#/components/schemas/Simulation.MinimumGapSize"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.SmallestCell"
        }, {
          "$ref" : "#/components/schemas/Simulation.MinimumGapSize"
        } ],
        "default" : {
          "type" : "SMALLEST_CELL_SIZE"
        }
      },
      "Simulation.OneOf_WindComfortMeshReynoldsScalingType" : {
        "title" : "Reynolds scaling",
        "description" : "Use this factor to scale the Reynolds number of your simulation. For example, to change the Reynolds number from 10<sup>8</sup> to 10<sup>6</sup>, set this factor to 0.01. <a href= https://www.simscale.com/docs/incompressible-lbm-lattice-boltzmann-advanced/#reynolds-scaling-factor' target='_blank'>Learn more</a>.",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "AUTOMATIC_REYNOLDS_SCALING" : "#/components/schemas/Simulation.AutomaticReynoldsScaling",
            "MANUAL_REYNOLDS_SCALING" : "#/components/schemas/Simulation.ManualReynoldsScaling"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.AutomaticReynoldsScaling"
        }, {
          "$ref" : "#/components/schemas/Simulation.ManualReynoldsScaling"
        } ],
        "default" : {
          "type" : "AUTOMATIC_REYNOLDS_SCALING"
        }
      },
      "Simulation.OneOf_WindComfortMeshRefinements" : {
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "SURFACE_REFINEMENT_WIND_COMFORT" : "#/components/schemas/Simulation.SurfaceRefinementWindComfort",
            "REGION_REFINEMENT_WIND_COMFORT" : "#/components/schemas/Simulation.RegionRefinementWindComfort"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.SurfaceRefinementWindComfort"
        }, {
          "$ref" : "#/components/schemas/Simulation.RegionRefinementWindComfort"
        } ]
      },
      "Simulation.OneOf_PacefishAutomeshNewFineness" : {
        "title" : "Fineness",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "VERY_COARSE" : "#/components/schemas/Simulation.PacefishFinenessVeryCoarse",
            "COARSE" : "#/components/schemas/Simulation.PacefishFinenessCoarse",
            "MODERATE" : "#/components/schemas/Simulation.PacefishFinenessModerate",
            "FINE" : "#/components/schemas/Simulation.PacefishFinenessFine",
            "VERY_FINE" : "#/components/schemas/Simulation.PacefishFinenessVeryFine",
            "TARGET_SIZE" : "#/components/schemas/Simulation.PacefishFinenessTargetSize"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.PacefishFinenessVeryCoarse"
        }, {
          "$ref" : "#/components/schemas/Simulation.PacefishFinenessCoarse"
        }, {
          "$ref" : "#/components/schemas/Simulation.PacefishFinenessModerate"
        }, {
          "$ref" : "#/components/schemas/Simulation.PacefishFinenessFine"
        }, {
          "$ref" : "#/components/schemas/Simulation.PacefishFinenessVeryFine"
        }, {
          "$ref" : "#/components/schemas/Simulation.PacefishFinenessTargetSize"
        } ],
        "default" : {
          "type" : "COARSE"
        }
      },
      "Simulation.OneOf_PacefishAutomeshAutomaticGapClosing" : {
        "title" : "Automatic gap closing",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "SMALLEST_CELL_SIZE" : "#/components/schemas/Simulation.SmallestCell",
            "MINIMUM_GAP_SIZE" : "#/components/schemas/Simulation.MinimumGapSize"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.SmallestCell"
        }, {
          "$ref" : "#/components/schemas/Simulation.MinimumGapSize"
        } ],
        "default" : {
          "type" : "SMALLEST_CELL_SIZE"
        }
      },
      "Simulation.OneOf_PacefishAutomeshReferenceLengthComputation" : {
        "title" : "Reference length computation",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "AUTOMATIC_REFERENCE_LENGTH" : "#/components/schemas/Simulation.AutomaticReferenceLength",
            "MANUAL_REFERENCE_LENGTH" : "#/components/schemas/Simulation.ManualReferenceLength"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.AutomaticReferenceLength"
        }, {
          "$ref" : "#/components/schemas/Simulation.ManualReferenceLength"
        } ],
        "default" : {
          "type" : "AUTOMATIC_REFERENCE_LENGTH"
        }
      },
      "Simulation.OneOf_PacefishAutomeshReynoldsScalingType" : {
        "title" : "Reynolds scaling",
        "description" : "Use this factor to scale the Reynolds number of your simulation. For example, to change the Reynolds number from 10<sup>8</sup> to 10<sup>6</sup>, set this factor to 0.01. <a href= https://www.simscale.com/docs/incompressible-lbm-lattice-boltzmann-advanced/#reynolds-scaling-factor' target='_blank'>Learn more</a>.",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "AUTOMATIC_REYNOLDS_SCALING" : "#/components/schemas/Simulation.AutomaticReynoldsScaling",
            "MANUAL_REYNOLDS_SCALING" : "#/components/schemas/Simulation.ManualReynoldsScaling"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.AutomaticReynoldsScaling"
        }, {
          "$ref" : "#/components/schemas/Simulation.ManualReynoldsScaling"
        } ],
        "default" : {
          "type" : "AUTOMATIC_REYNOLDS_SCALING"
        }
      },
      "Simulation.OneOf_PacefishAutomeshPrimaryTopology" : {
        "title" : "Region of interest",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "BUILDINGS_OF_INTEREST" : "#/components/schemas/Simulation.BuildingsOfInterest",
            "REGION" : "#/components/schemas/Simulation.Region"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.BuildingsOfInterest"
        }, {
          "$ref" : "#/components/schemas/Simulation.Region"
        } ],
        "default" : {
          "type" : "BUILDINGS_OF_INTEREST"
        }
      },
      "Simulation.OneOf_PacefishAutomeshRefinements" : {
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "REGION_PACEFISH_V38" : "#/components/schemas/Simulation.NewRegionRefinementPacefishV38",
            "SURFACE_PACEFISH_V38" : "#/components/schemas/Simulation.NewSurfaceRefinementPacefishV38"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.NewRegionRefinementPacefishV38"
        }, {
          "$ref" : "#/components/schemas/Simulation.NewSurfaceRefinementPacefishV38"
        } ]
      },
      "Simulation.OneOf_HeatExchangerSourceHeatExchangerMode" : {
        "title" : "Heat exchanger type",
        "description" : "The overall conductance (U) of the heat exchanger can be modelled in two different ways:<br><li><b>Heat transfer coefficients</b>: In this model the overall conductance (U) is computed using the heat transfer coefficient (h), the surface area density or surface to volume ratio (&rho;) and the exchanger volume (V) as U = h &rho; V. <li><b>Heat exchanger performance</b>: This model takes the overall conductance (U) as the heat exchanger performance (P).",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "HEAT_TRANSFER_COEFFICIENTS" : "#/components/schemas/Simulation.HeatTransferCoefficients",
            "HEAT_EXCHANGER_PERFORMANCE" : "#/components/schemas/Simulation.HeatExchangerPerformance"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.HeatTransferCoefficients"
        }, {
          "$ref" : "#/components/schemas/Simulation.HeatExchangerPerformance"
        } ]
      },
      "Simulation.OneOf_ContactFieldSelectionContactType" : {
        "title" : "Contact result type",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "PRESSURE" : "#/components/schemas/Simulation.ContactPressureType",
            "NORMAL_FORCE" : "#/components/schemas/Simulation.ContactNormalForceType",
            "GAP" : "#/components/schemas/Simulation.ContactGapType",
            "STATE" : "#/components/schemas/Simulation.ContactStateType"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.ContactPressureType"
        }, {
          "$ref" : "#/components/schemas/Simulation.ContactNormalForceType"
        }, {
          "$ref" : "#/components/schemas/Simulation.ContactGapType"
        }, {
          "$ref" : "#/components/schemas/Simulation.ContactStateType"
        } ],
        "default" : {
          "type" : "PRESSURE"
        }
      },
      "Simulation.OneOf_FreestreamVBCAmbientPressure" : {
        "title" : "(P<t>) Ambient pressure",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "FIXED_VALUE" : "#/components/schemas/Simulation.FixedValuePBC",
            "HYDROSTATIC_ISOTHERMAL_FREESTREAM_PRESSURE" : "#/components/schemas/Simulation.HydrostaticIsothermalFreestreamPBC"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.FixedValuePBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.HydrostaticIsothermalFreestreamPBC"
        } ],
        "x-conditionalHelp" : [ {
          "when" : [ "1/ambientPressure/type == FIXED_VALUE" ]
        }, {
          "when" : [ "1/ambientPressure/type == HYDROSTATIC_ISOTHERMAL_FREESTREAM_PRESSURE" ]
        } ],
        "x-showWhen" : [ "type in [COUPLED_CONJUGATE_HEAT_TRANSFER,EMBEDDED_BOUNDARY]" ],
        "x-conditionalDefaults" : [ {
          "when" : [ "type == EMBEDDED_BOUNDARY && isCompressible == true", "type == COUPLED_CONJUGATE_HEAT_TRANSFER && isCompressible == true" ],
          "default" : {
            "type" : "HYDROSTATIC_ISOTHERMAL_FREESTREAM_PRESSURE"
          }
        }, {
          "when" : [ "type == EMBEDDED_BOUNDARY && isCompressible == false", "type == COUPLED_CONJUGATE_HEAT_TRANSFER && isCompressible == false" ],
          "default" : {
            "type" : "FIXED_VALUE"
          }
        } ]
      },
      "Simulation.OneOf_ModalSolverSolver" : {
        "title" : "Solver",
        "description" : "<p>Choose a linear equation system solver for your calculation:</p><ul><li><p><b>Multfront</b> is a direct solver of the multifrontal type. It is easy to set up and behaves well for most problems.</p></ul><ul><li><p><b>MUMPS</b> is a general purpose direct solver of the multifrontal type. It provides a lot of parameter settings to allow the best fitting to your problems needs.</p></ul>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "MUMPS" : "#/components/schemas/Simulation.MUMPSSolver",
            "MULTIFRONT" : "#/components/schemas/Simulation.MultifrontalSolver"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.MUMPSSolver"
        }, {
          "$ref" : "#/components/schemas/Simulation.MultifrontalSolver"
        } ],
        "default" : {
          "type" : "MUMPS"
        }
      },
      "Simulation.OneOf_ModalSolverEigenSolver" : {
        "title" : "Eigensolver method",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "SORENSEN" : "#/components/schemas/Simulation.IRAMSorensen",
            "TRI_DIAG" : "#/components/schemas/Simulation.Lanczos",
            "JACOBI" : "#/components/schemas/Simulation.BatheWilson",
            "QZ" : "#/components/schemas/Simulation.QZ"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.IRAMSorensen"
        }, {
          "$ref" : "#/components/schemas/Simulation.Lanczos"
        }, {
          "$ref" : "#/components/schemas/Simulation.BatheWilson"
        }, {
          "$ref" : "#/components/schemas/Simulation.QZ"
        } ],
        "default" : {
          "type" : "SORENSEN"
        }
      },
      "Simulation.OneOf_FieldCalculationsPressureResultControlPressureType" : {
        "title" : "Pressure type",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "TOTAL_PRESSURE" : "#/components/schemas/Simulation.TotalPressurePressureType",
            "STATIC_PRESSURE" : "#/components/schemas/Simulation.StaticPressurePressureType"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.TotalPressurePressureType"
        }, {
          "$ref" : "#/components/schemas/Simulation.StaticPressurePressureType"
        } ],
        "default" : {
          "type" : "TOTAL_PRESSURE"
        }
      },
      "Simulation.OneOf_FieldCalculationsPressureResultControlResultType" : {
        "title" : "Result type",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "PRESSURE_VALUE" : "#/components/schemas/Simulation.PressureValueResultType",
            "PRESSURE_COEFFICIENT" : "#/components/schemas/Simulation.PressureCoefficientResultType"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.PressureValueResultType"
        }, {
          "$ref" : "#/components/schemas/Simulation.PressureCoefficientResultType"
        } ],
        "default" : {
          "type" : "PRESSURE_VALUE"
        }
      },
      "Simulation.OneOf_RegionRefinementWindComfortNewFineness" : {
        "title" : "Fineness",
        "description" : "<p>This parameter determines the <b>fineness of the mesh</b> and affects the overall number of cells. It is recommended to start with the <i>coarse</i> setting. <a href='https://www.simscale.com/docs/analysis-types/pedestrian-wind-comfort-analysis/mesh-settings/' target='_blank'>Find out more.</a></p><p><b>Note:</b> This setting will impact the accuracy of your results as well as computing time and result size. A finer mesh will be more demanding in terms of machine size and memory but lead to more accurate results in most cases.</p>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "VERY_COARSE" : "#/components/schemas/Simulation.PacefishFinenessVeryCoarse",
            "COARSE" : "#/components/schemas/Simulation.PacefishFinenessCoarse",
            "MODERATE" : "#/components/schemas/Simulation.PacefishFinenessModerate",
            "FINE" : "#/components/schemas/Simulation.PacefishFinenessFine",
            "VERY_FINE" : "#/components/schemas/Simulation.PacefishFinenessVeryFine",
            "TARGET_SIZE" : "#/components/schemas/Simulation.PacefishFinenessTargetSize"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.PacefishFinenessVeryCoarse"
        }, {
          "$ref" : "#/components/schemas/Simulation.PacefishFinenessCoarse"
        }, {
          "$ref" : "#/components/schemas/Simulation.PacefishFinenessModerate"
        }, {
          "$ref" : "#/components/schemas/Simulation.PacefishFinenessFine"
        }, {
          "$ref" : "#/components/schemas/Simulation.PacefishFinenessVeryFine"
        }, {
          "$ref" : "#/components/schemas/Simulation.PacefishFinenessTargetSize"
        } ],
        "default" : {
          "type" : "COARSE"
        }
      },
      "Simulation.OneOf_ViscoelasticNetworkCreepModelViscoelasticNetwork" : {
        "title" : "Creep model",
        "description" : "By selecting the <b>Prony series</b>, you enable a viscoelastic network that models time-dependent behavior such as stress relaxation and creep. This model uses a series of decay constants (relaxation times) to define how the material's internal stresses dissipate over time under sustained loading.",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "PRONY_SERIES" : "#/components/schemas/Simulation.PronySeries",
            "OFF" : "#/components/schemas/Simulation.NoCreep"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.PronySeries"
        }, {
          "$ref" : "#/components/schemas/Simulation.NoCreep"
        } ],
        "default" : {
          "type" : "OFF"
        }
      },
      "Simulation.OneOf_EmbeddedBoundaryMeshingSizing" : {
        "title" : "Sizing",
        "description" : "<p>Define how to control the global mesh sizing:</p><ul> <li><p><b>Automatic:</b> Element sizing is controlled by <b>automatic fineness levels</b> that take the geometrical properties into account.</p></li> <li><p><b>Manual:</b> Element sizing is controlled by <b>maximum and minimum edge length</b>.</p></li>  <li><p><b>Custom:</b> Element sizing is controlled by the specified <b>number of cells in the three spatial directions</b> and the <b>number refinement levels</b> applied on the surfaces.</p></li></ul>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "AUTOMATIC_EBM_MESH_SIZING" : "#/components/schemas/Simulation.AutomaticEmbeddedBoundaryMeshSizing",
            "MANUAL_EBM_MESH_SIZING" : "#/components/schemas/Simulation.ManualEmbeddedBoundaryMeshSizing",
            "CUSTOM_EBM_MESH_SIZING" : "#/components/schemas/Simulation.CustomEmbeddedBoundaryMeshSizing"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.AutomaticEmbeddedBoundaryMeshSizing"
        }, {
          "$ref" : "#/components/schemas/Simulation.ManualEmbeddedBoundaryMeshSizing"
        }, {
          "$ref" : "#/components/schemas/Simulation.CustomEmbeddedBoundaryMeshSizing"
        } ],
        "default" : {
          "type" : "AUTOMATIC_EBM_MESH_SIZING"
        }
      },
      "Simulation.OneOf_EmbeddedBoundaryMeshingRefinements" : {
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "REGION_REFINEMENT_EBM" : "#/components/schemas/Simulation.RegionRefinementEBM",
            "LOCAL_SIZING_EBM" : "#/components/schemas/Simulation.LocalElementSizeEBM"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.RegionRefinementEBM"
        }, {
          "$ref" : "#/components/schemas/Simulation.LocalElementSizeEBM"
        } ]
      },
      "Simulation.OneOf_DimensionalFunction_ElectricCurrentValue" : {
        "title" : "Value",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "CONSTANT" : "#/components/schemas/Simulation.ConstantFunction",
            "EXPRESSION" : "#/components/schemas/Simulation.ExpressionFunction",
            "POLYNOMIAL" : "#/components/schemas/Simulation.PolynomialFunction",
            "TABLE_DEFINED" : "#/components/schemas/Simulation.TableDefinedFunction"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.ConstantFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.ExpressionFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.PolynomialFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.TableDefinedFunction"
        } ]
      },
      "Simulation.OneOf_ForceResultControlItemForceType" : {
        "title" : "Force type",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "REACTION" : "#/components/schemas/Simulation.GlobalReactionForceType",
            "NODAL" : "#/components/schemas/Simulation.GlobalNodalForceType"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.GlobalReactionForceType"
        }, {
          "$ref" : "#/components/schemas/Simulation.GlobalNodalForceType"
        } ],
        "default" : {
          "type" : "REACTION"
        },
        "x-showWhen" : [ "type in [STATIC_ANALYSIS,DYNAMIC_ANALYSIS,HARMONIC_ANALYSIS,THERMAL_MECHANICAL]" ]
      },
      "Simulation.OneOf_FluidModelDeltaCoefficient" : {
        "title" : "Delta coefficient",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "PRANDTL" : "#/components/schemas/Simulation.PrandtlLesDelta",
            "SMOOTH" : "#/components/schemas/Simulation.SmoothLesDelta",
            "CUBE_ROOT_VOL" : "#/components/schemas/Simulation.CubeRootVolLesDelta"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.PrandtlLesDelta"
        }, {
          "$ref" : "#/components/schemas/Simulation.SmoothLesDelta"
        }, {
          "$ref" : "#/components/schemas/Simulation.CubeRootVolLesDelta"
        } ],
        "default" : {
          "type" : "CUBE_ROOT_VOL"
        },
        "x-showWhen" : [ "type in [COMPRESSIBLE,INCOMPRESSIBLE,CONJUGATE_HEAT_TRANSFER,CONVECTIVE_HEAT_TRANSFER,MULTIPHASE] && turbulenceModel in [SMAGORINSKY,SPALARTALLMARAS]" ]
      },
      "Simulation.OneOf_FixedPointContactNonLinearityResolutionIterationControl" : {
        "title" : "Iteration control",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "MAXIMUM_NUMBER" : "#/components/schemas/Simulation.MaximumNumberIterationControl",
            "MULTIPLIED_SLAVE_NODE" : "#/components/schemas/Simulation.MultipliedSlaveNodesIterationControl"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.MaximumNumberIterationControl"
        }, {
          "$ref" : "#/components/schemas/Simulation.MultipliedSlaveNodesIterationControl"
        } ],
        "default" : {
          "type" : "MAXIMUM_NUMBER"
        }
      },
      "Simulation.OneOf_SumFieldsCalculationResultControlItemFieldSelection" : {
        "title" : "Field selection",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "FORCE" : "#/components/schemas/Simulation.ForceFieldSelection",
            "MOMENT" : "#/components/schemas/Simulation.MomentFieldSelection"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.ForceFieldSelection"
        }, {
          "$ref" : "#/components/schemas/Simulation.MomentFieldSelection"
        } ],
        "default" : {
          "type" : "DISPLACEMENT"
        },
        "x-showWhen" : [ "type in [STATIC_ANALYSIS,DYNAMIC_ANALYSIS,THERMAL_MECHANICAL]" ]
      },
      "Simulation.OneOf_AreaIntegralResultControlWriteControl" : {
        "title" : "Write control",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "TIME_STEP" : "#/components/schemas/Simulation.TimeStepWriteControl",
            "OUTPUT_TIME" : "#/components/schemas/Simulation.SynchronizeWithFieldOutputWriteControl"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.TimeStepWriteControl"
        }, {
          "$ref" : "#/components/schemas/Simulation.SynchronizeWithFieldOutputWriteControl"
        } ],
        "default" : {
          "type" : "TIME_STEP"
        }
      },
      "Simulation.OneOf_CompressibleTimeDependency" : {
        "title" : "Time dependency",
        "description" : "<p><strong>Steady-state</strong>: Steady-state simulations are time-independent, that is, the equations solved do not include time derivatives. If you are only interested in the converged solution, consider a steady-state simulation.</p><p><strong>Transient</strong>: Transient simulations account for time-dependent effects, that is, the associated flow variables vary with respect to time.</p>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "TRANSIENT" : "#/components/schemas/Simulation.TransientTimeDependency",
            "STATIONARY" : "#/components/schemas/Simulation.StationaryTimeDependency"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.TransientTimeDependency"
        }, {
          "$ref" : "#/components/schemas/Simulation.StationaryTimeDependency"
        } ],
        "default" : {
          "type" : "STATIONARY"
        }
      },
      "Simulation.OneOf_CompressibleBoundaryConditions" : {
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "VELOCITY_INLET_V3" : "#/components/schemas/Simulation.VelocityInletBC",
            "VELOCITY_OUTLET_V7" : "#/components/schemas/Simulation.VelocityOutletBC",
            "PRESSURE_INLET_V31" : "#/components/schemas/Simulation.PressureInletBC",
            "PRESSURE_OUTLET_V30" : "#/components/schemas/Simulation.PressureOutletBC",
            "WALL_V34" : "#/components/schemas/Simulation.WallBC",
            "FAN" : "#/components/schemas/Simulation.FanBC",
            "SYMMETRY" : "#/components/schemas/Simulation.SymmetryBC",
            "PERIODIC" : "#/components/schemas/Simulation.PeriodicBC",
            "WEDGE" : "#/components/schemas/Simulation.WedgeBC",
            "CUSTOM_V37" : "#/components/schemas/Simulation.CustomFluidBC",
            "EMPTY_2D" : "#/components/schemas/Simulation.Empty2DBC"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.VelocityInletBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.VelocityOutletBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.PressureInletBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.PressureOutletBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.WallBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.FanBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.SymmetryBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.PeriodicBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.WedgeBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.CustomFluidBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.Empty2DBC"
        } ]
      },
      "Simulation.OneOf_ElastoplasticNetworkPlasticityModelElastoplasticNetwork" : {
        "title" : "Elastoplastic model",
        "description" : "Selecting <b>Arruda-Boyce Plasticity</b> adds a network based on the \"eight-chain\" statistical model to account for the permanent, rate-independent alignment of molecular chains. This is the preferred choice for modeling the yielding and orientation-hardening behavior of polymers at large strains.",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "ARRUDA_BOYCE_PLASTIC" : "#/components/schemas/Simulation.ArrudaBoycePlasticElastoplasticNetwork",
            "OFF" : "#/components/schemas/Simulation.NoElastoplasticity"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.ArrudaBoycePlasticElastoplasticNetwork"
        }, {
          "$ref" : "#/components/schemas/Simulation.NoElastoplasticity"
        } ],
        "default" : {
          "type" : "OFF"
        }
      },
      "Simulation.OneOf_DimensionalFunction_KinematicViscosityValue" : {
        "title" : "Value",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "CONSTANT" : "#/components/schemas/Simulation.ConstantFunction",
            "EXPRESSION" : "#/components/schemas/Simulation.ExpressionFunction",
            "POLYNOMIAL" : "#/components/schemas/Simulation.PolynomialFunction",
            "TABLE_DEFINED" : "#/components/schemas/Simulation.TableDefinedFunction"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.ConstantFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.ExpressionFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.PolynomialFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.TableDefinedFunction"
        } ]
      },
      "Simulation.OneOf_TurbulentHeatFluxTBCHeatSource" : {
        "title" : "Heat source",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "FLUX" : "#/components/schemas/Simulation.FluxHeatSource",
            "POWER" : "#/components/schemas/Simulation.PowerHeatSource"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.FluxHeatSource"
        }, {
          "$ref" : "#/components/schemas/Simulation.PowerHeatSource"
        } ],
        "default" : {
          "type" : "FLUX"
        }
      },
      "Simulation.OneOf_DimensionalFunction_SpecificHeatValue" : {
        "title" : "Value",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "CONSTANT" : "#/components/schemas/Simulation.ConstantFunction",
            "EXPRESSION" : "#/components/schemas/Simulation.ExpressionFunction",
            "POLYNOMIAL" : "#/components/schemas/Simulation.PolynomialFunction",
            "TABLE_DEFINED" : "#/components/schemas/Simulation.TableDefinedFunction"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.ConstantFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.ExpressionFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.PolynomialFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.TableDefinedFunction"
        } ]
      },
      "Simulation.OneOf_MarcResultControlSolutionFields" : {
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "DISPLACEMENT" : "#/components/schemas/Simulation.MarcDisplacementResultControlItem",
            "FORCE" : "#/components/schemas/Simulation.MarcForceResultControlItem",
            "PRESSURE" : "#/components/schemas/Simulation.MarcPressureResultControlItem",
            "STRESS" : "#/components/schemas/Simulation.MarcStressResultControlItem",
            "STRAIN" : "#/components/schemas/Simulation.MarcStrainResultControlItem",
            "CONTACT" : "#/components/schemas/Simulation.MarcContactResultControlItem",
            "TEMPERATURE" : "#/components/schemas/Simulation.MarcTemperatureResultControlItem",
            "HEAT_FLUX" : "#/components/schemas/Simulation.MarcHeatFluxResultControlItem"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.MarcDisplacementResultControlItem"
        }, {
          "$ref" : "#/components/schemas/Simulation.MarcForceResultControlItem"
        }, {
          "$ref" : "#/components/schemas/Simulation.MarcPressureResultControlItem"
        }, {
          "$ref" : "#/components/schemas/Simulation.MarcStressResultControlItem"
        }, {
          "$ref" : "#/components/schemas/Simulation.MarcStrainResultControlItem"
        }, {
          "$ref" : "#/components/schemas/Simulation.MarcContactResultControlItem"
        }, {
          "$ref" : "#/components/schemas/Simulation.MarcTemperatureResultControlItem"
        }, {
          "$ref" : "#/components/schemas/Simulation.MarcHeatFluxResultControlItem"
        } ]
      },
      "Simulation.OneOf_MarcResultControlAreaCalculation" : {
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "MIN_MAX_FIELDS_CALCULATION" : "#/components/schemas/Simulation.MarcMinMaxFieldsCalculationResultControlItem",
            "AVERAGE_FIELDS_CALCULATION" : "#/components/schemas/Simulation.MarcAverageFieldsCalculationResultControlItem",
            "SUM_FIELDS_CALCULATION" : "#/components/schemas/Simulation.MarcSumFieldsCalculationResultControlItem"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.MarcMinMaxFieldsCalculationResultControlItem"
        }, {
          "$ref" : "#/components/schemas/Simulation.MarcAverageFieldsCalculationResultControlItem"
        }, {
          "$ref" : "#/components/schemas/Simulation.MarcSumFieldsCalculationResultControlItem"
        } ]
      },
      "Simulation.OneOf_MarcResultControlVolumeCalculation" : {
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "MIN_MAX_FIELDS_CALCULATION" : "#/components/schemas/Simulation.MarcMinMaxFieldsCalculationResultControlItem",
            "AVERAGE_FIELDS_CALCULATION" : "#/components/schemas/Simulation.MarcAverageFieldsCalculationResultControlItem",
            "SUM_FIELDS_CALCULATION" : "#/components/schemas/Simulation.MarcSumFieldsCalculationResultControlItem"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.MarcMinMaxFieldsCalculationResultControlItem"
        }, {
          "$ref" : "#/components/schemas/Simulation.MarcAverageFieldsCalculationResultControlItem"
        }, {
          "$ref" : "#/components/schemas/Simulation.MarcSumFieldsCalculationResultControlItem"
        } ]
      },
      "Simulation.OneOf_MarcBondedAndTouchingContactConnectionPositionTolerance" : {
        "title" : "Position tolerance",
        "description" : "<p>Define how gaps and small interferences should be treated:</p><ul><li><b>Set Value:</b> Define a numerical distance (<b>tolerance</b>) below which contact is established. If the gap between a contacting node and its target body is larger than the tolerance, the glued contact constraint will not be activated on this node. This check happens on each iteration. For this option the &quot;stress-free projection&quot; of contact nodes on the target surfaces is activated. Small gaps will be closed without adding stresses.<br/>Use this option for cases where small CAD inaccuracies, manufacturing tolerances or mesh discretization errors might appear.</li><li><b>Off:</b> No specific contact tolerance is used. The program uses an automatic value based on element size (1/10th of the typical element size) to overcome small gaps or penetrations due to mesh approximations on curved surfaces. No &quot;stress-free projection&quot; is active for this setting.</li></ul>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "SET_VALUE" : "#/components/schemas/Simulation.SetValuePositionTolerance",
            "OFF" : "#/components/schemas/Simulation.OffPositionTolerance"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.SetValuePositionTolerance"
        }, {
          "$ref" : "#/components/schemas/Simulation.OffPositionTolerance"
        } ],
        "default" : {
          "type" : "OFF"
        }
      },
      "Simulation.OneOf_PrimaryNetworkDamageModelPrimaryNetwork" : {
        "title" : "Damage model",
        "description" : "This setting activates the <b>Ogden-Roxburgh</b> (pseudo-elastic) model to simulate the <b>Mullins effect</b>, where the material undergoes significant softening during the first loading cycle. It is used to capture energy dissipation and the permanent loss of stiffness common in filled elastomers and many thermoplastics.",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "OGDEN_ROXBURGH" : "#/components/schemas/Simulation.OgdenRoxburgh",
            "OFF" : "#/components/schemas/Simulation.NoDamage"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.OgdenRoxburgh"
        }, {
          "$ref" : "#/components/schemas/Simulation.NoDamage"
        } ],
        "default" : {
          "type" : "OGDEN_ROXBURGH"
        }
      },
      "Simulation.OneOf_ConjugateHeatTransferTimeDependency" : {
        "title" : "Time dependency",
        "description" : "<p><strong>Steady-state</strong>: Steady-state simulations are time-independent, that is, the equations solved do not include time derivatives. If you are only interested in the converged solution, consider a steady-state simulation.</p><p><strong>Transient</strong>: Transient simulations account for time-dependent effects, that is, the associated flow variables vary with respect to time.</p>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "TRANSIENT" : "#/components/schemas/Simulation.TransientTimeDependency",
            "STATIONARY" : "#/components/schemas/Simulation.StationaryTimeDependency"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.TransientTimeDependency"
        }, {
          "$ref" : "#/components/schemas/Simulation.StationaryTimeDependency"
        } ],
        "default" : {
          "type" : "STATIONARY"
        }
      },
      "Simulation.OneOf_ConjugateHeatTransferBoundaryConditions" : {
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "VELOCITY_INLET_V3" : "#/components/schemas/Simulation.VelocityInletBC",
            "VELOCITY_OUTLET_V7" : "#/components/schemas/Simulation.VelocityOutletBC",
            "PRESSURE_INLET_V31" : "#/components/schemas/Simulation.PressureInletBC",
            "PRESSURE_OUTLET_V30" : "#/components/schemas/Simulation.PressureOutletBC",
            "WALL_V34" : "#/components/schemas/Simulation.WallBC",
            "FAN" : "#/components/schemas/Simulation.FanBC",
            "SYMMETRY" : "#/components/schemas/Simulation.SymmetryBC",
            "WEDGE" : "#/components/schemas/Simulation.WedgeBC",
            "CUSTOM_V37" : "#/components/schemas/Simulation.CustomFluidBC",
            "EMPTY_2D" : "#/components/schemas/Simulation.Empty2DBC",
            "NATURAL_CONVECTION_INLET_OUTLET" : "#/components/schemas/Simulation.NaturalConvectionInletOutletBC"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.VelocityInletBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.VelocityOutletBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.PressureInletBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.PressureOutletBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.WallBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.FanBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.SymmetryBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.WedgeBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.CustomFluidBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.Empty2DBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.NaturalConvectionInletOutletBC"
        } ]
      },
      "Simulation.OneOf_OgdenHyperElasticModelOrder" : {
        "title" : "Order",
        "description" : "Number of terms in the Ogden model.",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "FIRST_ORDER_OGDEN" : "#/components/schemas/Simulation.FirstOrderOgden",
            "SECOND_ORDER_OGDEN" : "#/components/schemas/Simulation.SecondOrderOgden",
            "THIRD_ORDER_OGDEN" : "#/components/schemas/Simulation.ThirdOrderOgden"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.FirstOrderOgden"
        }, {
          "$ref" : "#/components/schemas/Simulation.SecondOrderOgden"
        }, {
          "$ref" : "#/components/schemas/Simulation.ThirdOrderOgden"
        } ],
        "default" : {
          "type" : "FIRST_ORDER_OGDEN"
        }
      },
      "Simulation.OneOf_AdvancedConceptsThermalContactResistance" : {
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "THIN_RESISTANCE_LAYER" : "#/components/schemas/Simulation.ThinResistanceLayer",
            "CONTACT_RESISTANCE_LAYER" : "#/components/schemas/Simulation.ContactResistanceLayer",
            "CONTACT_CONDUCTANCE_LAYER" : "#/components/schemas/Simulation.ContactConductanceLayer"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.ThinResistanceLayer"
        }, {
          "$ref" : "#/components/schemas/Simulation.ContactResistanceLayer"
        }, {
          "$ref" : "#/components/schemas/Simulation.ContactConductanceLayer"
        } ]
      },
      "Simulation.OneOf_AdvancedConceptsHumiditySources" : {
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "SPECIES_MASS_FLOW_RATE" : "#/components/schemas/Simulation.SpeciesHumiditySource",
            "VOLUMETRIC_SPECIES_MASS_FLOW_RATE" : "#/components/schemas/Simulation.VolumetricSpeciesHumiditySource"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.SpeciesHumiditySource"
        }, {
          "$ref" : "#/components/schemas/Simulation.VolumetricSpeciesHumiditySource"
        } ]
      },
      "Simulation.OneOf_AdvancedConceptsMomentumSources" : {
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "AVERAGE_VELOCITY" : "#/components/schemas/Simulation.AverageVelocityMomentumSource",
            "FAN_PRESSURE_DROP" : "#/components/schemas/Simulation.FanPressureDropMomentumSource",
            "FRICTION_VELOCITY_SOURCE" : "#/components/schemas/Simulation.FrictionVelocityMomentumSource"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.AverageVelocityMomentumSource"
        }, {
          "$ref" : "#/components/schemas/Simulation.FanPressureDropMomentumSource"
        }, {
          "$ref" : "#/components/schemas/Simulation.FrictionVelocityMomentumSource"
        } ]
      },
      "Simulation.OneOf_AdvancedConceptsPassiveScalarSources" : {
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "ABSOLUTE" : "#/components/schemas/Simulation.AbsolutePassiveScalarSource",
            "SPECIFIC" : "#/components/schemas/Simulation.SpecificPassiveScalarSource"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.AbsolutePassiveScalarSource"
        }, {
          "$ref" : "#/components/schemas/Simulation.SpecificPassiveScalarSource"
        } ]
      },
      "Simulation.OneOf_AdvancedConceptsPorousMediums" : {
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "DARCY" : "#/components/schemas/Simulation.DarcyMedium",
            "PRESSURE_LOSS_FUNCTION" : "#/components/schemas/Simulation.PressureLossFunctionMedium",
            "DARCY_FORCHHEIMER" : "#/components/schemas/Simulation.DarcyForchheimerMedium",
            "FIXED_COEFFICIENTS" : "#/components/schemas/Simulation.FixedCoeffMedium",
            "POWER_LAW" : "#/components/schemas/Simulation.PowerLawMedium",
            "PRESSURE_LOSS_CURVE" : "#/components/schemas/Simulation.PressureLossCurve",
            "PERFORATED_PLATE" : "#/components/schemas/Simulation.PerforatedPlate"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.DarcyMedium"
        }, {
          "$ref" : "#/components/schemas/Simulation.PressureLossFunctionMedium"
        }, {
          "$ref" : "#/components/schemas/Simulation.DarcyForchheimerMedium"
        }, {
          "$ref" : "#/components/schemas/Simulation.FixedCoeffMedium"
        }, {
          "$ref" : "#/components/schemas/Simulation.PowerLawMedium"
        }, {
          "$ref" : "#/components/schemas/Simulation.PressureLossCurve"
        }, {
          "$ref" : "#/components/schemas/Simulation.PerforatedPlate"
        } ],
        "x-conditionalDefaults" : [ {
          "when" : [ "type == SIMERICS_ANALYSIS" ],
          "default" : {
            "type" : "DARCY"
          }
        } ]
      },
      "Simulation.OneOf_AdvancedConceptsPowerSources" : {
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "ABSOLUTE_V23" : "#/components/schemas/Simulation.AbsolutePowerSource",
            "SPECIFIC_V23" : "#/components/schemas/Simulation.SpecificPowerSource",
            "HEAT_EXCHANGER_SOURCE" : "#/components/schemas/Simulation.HeatExchangerSource",
            "TR_ABSOLUTE_POWER_SOURCE" : "#/components/schemas/Simulation.TrAbsolutePowerSource",
            "TR_SPECIFIC_POWER_SOURCE" : "#/components/schemas/Simulation.TrSpecificPowerSource"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.AbsolutePowerSource"
        }, {
          "$ref" : "#/components/schemas/Simulation.SpecificPowerSource"
        }, {
          "$ref" : "#/components/schemas/Simulation.HeatExchangerSource"
        }, {
          "$ref" : "#/components/schemas/Simulation.TrAbsolutePowerSource"
        }, {
          "$ref" : "#/components/schemas/Simulation.TrSpecificPowerSource"
        } ]
      },
      "Simulation.OneOf_AdvancedConceptsRotatingZones" : {
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "ARBITRARY_MESH_INTERFACE" : "#/components/schemas/Simulation.AMIRotatingZone",
            "MULTI_REFERENCE_FRAME" : "#/components/schemas/Simulation.MRFRotatingZone"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.AMIRotatingZone"
        }, {
          "$ref" : "#/components/schemas/Simulation.MRFRotatingZone"
        } ]
      },
      "Simulation.OneOf_AdvancedConceptsSolidBodyMotions" : {
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "LINEAR_MOTION" : "#/components/schemas/Simulation.LinearSBM",
            "OSCILLATING_ROTATING_MOTION" : "#/components/schemas/Simulation.OscillatingRotatingSBM",
            "OSCILLATING_LINEAR_MOTION" : "#/components/schemas/Simulation.OscillatingLinearSBM",
            "ROTATING_MOTION" : "#/components/schemas/Simulation.RotatingSBM",
            "SHIP_DESIGN_ANALYSIS" : "#/components/schemas/Simulation.ShipDesignAnalysisSBM"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.LinearSBM"
        }, {
          "$ref" : "#/components/schemas/Simulation.OscillatingRotatingSBM"
        }, {
          "$ref" : "#/components/schemas/Simulation.OscillatingLinearSBM"
        }, {
          "$ref" : "#/components/schemas/Simulation.RotatingSBM"
        }, {
          "$ref" : "#/components/schemas/Simulation.ShipDesignAnalysisSBM"
        } ]
      },
      "Simulation.OneOf_AdvancedConceptsThermalResistanceNetworks" : {
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "STAR_NETWORK" : "#/components/schemas/Simulation.StarThermalResistanceNetwork",
            "TWO_RESISTOR_NETWORK" : "#/components/schemas/Simulation.TwoResistorNetwork"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.StarThermalResistanceNetwork"
        }, {
          "$ref" : "#/components/schemas/Simulation.TwoResistorNetwork"
        } ]
      },
      "Simulation.OneOf_FluidSimulationControlAdjustableTimestep" : {
        "title" : "Adjustable time step",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "INACTIVE_TIMESTEP" : "#/components/schemas/Simulation.InactiveAdjustableTimestep",
            "ACTIVE_TIMESTEP" : "#/components/schemas/Simulation.ActiveAdjustableTimestep"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.InactiveAdjustableTimestep"
        }, {
          "$ref" : "#/components/schemas/Simulation.ActiveAdjustableTimestep"
        } ],
        "default" : {
          "type" : "ACTIVE_TIMESTEP"
        },
        "x-showWhen" : [ "type == MULTIPHASE", "type == COMPRESSIBLE && timeDependency.type == TRANSIENT", "type == CONJUGATE_HEAT_TRANSFER && timeDependency.type == TRANSIENT", "type == COUPLED_CONJUGATE_HEAT_TRANSFER && timeDependency.type == TRANSIENT", "type == EMBEDDED_BOUNDARY && timeDependency.type == TRANSIENT", "type == CONVECTIVE_HEAT_TRANSFER && timeDependency.type == TRANSIENT", "type == INCOMPRESSIBLE && timeDependency.type == TRANSIENT && algorithm == PIMPLE" ]
      },
      "Simulation.OneOf_FluidSimulationControlWriteControl" : {
        "title" : "Write control",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "TIME_STEP" : "#/components/schemas/Simulation.TimeStepWriteControl",
            "CLOCK_TIME" : "#/components/schemas/Simulation.ClockTimeWriteControl",
            "RUNTIME" : "#/components/schemas/Simulation.RunTimeWriteControl",
            "CPU_TIME" : "#/components/schemas/Simulation.CpuTimeWriteControl",
            "ADJUSTABLE_RUNTIME" : "#/components/schemas/Simulation.AdjustableRuntimeWriteControl",
            "NUMBER_OF_ITERATIONS_STEADY_STATE" : "#/components/schemas/Simulation.NumberIterationsWriteControl"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.TimeStepWriteControl"
        }, {
          "$ref" : "#/components/schemas/Simulation.ClockTimeWriteControl"
        }, {
          "$ref" : "#/components/schemas/Simulation.RunTimeWriteControl"
        }, {
          "$ref" : "#/components/schemas/Simulation.CpuTimeWriteControl"
        }, {
          "$ref" : "#/components/schemas/Simulation.AdjustableRuntimeWriteControl"
        }, {
          "$ref" : "#/components/schemas/Simulation.NumberIterationsWriteControl"
        } ],
        "x-showWhen" : [ "type in [COMPRESSIBLE,INCOMPRESSIBLE,MULTIPHASE]", "type in [CONJUGATE_HEAT_TRANSFER,CONVECTIVE_HEAT_TRANSFER,COUPLED_CONJUGATE_HEAT_TRANSFER,EMBEDDED_BOUNDARY]", "type == SIMERICS_ANALYSIS" ],
        "x-conditionalDefaults" : [ {
          "when" : [ "type == SIMERICS_ANALYSIS && timeDependency.type == STATIONARY" ],
          "default" : {
            "type" : "NUMBER_OF_ITERATIONS_STEADY_STATE"
          }
        }, {
          "when" : [ "type in [COUPLED_CONJUGATE_HEAT_TRANSFER,EMBEDDED_BOUNDARY,COMPRESSIBLE,INCOMPRESSIBLE,MULTIPHASE,CONVECTIVE_HEAT_TRANSFER,CONJUGATE_HEAT_TRANSFER] && timeDependency.type == STATIONARY", "type == SIMERICS_ANALYSIS && timeDependency.type == TRANSIENT" ],
          "default" : {
            "type" : "TIME_STEP"
          }
        }, {
          "when" : [ "type in [COUPLED_CONJUGATE_HEAT_TRANSFER,EMBEDDED_BOUNDARY,COMPRESSIBLE,INCOMPRESSIBLE,MULTIPHASE,CONVECTIVE_HEAT_TRANSFER,CONJUGATE_HEAT_TRANSFER] && timeDependency.type == TRANSIENT" ],
          "default" : {
            "type" : "ADJUSTABLE_RUNTIME"
          }
        } ]
      },
      "Simulation.OneOf_FluidSimulationControlDecomposeAlgorithm" : {
        "title" : "Decompose algorithm",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "SCOTCH" : "#/components/schemas/Simulation.ScotchDecomposeAlgorithm",
            "HIERARCHICAL" : "#/components/schemas/Simulation.HierarchicalDecomposeAlgorithm",
            "SIMPLE" : "#/components/schemas/Simulation.SimpleDecomposeAlgorithm"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.ScotchDecomposeAlgorithm"
        }, {
          "$ref" : "#/components/schemas/Simulation.HierarchicalDecomposeAlgorithm"
        }, {
          "$ref" : "#/components/schemas/Simulation.SimpleDecomposeAlgorithm"
        } ],
        "default" : {
          "type" : "SCOTCH"
        },
        "x-showWhen" : [ "type in [COMPRESSIBLE,INCOMPRESSIBLE,CONJUGATE_HEAT_TRANSFER,CONVECTIVE_HEAT_TRANSFER,MULTIPHASE,COUPLED_CONJUGATE_HEAT_TRANSFER,EMBEDDED_BOUNDARY]" ]
      },
      "Simulation.OneOf_ElementTechnologyDefinitionMethod" : {
        "title" : "Definition",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "AUTOMATIC" : "#/components/schemas/Simulation.AutomaticElementDefinitionMethod",
            "CUSTOM" : "#/components/schemas/Simulation.CustomElementDefinitionMethod"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.AutomaticElementDefinitionMethod"
        }, {
          "$ref" : "#/components/schemas/Simulation.CustomElementDefinitionMethod"
        } ],
        "default" : {
          "type" : "AUTOMATIC"
        }
      },
      "Simulation.OneOf_ElectromagneticAdvancedConceptsMotionAnalysis" : {
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "PREDEFINED_ROTATIONAL_MOTION" : "#/components/schemas/Simulation.PredefinedRotationalMotion",
            "PREDEFINED_TRANSLATIONAL_MOTION" : "#/components/schemas/Simulation.PredefinedTranslationalMotion"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.PredefinedRotationalMotion"
        }, {
          "$ref" : "#/components/schemas/Simulation.PredefinedTranslationalMotion"
        } ]
      },
      "Simulation.OneOf_InletOutletRHBCHumidityValue" : {
        "title" : "Ambient humidity type",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "RELATIVE_HUMIDITY_VALUE" : "#/components/schemas/Simulation.RelativeHumidityValue",
            "SPECIFIC_HUMIDITY_VALUE" : "#/components/schemas/Simulation.SpecificHumidityValue",
            "ABSOLUTE_HUMIDITY_VALUE" : "#/components/schemas/Simulation.AbsoluteHumidityValue"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.RelativeHumidityValue"
        }, {
          "$ref" : "#/components/schemas/Simulation.SpecificHumidityValue"
        }, {
          "$ref" : "#/components/schemas/Simulation.AbsoluteHumidityValue"
        } ]
      },
      "Simulation.OneOf_DimensionalFunction_DimensionlessValue" : {
        "title" : "Value",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "CONSTANT" : "#/components/schemas/Simulation.ConstantFunction",
            "EXPRESSION" : "#/components/schemas/Simulation.ExpressionFunction",
            "POLYNOMIAL" : "#/components/schemas/Simulation.PolynomialFunction",
            "TABLE_DEFINED" : "#/components/schemas/Simulation.TableDefinedFunction"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.ConstantFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.ExpressionFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.PolynomialFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.TableDefinedFunction"
        } ]
      },
      "Simulation.OneOf_PlateDataHoleShape" : {
        "title" : "Hole shape",
        "description" : "Shape of holes in perforated plate.",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "GENERAL" : "#/components/schemas/Simulation.GeneralHoleShape",
            "CIRCULAR" : "#/components/schemas/Simulation.CircularHoleShape"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.GeneralHoleShape"
        }, {
          "$ref" : "#/components/schemas/Simulation.CircularHoleShape"
        } ]
      },
      "Simulation.OneOf_AccelerationFieldSelectionAccelerationType" : {
        "title" : "Acceleration type",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "ABSOLUTE" : "#/components/schemas/Simulation.AbsoluteHarmonicAccelerationFieldType",
            "RELATIVE" : "#/components/schemas/Simulation.RelativeHarmonicAccelerationFieldType"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.AbsoluteHarmonicAccelerationFieldType"
        }, {
          "$ref" : "#/components/schemas/Simulation.RelativeHarmonicAccelerationFieldType"
        } ],
        "default" : {
          "type" : "ABSOLUTE"
        },
        "x-showWhen" : [ "type == HARMONIC_ANALYSIS" ]
      },
      "Simulation.OneOf_ElectromagneticResultControlProbePointFieldSelection" : {
        "title" : "Field selection",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "MAGNETIC_FLUX_DENSITY" : "#/components/schemas/Simulation.MagneticFluxDensityFieldSelection",
            "MAGNETIC_FIELD" : "#/components/schemas/Simulation.MagneticFieldFieldSelection",
            "ELECTRIC_CURRENT_DENSITY" : "#/components/schemas/Simulation.ElectricCurrentDensityFieldSelection",
            "ELECTRIC_POTENTIAL" : "#/components/schemas/Simulation.ElectricPotentialFieldSelection",
            "ELECTRIC_FIELD" : "#/components/schemas/Simulation.ElectricFieldFieldSelection",
            "ELECTRIC_DISPLACEMENT_FIELD" : "#/components/schemas/Simulation.ElectricDisplacementFieldFieldSelection"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.MagneticFluxDensityFieldSelection"
        }, {
          "$ref" : "#/components/schemas/Simulation.MagneticFieldFieldSelection"
        }, {
          "$ref" : "#/components/schemas/Simulation.ElectricCurrentDensityFieldSelection"
        }, {
          "$ref" : "#/components/schemas/Simulation.ElectricPotentialFieldSelection"
        }, {
          "$ref" : "#/components/schemas/Simulation.ElectricFieldFieldSelection"
        }, {
          "$ref" : "#/components/schemas/Simulation.ElectricDisplacementFieldFieldSelection"
        } ]
      },
      "Simulation.OneOf_AverageFieldsCalculationResultControlItemFieldSelection" : {
        "title" : "Field selection",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "DISPLACEMENT" : "#/components/schemas/Simulation.DisplacementFieldSelection",
            "FORCE" : "#/components/schemas/Simulation.ForceFieldSelection",
            "CONTACT" : "#/components/schemas/Simulation.ContactFieldSelection",
            "STRAIN" : "#/components/schemas/Simulation.StrainFieldSelection",
            "STRESS" : "#/components/schemas/Simulation.StressFieldSelection",
            "VELOCITY" : "#/components/schemas/Simulation.VelocityFieldSelection",
            "ACCELERATION" : "#/components/schemas/Simulation.AccelerationFieldSelection",
            "TEMPERATURE" : "#/components/schemas/Simulation.TemperatureFieldSelection",
            "HEAT_FLUX" : "#/components/schemas/Simulation.HeatFluxFieldSelection"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.DisplacementFieldSelection"
        }, {
          "$ref" : "#/components/schemas/Simulation.ForceFieldSelection"
        }, {
          "$ref" : "#/components/schemas/Simulation.ContactFieldSelection"
        }, {
          "$ref" : "#/components/schemas/Simulation.StrainFieldSelection"
        }, {
          "$ref" : "#/components/schemas/Simulation.StressFieldSelection"
        }, {
          "$ref" : "#/components/schemas/Simulation.VelocityFieldSelection"
        }, {
          "$ref" : "#/components/schemas/Simulation.AccelerationFieldSelection"
        }, {
          "$ref" : "#/components/schemas/Simulation.TemperatureFieldSelection"
        }, {
          "$ref" : "#/components/schemas/Simulation.HeatFluxFieldSelection"
        } ],
        "default" : {
          "type" : "DISPLACEMENT"
        },
        "x-showWhen" : [ "type in [STATIC_ANALYSIS,DYNAMIC_ANALYSIS,HEAT_TRANSFER,THERMAL_MECHANICAL]" ]
      },
      "Simulation.OneOf_DimensionalFunction_TemperatureGradientValue" : {
        "title" : "Value",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "CONSTANT" : "#/components/schemas/Simulation.ConstantFunction",
            "EXPRESSION" : "#/components/schemas/Simulation.ExpressionFunction",
            "POLYNOMIAL" : "#/components/schemas/Simulation.PolynomialFunction",
            "TABLE_DEFINED" : "#/components/schemas/Simulation.TableDefinedFunction"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.ConstantFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.ExpressionFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.PolynomialFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.TableDefinedFunction"
        } ]
      },
      "Simulation.OneOf_MarcAverageFieldsCalculationResultControlItemFieldSelection" : {
        "title" : "Field selection",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "DISPLACEMENT" : "#/components/schemas/Simulation.MarcDisplacementFieldSelection",
            "PRESSURE" : "#/components/schemas/Simulation.MarcPressureFieldSelection",
            "STRESS" : "#/components/schemas/Simulation.MarcStressFieldSelection",
            "STRAIN" : "#/components/schemas/Simulation.MarcStrainFieldSelection",
            "CONTACT" : "#/components/schemas/Simulation.MarcContactFieldSelection"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.MarcDisplacementFieldSelection"
        }, {
          "$ref" : "#/components/schemas/Simulation.MarcPressureFieldSelection"
        }, {
          "$ref" : "#/components/schemas/Simulation.MarcStressFieldSelection"
        }, {
          "$ref" : "#/components/schemas/Simulation.MarcStrainFieldSelection"
        }, {
          "$ref" : "#/components/schemas/Simulation.MarcContactFieldSelection"
        } ],
        "default" : {
          "type" : "DISPLACEMENT"
        }
      },
      "Simulation.OneOf_SlidingContactPositionTolerance" : {
        "title" : "Position tolerance",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "SET_VALUE" : "#/components/schemas/Simulation.SetValuePositionTolerance",
            "OFF" : "#/components/schemas/Simulation.OffPositionTolerance"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.SetValuePositionTolerance"
        }, {
          "$ref" : "#/components/schemas/Simulation.OffPositionTolerance"
        } ],
        "default" : {
          "type" : "SET_VALUE"
        }
      },
      "Simulation.OneOf_ComputingCoreDomainDecomposition" : {
        "title" : "Domain decomposition",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "AUTOMATIC" : "#/components/schemas/Simulation.AutomaticDomainDecomposition",
            "CENTRALIZED" : "#/components/schemas/Simulation.CentralizedDomainDecomposition",
            "ELEMENT_GROUPS" : "#/components/schemas/Simulation.ElementGroupsDomainDecomposition",
            "CUSTOM" : "#/components/schemas/Simulation.CustomDomainDecomposition"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.AutomaticDomainDecomposition"
        }, {
          "$ref" : "#/components/schemas/Simulation.CentralizedDomainDecomposition"
        }, {
          "$ref" : "#/components/schemas/Simulation.ElementGroupsDomainDecomposition"
        }, {
          "$ref" : "#/components/schemas/Simulation.CustomDomainDecomposition"
        } ],
        "default" : {
          "type" : "AUTOMATIC"
        }
      },
      "Simulation.OneOf_SolidNumericsSolver" : {
        "title" : "Solver",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "MUMPS" : "#/components/schemas/Simulation.MUMPSSolver",
            "MULTIFRONT" : "#/components/schemas/Simulation.MultifrontalSolver",
            "PETSC" : "#/components/schemas/Simulation.PETSCSolver",
            "CHRONOS" : "#/components/schemas/Simulation.ChronosSolver"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.MUMPSSolver"
        }, {
          "$ref" : "#/components/schemas/Simulation.MultifrontalSolver"
        }, {
          "$ref" : "#/components/schemas/Simulation.PETSCSolver"
        }, {
          "$ref" : "#/components/schemas/Simulation.ChronosSolver"
        } ],
        "x-conditionalHelp" : [ {
          "when" : [ "type == STATIC_ANALYSIS && nonLinearAnalysis == false", "type == THERMAL_MECHANICAL && nonLinearAnalysis == false" ]
        }, {
          "when" : [ "type == STATIC_ANALYSIS && nonLinearAnalysis == true", "type == DYNAMIC_ANALYSIS", "type == THERMAL_MECHANICAL && nonLinearAnalysis == true", "type == HEAT_TRANSFER" ]
        }, {
          "when" : [ "type in [HARMONIC_ANALYSIS,FREQUENCY_ANALYSIS]" ]
        } ],
        "x-showWhen" : [ "type in [STATIC_ANALYSIS,DYNAMIC_ANALYSIS,HEAT_TRANSFER,THERMAL_MECHANICAL,FREQUENCY_ANALYSIS]", "type == HARMONIC_ANALYSIS && 1/harmonicSolutionMethod == DIRECT" ],
        "x-conditionalDefaults" : [ {
          "when" : [ "type in [DYNAMIC_ANALYSIS,HARMONIC_ANALYSIS,HEAT_TRANSFER,THERMAL_MECHANICAL,FREQUENCY_ANALYSIS]", "type == STATIC_ANALYSIS && nonLinearAnalysis == true" ],
          "default" : {
            "type" : "MUMPS"
          }
        }, {
          "when" : [ "type == STATIC_ANALYSIS && nonLinearAnalysis == false" ],
          "default" : {
            "type" : "CHRONOS"
          }
        } ]
      },
      "Simulation.OneOf_SolidNumericsEigenSolver" : {
        "title" : "Eigensolver method",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "SORENSEN" : "#/components/schemas/Simulation.IRAMSorensen",
            "TRI_DIAG" : "#/components/schemas/Simulation.Lanczos",
            "JACOBI" : "#/components/schemas/Simulation.BatheWilson",
            "QZ" : "#/components/schemas/Simulation.QZ"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.IRAMSorensen"
        }, {
          "$ref" : "#/components/schemas/Simulation.Lanczos"
        }, {
          "$ref" : "#/components/schemas/Simulation.BatheWilson"
        }, {
          "$ref" : "#/components/schemas/Simulation.QZ"
        } ],
        "default" : {
          "type" : "SORENSEN"
        },
        "x-showWhen" : [ "type == FREQUENCY_ANALYSIS" ]
      },
      "Simulation.OneOf_SolidNumericsMechanicalTimeIntegrationType" : {
        "title" : "Time integration type",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "IMPLICIT" : "#/components/schemas/Simulation.ImplicitTimeIntegrationType",
            "EXPLICIT" : "#/components/schemas/Simulation.ExplicitTimeIntegrationType"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.ImplicitTimeIntegrationType"
        }, {
          "$ref" : "#/components/schemas/Simulation.ExplicitTimeIntegrationType"
        } ],
        "default" : {
          "type" : "IMPLICIT"
        },
        "x-showWhen" : [ "type == DYNAMIC_ANALYSIS", "type == THERMAL_MECHANICAL && inertiaEffect == DYNAMIC" ]
      },
      "Simulation.OneOf_SolidNumericsMechanicalResolutionType" : {
        "title" : "Nonlinear resolution type",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "NEWTON" : "#/components/schemas/Simulation.NewtonResolutionType",
            "NEWTON_KRYLOV" : "#/components/schemas/Simulation.NewtonKrylovResolutionType"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.NewtonResolutionType"
        }, {
          "$ref" : "#/components/schemas/Simulation.NewtonKrylovResolutionType"
        } ],
        "default" : {
          "type" : "NEWTON"
        },
        "x-showWhen" : [ "type == DYNAMIC_ANALYSIS", "type == STATIC_ANALYSIS && nonLinearAnalysis == true", "type == THERMAL_MECHANICAL && nonLinearAnalysis == true" ]
      },
      "Simulation.OneOf_SolidNumericsMechanicalLineSearch" : {
        "title" : "Mechanical line search",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "FALSE" : "#/components/schemas/Simulation.FalseLineSearch",
            "TRUE" : "#/components/schemas/Simulation.TrueLineSearch"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.FalseLineSearch"
        }, {
          "$ref" : "#/components/schemas/Simulation.TrueLineSearch"
        } ],
        "default" : {
          "type" : "FALSE"
        },
        "x-showWhen" : [ "type == DYNAMIC_ANALYSIS", "type == STATIC_ANALYSIS && nonLinearAnalysis == true", "type == THERMAL_MECHANICAL && nonLinearAnalysis == true" ]
      },
      "Simulation.OneOf_SolidNumericsThermalResolutionType" : {
        "title" : "Thermal Nonlinear resolution",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "NEWTON" : "#/components/schemas/Simulation.NewtonResolutionType",
            "NEWTON_KRYLOV" : "#/components/schemas/Simulation.NewtonKrylovResolutionType"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.NewtonResolutionType"
        }, {
          "$ref" : "#/components/schemas/Simulation.NewtonKrylovResolutionType"
        } ],
        "default" : {
          "type" : "NEWTON"
        },
        "x-showWhen" : [ "type == HEAT_TRANSFER && nonLinearAnalysis == true", "type == THERMAL_MECHANICAL && nonLinearAnalysis == true" ]
      },
      "Simulation.OneOf_SolidNumericsThermalLineSearch" : {
        "title" : "Thermal line search",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "FALSE" : "#/components/schemas/Simulation.FalseLineSearch",
            "TRUE" : "#/components/schemas/Simulation.TrueLineSearch"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.FalseLineSearch"
        }, {
          "$ref" : "#/components/schemas/Simulation.TrueLineSearch"
        } ],
        "default" : {
          "type" : "FALSE"
        },
        "x-showWhen" : [ "type == HEAT_TRANSFER && nonLinearAnalysis == true", "type == THERMAL_MECHANICAL && nonLinearAnalysis == true" ]
      },
      "Simulation.OneOf_FixedPointNonLinearityResolutionGeometryReactualization" : {
        "title" : "Geometry update",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "AUTOMATIC" : "#/components/schemas/Simulation.AutomaticReactualization",
            "MANUAL" : "#/components/schemas/Simulation.ManualReactualization",
            "NONE" : "#/components/schemas/Simulation.NoneReactualization"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.AutomaticReactualization"
        }, {
          "$ref" : "#/components/schemas/Simulation.ManualReactualization"
        }, {
          "$ref" : "#/components/schemas/Simulation.NoneReactualization"
        } ],
        "default" : {
          "type" : "AUTOMATIC"
        }
      },
      "Simulation.OneOf_ConvectiveHeatTransferTimeDependency" : {
        "title" : "Time dependency",
        "description" : "<p><strong>Steady-state</strong>: Steady-state simulations are time-independent, that is, the equations solved do not include time derivatives. If you are only interested in the converged solution, consider a steady-state simulation.</p><p><strong>Transient</strong>: Transient simulations account for time-dependent effects, that is, the associated flow variables vary with respect to time.</p>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "TRANSIENT" : "#/components/schemas/Simulation.TransientTimeDependency",
            "STATIONARY" : "#/components/schemas/Simulation.StationaryTimeDependency"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.TransientTimeDependency"
        }, {
          "$ref" : "#/components/schemas/Simulation.StationaryTimeDependency"
        } ],
        "default" : {
          "type" : "STATIONARY"
        }
      },
      "Simulation.OneOf_ConvectiveHeatTransferBoundaryConditions" : {
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "VELOCITY_INLET_V3" : "#/components/schemas/Simulation.VelocityInletBC",
            "VELOCITY_OUTLET_V7" : "#/components/schemas/Simulation.VelocityOutletBC",
            "PRESSURE_INLET_V31" : "#/components/schemas/Simulation.PressureInletBC",
            "PRESSURE_OUTLET_V30" : "#/components/schemas/Simulation.PressureOutletBC",
            "WALL_V34" : "#/components/schemas/Simulation.WallBC",
            "FAN" : "#/components/schemas/Simulation.FanBC",
            "SYMMETRY" : "#/components/schemas/Simulation.SymmetryBC",
            "PERIODIC" : "#/components/schemas/Simulation.PeriodicBC",
            "WEDGE" : "#/components/schemas/Simulation.WedgeBC",
            "CUSTOM_V37" : "#/components/schemas/Simulation.CustomFluidBC",
            "EMPTY_2D" : "#/components/schemas/Simulation.Empty2DBC",
            "NATURAL_CONVECTION_INLET_OUTLET" : "#/components/schemas/Simulation.NaturalConvectionInletOutletBC"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.VelocityInletBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.VelocityOutletBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.PressureInletBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.PressureOutletBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.WallBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.FanBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.SymmetryBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.PeriodicBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.WedgeBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.CustomFluidBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.Empty2DBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.NaturalConvectionInletOutletBC"
        } ]
      },
      "Simulation.OneOf_FlowRateMeanInletVBCFlowRate" : {
        "title" : "Mean flow rate type",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "MASS" : "#/components/schemas/Simulation.MassFlow",
            "VOLUMETRIC" : "#/components/schemas/Simulation.VolumetricFlow"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.MassFlow"
        }, {
          "$ref" : "#/components/schemas/Simulation.VolumetricFlow"
        } ],
        "default" : {
          "type" : "MASS"
        }
      },
      "Simulation.OneOf_LaplacianSchemesForDefault" : {
        "title" : "Default",
        "description" : "<p>With this option you can choose your desired laplacian scheme.</p>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "GAUSS_LINEAR_CORRECTED" : "#/components/schemas/Simulation.GaussLinearCorrectedLaplacianScheme",
            "GAUSS_LINEAR_LIMITED_CORRECTED" : "#/components/schemas/Simulation.GaussLinearLimitedCorrectedLaplacianScheme",
            "GAUSS_LINEAR_UNCORRECTED" : "#/components/schemas/Simulation.GaussLinearUncorrectedLaplacianScheme"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.GaussLinearCorrectedLaplacianScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussLinearLimitedCorrectedLaplacianScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussLinearUncorrectedLaplacianScheme"
        } ],
        "default" : {
          "type" : "GAUSS_LINEAR_LIMITED_CORRECTED"
        },
        "x-showWhen" : [ "type in [COMPRESSIBLE,INCOMPRESSIBLE,CONJUGATE_HEAT_TRANSFER,CONVECTIVE_HEAT_TRANSFER,MULTIPHASE]" ]
      },
      "Simulation.OneOf_LaplacianSchemesLaplacian_NuEff_velocity" : {
        "title" : "laplacian(nuEff,U)",
        "description" : "<p>With this option you can choose your desired laplacian scheme.</p>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "GAUSS_LINEAR_CORRECTED" : "#/components/schemas/Simulation.GaussLinearCorrectedLaplacianScheme",
            "GAUSS_LINEAR_LIMITED_CORRECTED" : "#/components/schemas/Simulation.GaussLinearLimitedCorrectedLaplacianScheme",
            "GAUSS_LINEAR_UNCORRECTED" : "#/components/schemas/Simulation.GaussLinearUncorrectedLaplacianScheme"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.GaussLinearCorrectedLaplacianScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussLinearLimitedCorrectedLaplacianScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussLinearUncorrectedLaplacianScheme"
        } ],
        "default" : {
          "type" : "GAUSS_LINEAR_LIMITED_CORRECTED"
        },
        "x-showWhen" : [ "type == INCOMPRESSIBLE && algorithm in [PIMPLE,PISO,SIMPLE]", "type == CONVECTIVE_HEAT_TRANSFER && isCompressible == false", "type == MULTIPHASE && turbulenceModel in [SMAGORINSKY,SPALARTALLMARAS,KEPSILON,KOMEGA,KOMEGASST]" ]
      },
      "Simulation.OneOf_LaplacianSchemesLaplacian_1A_U_pressure" : {
        "title" : "laplacian((1|A(U)),p)",
        "description" : "<p>With this option you can choose your desired laplacian scheme.</p>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "GAUSS_LINEAR_CORRECTED" : "#/components/schemas/Simulation.GaussLinearCorrectedLaplacianScheme",
            "GAUSS_LINEAR_LIMITED_CORRECTED" : "#/components/schemas/Simulation.GaussLinearLimitedCorrectedLaplacianScheme",
            "GAUSS_LINEAR_UNCORRECTED" : "#/components/schemas/Simulation.GaussLinearUncorrectedLaplacianScheme"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.GaussLinearCorrectedLaplacianScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussLinearLimitedCorrectedLaplacianScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussLinearUncorrectedLaplacianScheme"
        } ],
        "default" : {
          "type" : "GAUSS_LINEAR_LIMITED_CORRECTED"
        },
        "x-showWhen" : [ "type == INCOMPRESSIBLE && turbulenceModel in [SMAGORINSKY,SPALARTALLMARAS,KOMEGASST,NONE,KEPSILON,KOMEGA] && algorithm != PIMPLE" ]
      },
      "Simulation.OneOf_LaplacianSchemesLaplacian_Nu_velocity" : {
        "title" : "laplacian(nu,U)",
        "description" : "<p>With this option you can choose your desired laplacian scheme.</p>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "GAUSS_LINEAR_CORRECTED" : "#/components/schemas/Simulation.GaussLinearCorrectedLaplacianScheme",
            "GAUSS_LINEAR_LIMITED_CORRECTED" : "#/components/schemas/Simulation.GaussLinearLimitedCorrectedLaplacianScheme",
            "GAUSS_LINEAR_UNCORRECTED" : "#/components/schemas/Simulation.GaussLinearUncorrectedLaplacianScheme"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.GaussLinearCorrectedLaplacianScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussLinearLimitedCorrectedLaplacianScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussLinearUncorrectedLaplacianScheme"
        } ],
        "default" : {
          "type" : "GAUSS_LINEAR_LIMITED_CORRECTED"
        },
        "x-showWhen" : [ "type == INCOMPRESSIBLE && algorithm == ICO && turbulenceModel == NONE", "type == INCOMPRESSIBLE && algorithm in [PISO,SIMPLE] && turbulenceModel in [KOMEGA,KOMEGASST]" ]
      },
      "Simulation.OneOf_LaplacianSchemesLaplacian_DREff_R" : {
        "title" : "laplacian(DREff,R)",
        "description" : "<p>With this option you can choose your desired laplacian scheme.</p>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "GAUSS_LINEAR_CORRECTED" : "#/components/schemas/Simulation.GaussLinearCorrectedLaplacianScheme",
            "GAUSS_LINEAR_LIMITED_CORRECTED" : "#/components/schemas/Simulation.GaussLinearLimitedCorrectedLaplacianScheme",
            "GAUSS_LINEAR_UNCORRECTED" : "#/components/schemas/Simulation.GaussLinearUncorrectedLaplacianScheme"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.GaussLinearCorrectedLaplacianScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussLinearLimitedCorrectedLaplacianScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussLinearUncorrectedLaplacianScheme"
        } ],
        "default" : {
          "type" : "GAUSS_LINEAR_LIMITED_CORRECTED"
        },
        "x-showWhen" : [ "type == INCOMPRESSIBLE && turbulenceModel in [SMAGORINSKY,SPALARTALLMARAS,NONE,KEPSILON] && algorithm in [PISO,SIMPLE]" ]
      },
      "Simulation.OneOf_LaplacianSchemesLaplacian_DnuTildaEff_nuTilda" : {
        "title" : "laplacian(DnuTildaEff,nuTilda)",
        "description" : "<p>With this option you can choose your desired laplacian scheme.</p>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "GAUSS_LINEAR_CORRECTED" : "#/components/schemas/Simulation.GaussLinearCorrectedLaplacianScheme",
            "GAUSS_LINEAR_LIMITED_CORRECTED" : "#/components/schemas/Simulation.GaussLinearLimitedCorrectedLaplacianScheme",
            "GAUSS_LINEAR_UNCORRECTED" : "#/components/schemas/Simulation.GaussLinearUncorrectedLaplacianScheme"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.GaussLinearCorrectedLaplacianScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussLinearLimitedCorrectedLaplacianScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussLinearUncorrectedLaplacianScheme"
        } ],
        "default" : {
          "type" : "GAUSS_LINEAR_LIMITED_CORRECTED"
        },
        "x-showWhen" : [ "type in [COMPRESSIBLE,CONVECTIVE_HEAT_TRANSFER,MULTIPHASE] && turbulenceModel == SPALARTALLMARAS", "type == INCOMPRESSIBLE && turbulenceModel in [SMAGORINSKY,SPALARTALLMARAS] && algorithm == PISO", "type == INCOMPRESSIBLE && turbulenceModel == SPALARTALLMARAS && algorithm == PIMPLE", "type == INCOMPRESSIBLE && turbulenceModel in [NONE,KEPSILON] && algorithm in [PISO,SIMPLE]" ]
      },
      "Simulation.OneOf_LaplacianSchemesLaplacian_DkEff_turbulentKineticEnergy" : {
        "title" : "laplacian(DkEff,k)",
        "description" : "<p>With this option you can choose your desired laplacian scheme.</p>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "GAUSS_LINEAR_CORRECTED" : "#/components/schemas/Simulation.GaussLinearCorrectedLaplacianScheme",
            "GAUSS_LINEAR_LIMITED_CORRECTED" : "#/components/schemas/Simulation.GaussLinearLimitedCorrectedLaplacianScheme",
            "GAUSS_LINEAR_UNCORRECTED" : "#/components/schemas/Simulation.GaussLinearUncorrectedLaplacianScheme"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.GaussLinearCorrectedLaplacianScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussLinearLimitedCorrectedLaplacianScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussLinearUncorrectedLaplacianScheme"
        } ],
        "default" : {
          "type" : "GAUSS_LINEAR_LIMITED_CORRECTED"
        },
        "x-showWhen" : [ "type == INCOMPRESSIBLE && turbulenceModel in [KEPSILON,REALIZABLEKE]", "type == INCOMPRESSIBLE && turbulenceModel in [KOMEGA,KOMEGASST] && algorithm == PIMPLE", "type in [COMPRESSIBLE,CONJUGATE_HEAT_TRANSFER] && turbulenceModel in [KEPSILON,KOMEGASST]", "type == MULTIPHASE && turbulenceModel in [KEPSILON,KOMEGA,KOMEGASST]", "type == CONVECTIVE_HEAT_TRANSFER && turbulenceModel in [KEPSILON,KOMEGASST] && timeDependency.type == STATIONARY", "type == CONVECTIVE_HEAT_TRANSFER && turbulenceModel in [KEPSILON,KOMEGASST] && timeDependency.type == TRANSIENT && isCompressible == false" ]
      },
      "Simulation.OneOf_LaplacianSchemesLaplacian_alphaEff_enthalpy" : {
        "title" : "laplacian(alphaEff, h)",
        "description" : "<p>With this option you can choose your desired laplacian scheme.</p>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "GAUSS_LINEAR_CORRECTED" : "#/components/schemas/Simulation.GaussLinearCorrectedLaplacianScheme",
            "GAUSS_LINEAR_LIMITED_CORRECTED" : "#/components/schemas/Simulation.GaussLinearLimitedCorrectedLaplacianScheme",
            "GAUSS_LINEAR_UNCORRECTED" : "#/components/schemas/Simulation.GaussLinearUncorrectedLaplacianScheme"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.GaussLinearCorrectedLaplacianScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussLinearLimitedCorrectedLaplacianScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussLinearUncorrectedLaplacianScheme"
        } ],
        "default" : {
          "type" : "GAUSS_LINEAR_LIMITED_CORRECTED"
        },
        "x-showWhen" : [ "type == CONJUGATE_HEAT_TRANSFER", "type == COMPRESSIBLE && turbulenceModel != NONE", "type == COMPRESSIBLE && timeDependency.type == STATIONARY", "type == COMPRESSIBLE && turbulenceModel == NONE && timeDependency.type == TRANSIENT" ]
      },
      "Simulation.OneOf_LaplacianSchemesLaplacian_alpha_enthalpy" : {
        "title" : "laplacian(alpha, h)",
        "description" : "<p>With this option you can choose your desired laplacian scheme.</p>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "GAUSS_LINEAR_CORRECTED" : "#/components/schemas/Simulation.GaussLinearCorrectedLaplacianScheme",
            "GAUSS_LINEAR_LIMITED_CORRECTED" : "#/components/schemas/Simulation.GaussLinearLimitedCorrectedLaplacianScheme",
            "GAUSS_LINEAR_UNCORRECTED" : "#/components/schemas/Simulation.GaussLinearUncorrectedLaplacianScheme"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.GaussLinearCorrectedLaplacianScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussLinearLimitedCorrectedLaplacianScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussLinearUncorrectedLaplacianScheme"
        } ],
        "default" : {
          "type" : "GAUSS_LINEAR_LIMITED_CORRECTED"
        },
        "x-showWhen" : [ "type == CONJUGATE_HEAT_TRANSFER" ]
      },
      "Simulation.OneOf_LaplacianSchemesLaplacian_muEff_velocity" : {
        "title" : "laplacian(muEff, U)",
        "description" : "<p>With this option you can choose your desired laplacian scheme.</p>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "GAUSS_LINEAR_CORRECTED" : "#/components/schemas/Simulation.GaussLinearCorrectedLaplacianScheme",
            "GAUSS_LINEAR_LIMITED_CORRECTED" : "#/components/schemas/Simulation.GaussLinearLimitedCorrectedLaplacianScheme",
            "GAUSS_LINEAR_UNCORRECTED" : "#/components/schemas/Simulation.GaussLinearUncorrectedLaplacianScheme"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.GaussLinearCorrectedLaplacianScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussLinearLimitedCorrectedLaplacianScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussLinearUncorrectedLaplacianScheme"
        } ],
        "default" : {
          "type" : "GAUSS_LINEAR_LIMITED_CORRECTED"
        },
        "x-showWhen" : [ "type == CONJUGATE_HEAT_TRANSFER", "type == COMPRESSIBLE && turbulenceModel != NONE", "type == COMPRESSIBLE && timeDependency.type == STATIONARY", "type == COMPRESSIBLE && turbulenceModel == NONE && timeDependency.type == TRANSIENT" ]
      },
      "Simulation.OneOf_LaplacianSchemesLaplacian_alphaEff_internalEnergy" : {
        "title" : "laplacian(alphaEff, e)",
        "description" : "<p>With this option you can choose your desired laplacian scheme.</p>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "GAUSS_LINEAR_CORRECTED" : "#/components/schemas/Simulation.GaussLinearCorrectedLaplacianScheme",
            "GAUSS_LINEAR_LIMITED_CORRECTED" : "#/components/schemas/Simulation.GaussLinearLimitedCorrectedLaplacianScheme",
            "GAUSS_LINEAR_UNCORRECTED" : "#/components/schemas/Simulation.GaussLinearUncorrectedLaplacianScheme"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.GaussLinearCorrectedLaplacianScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussLinearLimitedCorrectedLaplacianScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussLinearUncorrectedLaplacianScheme"
        } ],
        "default" : {
          "type" : "GAUSS_LINEAR_LIMITED_CORRECTED"
        },
        "x-showWhen" : [ "type == CONJUGATE_HEAT_TRANSFER", "type == CONVECTIVE_HEAT_TRANSFER && turbulenceModel in [NONE,KEPSILON,KOMEGASST] && timeDependency.type == STATIONARY && isCompressible == true", "type == COMPRESSIBLE && turbulenceModel != NONE", "type == COMPRESSIBLE && timeDependency.type == STATIONARY", "type == COMPRESSIBLE && turbulenceModel == NONE && timeDependency.type == TRANSIENT" ]
      },
      "Simulation.OneOf_LaplacianSchemesLaplacian_rhorAUf_pressureRgh" : {
        "title" : "laplacian(rhorAUf, p_rgh)",
        "description" : "<p>With this option you can choose your desired laplacian scheme.</p>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "GAUSS_LINEAR_CORRECTED" : "#/components/schemas/Simulation.GaussLinearCorrectedLaplacianScheme",
            "GAUSS_LINEAR_LIMITED_CORRECTED" : "#/components/schemas/Simulation.GaussLinearLimitedCorrectedLaplacianScheme",
            "GAUSS_LINEAR_UNCORRECTED" : "#/components/schemas/Simulation.GaussLinearUncorrectedLaplacianScheme"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.GaussLinearCorrectedLaplacianScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussLinearLimitedCorrectedLaplacianScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussLinearUncorrectedLaplacianScheme"
        } ],
        "default" : {
          "type" : "GAUSS_LINEAR_LIMITED_CORRECTED"
        },
        "x-showWhen" : [ "type == CONJUGATE_HEAT_TRANSFER" ]
      },
      "Simulation.OneOf_LaplacianSchemesLaplacian_DepsilonEff_epsilonDissipationRate" : {
        "title" : "laplacian(DepsilonEff, eps)",
        "description" : "<p>With this option you can choose your desired laplacian scheme.</p>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "GAUSS_LINEAR_CORRECTED" : "#/components/schemas/Simulation.GaussLinearCorrectedLaplacianScheme",
            "GAUSS_LINEAR_LIMITED_CORRECTED" : "#/components/schemas/Simulation.GaussLinearLimitedCorrectedLaplacianScheme",
            "GAUSS_LINEAR_UNCORRECTED" : "#/components/schemas/Simulation.GaussLinearUncorrectedLaplacianScheme"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.GaussLinearCorrectedLaplacianScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussLinearLimitedCorrectedLaplacianScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussLinearUncorrectedLaplacianScheme"
        } ],
        "default" : {
          "type" : "GAUSS_LINEAR_LIMITED_CORRECTED"
        },
        "x-showWhen" : [ "type in [COMPRESSIBLE,CONJUGATE_HEAT_TRANSFER,MULTIPHASE] && turbulenceModel == KEPSILON", "type == INCOMPRESSIBLE && turbulenceModel in [KEPSILON,REALIZABLEKE]", "type == CONVECTIVE_HEAT_TRANSFER && turbulenceModel == KEPSILON && timeDependency.type != TRANSIENT", "type == CONVECTIVE_HEAT_TRANSFER && turbulenceModel == KEPSILON && isCompressible == false" ]
      },
      "Simulation.OneOf_LaplacianSchemesLaplacian_DomegaEff_omegaDissipationRate" : {
        "title" : "laplacian(DomegaEff,omega)",
        "description" : "<p>With this option you can choose your desired laplacian scheme.</p>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "GAUSS_LINEAR_CORRECTED" : "#/components/schemas/Simulation.GaussLinearCorrectedLaplacianScheme",
            "GAUSS_LINEAR_LIMITED_CORRECTED" : "#/components/schemas/Simulation.GaussLinearLimitedCorrectedLaplacianScheme",
            "GAUSS_LINEAR_UNCORRECTED" : "#/components/schemas/Simulation.GaussLinearUncorrectedLaplacianScheme"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.GaussLinearCorrectedLaplacianScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussLinearLimitedCorrectedLaplacianScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussLinearUncorrectedLaplacianScheme"
        } ],
        "default" : {
          "type" : "GAUSS_LINEAR_LIMITED_CORRECTED"
        },
        "x-showWhen" : [ "type == INCOMPRESSIBLE && turbulenceModel in [KOMEGA,KOMEGASST] && algorithm == PIMPLE", "type in [COMPRESSIBLE,CONJUGATE_HEAT_TRANSFER] && turbulenceModel == KOMEGASST", "type == MULTIPHASE && turbulenceModel in [KOMEGA,KOMEGASST]", "type == CONVECTIVE_HEAT_TRANSFER && turbulenceModel == KOMEGASST && timeDependency.type != TRANSIENT", "type == CONVECTIVE_HEAT_TRANSFER && turbulenceModel == KOMEGASST && isCompressible == false" ]
      },
      "Simulation.OneOf_LaplacianSchemesLaplacian_rAUf_pressure" : {
        "title" : "laplacian(rAUf, p)",
        "description" : "<p>With this option you can choose your desired laplacian scheme.</p>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "GAUSS_LINEAR_CORRECTED" : "#/components/schemas/Simulation.GaussLinearCorrectedLaplacianScheme",
            "GAUSS_LINEAR_LIMITED_CORRECTED" : "#/components/schemas/Simulation.GaussLinearLimitedCorrectedLaplacianScheme",
            "GAUSS_LINEAR_UNCORRECTED" : "#/components/schemas/Simulation.GaussLinearUncorrectedLaplacianScheme"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.GaussLinearCorrectedLaplacianScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussLinearLimitedCorrectedLaplacianScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussLinearUncorrectedLaplacianScheme"
        } ],
        "default" : {
          "type" : "GAUSS_LINEAR_LIMITED_CORRECTED"
        },
        "x-showWhen" : [ "type == INCOMPRESSIBLE && algorithm == PIMPLE" ]
      },
      "Simulation.OneOf_LaplacianSchemesLaplacian_DT_passiveScalar" : {
        "title" : "laplacian(DT, T)",
        "description" : "<p>With this option you can choose your desired laplacian scheme.</p>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "GAUSS_LINEAR_CORRECTED" : "#/components/schemas/Simulation.GaussLinearCorrectedLaplacianScheme",
            "GAUSS_LINEAR_LIMITED_CORRECTED" : "#/components/schemas/Simulation.GaussLinearLimitedCorrectedLaplacianScheme",
            "GAUSS_LINEAR_UNCORRECTED" : "#/components/schemas/Simulation.GaussLinearUncorrectedLaplacianScheme"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.GaussLinearCorrectedLaplacianScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussLinearLimitedCorrectedLaplacianScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussLinearUncorrectedLaplacianScheme"
        } ],
        "default" : {
          "type" : "GAUSS_LINEAR_LIMITED_CORRECTED"
        },
        "x-showWhen" : [ "type == INCOMPRESSIBLE && numOfPassiveSpecies > 0", "type == CONVECTIVE_HEAT_TRANSFER && numOfPassiveSpecies > 0" ]
      },
      "Simulation.OneOf_LaplacianSchemesLaplacian_Dp_pressure" : {
        "title" : "laplacian(Dp,p)",
        "description" : "<p>With this option you can choose your desired laplacian scheme.</p>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "GAUSS_LINEAR_CORRECTED" : "#/components/schemas/Simulation.GaussLinearCorrectedLaplacianScheme",
            "GAUSS_LINEAR_LIMITED_CORRECTED" : "#/components/schemas/Simulation.GaussLinearLimitedCorrectedLaplacianScheme",
            "GAUSS_LINEAR_UNCORRECTED" : "#/components/schemas/Simulation.GaussLinearUncorrectedLaplacianScheme"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.GaussLinearCorrectedLaplacianScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussLinearLimitedCorrectedLaplacianScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussLinearUncorrectedLaplacianScheme"
        } ],
        "default" : {
          "type" : "GAUSS_LINEAR_LIMITED_CORRECTED"
        },
        "x-showWhen" : [ "type == COMPRESSIBLE && timeDependency.type == TRANSIENT && turbulenceModel != NONE", "type == COMPRESSIBLE && timeDependency.type == TRANSIENT" ]
      },
      "Simulation.OneOf_LaplacianSchemesLaplacian_rhorAUf_pressure" : {
        "title" : "laplacian(rhorAUf, p)",
        "description" : "<p>With this option you can choose your desired laplacian scheme.</p>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "GAUSS_LINEAR_CORRECTED" : "#/components/schemas/Simulation.GaussLinearCorrectedLaplacianScheme",
            "GAUSS_LINEAR_LIMITED_CORRECTED" : "#/components/schemas/Simulation.GaussLinearLimitedCorrectedLaplacianScheme",
            "GAUSS_LINEAR_UNCORRECTED" : "#/components/schemas/Simulation.GaussLinearUncorrectedLaplacianScheme"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.GaussLinearCorrectedLaplacianScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussLinearLimitedCorrectedLaplacianScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussLinearUncorrectedLaplacianScheme"
        } ],
        "default" : {
          "type" : "GAUSS_LINEAR_LIMITED_CORRECTED"
        },
        "x-showWhen" : [ "type == COMPRESSIBLE && timeDependency.type == TRANSIENT && turbulenceModel != NONE", "type == COMPRESSIBLE && timeDependency.type == TRANSIENT", "type == CONVECTIVE_HEAT_TRANSFER && turbulenceModel in [SMAGORINSKY,SPALARTALLMARAS] && isCompressible == true" ]
      },
      "Simulation.OneOf_LaplacianSchemesLaplacian_rho_1_A_U_pressure" : {
        "title" : "laplacian(rho*(1|A(U)),p)",
        "description" : "<p>With this option you can choose your desired laplacian scheme.</p>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "GAUSS_LINEAR_CORRECTED" : "#/components/schemas/Simulation.GaussLinearCorrectedLaplacianScheme",
            "GAUSS_LINEAR_LIMITED_CORRECTED" : "#/components/schemas/Simulation.GaussLinearLimitedCorrectedLaplacianScheme",
            "GAUSS_LINEAR_UNCORRECTED" : "#/components/schemas/Simulation.GaussLinearUncorrectedLaplacianScheme"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.GaussLinearCorrectedLaplacianScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussLinearLimitedCorrectedLaplacianScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussLinearUncorrectedLaplacianScheme"
        } ],
        "default" : {
          "type" : "GAUSS_LINEAR_LIMITED_CORRECTED"
        },
        "x-showWhen" : [ "type == COMPRESSIBLE && timeDependency.type == STATIONARY && turbulenceModel in [NONE,KEPSILON,KOMEGASST]" ]
      },
      "Simulation.OneOf_LaplacianSchemesLaplacian_mut_velocity" : {
        "title" : "laplacian(mut, U)",
        "description" : "<p>With this option you can choose your desired laplacian scheme.</p>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "GAUSS_LINEAR_CORRECTED" : "#/components/schemas/Simulation.GaussLinearCorrectedLaplacianScheme",
            "GAUSS_LINEAR_LIMITED_CORRECTED" : "#/components/schemas/Simulation.GaussLinearLimitedCorrectedLaplacianScheme",
            "GAUSS_LINEAR_UNCORRECTED" : "#/components/schemas/Simulation.GaussLinearUncorrectedLaplacianScheme"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.GaussLinearCorrectedLaplacianScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussLinearLimitedCorrectedLaplacianScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussLinearUncorrectedLaplacianScheme"
        } ],
        "default" : {
          "type" : "GAUSS_LINEAR_LIMITED_CORRECTED"
        },
        "x-showWhen" : [ "type == COMPRESSIBLE && turbulenceModel in [KEPSILON,KOMEGASST]", "type == CONVECTIVE_HEAT_TRANSFER && turbulenceModel in [KEPSILON,KOMEGASST] && timeDependency.type == STATIONARY && isCompressible == true" ]
      },
      "Simulation.OneOf_LaplacianSchemesLaplacian_alphaEff_temperature" : {
        "title" : "laplacian(alphaEff, T)",
        "description" : "<p>With this option you can choose your desired laplacian scheme.</p>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "GAUSS_LINEAR_CORRECTED" : "#/components/schemas/Simulation.GaussLinearCorrectedLaplacianScheme",
            "GAUSS_LINEAR_LIMITED_CORRECTED" : "#/components/schemas/Simulation.GaussLinearLimitedCorrectedLaplacianScheme",
            "GAUSS_LINEAR_UNCORRECTED" : "#/components/schemas/Simulation.GaussLinearUncorrectedLaplacianScheme"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.GaussLinearCorrectedLaplacianScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussLinearLimitedCorrectedLaplacianScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussLinearUncorrectedLaplacianScheme"
        } ],
        "default" : {
          "type" : "GAUSS_LINEAR_LIMITED_CORRECTED"
        },
        "x-showWhen" : [ "type == CONVECTIVE_HEAT_TRANSFER && isCompressible == false" ]
      },
      "Simulation.OneOf_LaplacianSchemesLaplacian_rAUf_pressureRgh" : {
        "title" : "laplacian(rAUf, p_rgh)",
        "description" : "<p>With this option you can choose your desired laplacian scheme.</p>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "GAUSS_LINEAR_CORRECTED" : "#/components/schemas/Simulation.GaussLinearCorrectedLaplacianScheme",
            "GAUSS_LINEAR_LIMITED_CORRECTED" : "#/components/schemas/Simulation.GaussLinearLimitedCorrectedLaplacianScheme",
            "GAUSS_LINEAR_UNCORRECTED" : "#/components/schemas/Simulation.GaussLinearUncorrectedLaplacianScheme"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.GaussLinearCorrectedLaplacianScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussLinearLimitedCorrectedLaplacianScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussLinearUncorrectedLaplacianScheme"
        } ],
        "default" : {
          "type" : "GAUSS_LINEAR_LIMITED_CORRECTED"
        },
        "x-showWhen" : [ "type == CONVECTIVE_HEAT_TRANSFER && isCompressible == false" ]
      },
      "Simulation.OneOf_MarcMinMaxFieldsCalculationResultControlItemFieldSelection" : {
        "title" : "Field selection",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "DISPLACEMENT" : "#/components/schemas/Simulation.MarcDisplacementFieldSelection",
            "PRESSURE" : "#/components/schemas/Simulation.MarcPressureFieldSelection",
            "STRESS" : "#/components/schemas/Simulation.MarcStressFieldSelection",
            "STRAIN" : "#/components/schemas/Simulation.MarcStrainFieldSelection",
            "CONTACT" : "#/components/schemas/Simulation.MarcContactFieldSelection"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.MarcDisplacementFieldSelection"
        }, {
          "$ref" : "#/components/schemas/Simulation.MarcPressureFieldSelection"
        }, {
          "$ref" : "#/components/schemas/Simulation.MarcStressFieldSelection"
        }, {
          "$ref" : "#/components/schemas/Simulation.MarcStrainFieldSelection"
        }, {
          "$ref" : "#/components/schemas/Simulation.MarcContactFieldSelection"
        } ],
        "default" : {
          "type" : "DISPLACEMENT"
        }
      },
      "Simulation.OneOf_HarmonicAnalysisConnectors" : {
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "PIN_CONNECTOR" : "#/components/schemas/Simulation.PinConnector",
            "BOLT_CONNECTOR" : "#/components/schemas/Simulation.BoltConnector"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.PinConnector"
        }, {
          "$ref" : "#/components/schemas/Simulation.BoltConnector"
        } ]
      },
      "Simulation.OneOf_HarmonicAnalysisBoundaryConditions" : {
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "BASE_EXCITATION" : "#/components/schemas/Simulation.BaseExcitationBC",
            "BOLT_PRELOAD" : "#/components/schemas/Simulation.BoltPreloadBC",
            "ELASTIC_SUPPORT" : "#/components/schemas/Simulation.ElasticSupportBC",
            "FIXED_SUPPORT" : "#/components/schemas/Simulation.FixedSupportBC",
            "FIXED_VALUE" : "#/components/schemas/Simulation.FixedValueBC",
            "POINT_MASS" : "#/components/schemas/Simulation.PointMassBC",
            "DISTRIBUTED_MASS" : "#/components/schemas/Simulation.DistributedMassBC",
            "REMOTE_DISPLACEMENT_LOAD" : "#/components/schemas/Simulation.RemoteDisplacementLoadBC",
            "SYMMETRY_PLANE" : "#/components/schemas/Simulation.SymmetryPlaneBC",
            "CENTRIFUGAL_FORCE" : "#/components/schemas/Simulation.CentrifugalForceBC",
            "FORCE_LOAD" : "#/components/schemas/Simulation.ForceLoadBC",
            "NODAL_LOAD" : "#/components/schemas/Simulation.NodalLoadBC",
            "PRESSURE" : "#/components/schemas/Simulation.PressureBC",
            "REMOTE_FORCE_LOAD" : "#/components/schemas/Simulation.RemoteForceLoadBC",
            "SURFACE_LOAD" : "#/components/schemas/Simulation.SurfaceLoadBC",
            "VOLUME_LOAD" : "#/components/schemas/Simulation.VolumeLoadBC"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.BaseExcitationBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.BoltPreloadBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.ElasticSupportBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.FixedSupportBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.FixedValueBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.PointMassBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.DistributedMassBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.RemoteDisplacementLoadBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.SymmetryPlaneBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.CentrifugalForceBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.ForceLoadBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.NodalLoadBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.PressureBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.RemoteForceLoadBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.SurfaceLoadBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.VolumeLoadBC"
        } ]
      },
      "Simulation.OneOf_DimensionalFunction_DynamicViscosityValue" : {
        "title" : "Value",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "CONSTANT" : "#/components/schemas/Simulation.ConstantFunction",
            "EXPRESSION" : "#/components/schemas/Simulation.ExpressionFunction",
            "POLYNOMIAL" : "#/components/schemas/Simulation.PolynomialFunction",
            "TABLE_DEFINED" : "#/components/schemas/Simulation.TableDefinedFunction"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.ConstantFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.ExpressionFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.PolynomialFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.TableDefinedFunction"
        } ]
      },
      "Simulation.OneOf_HarmonicResponseResultControlItemFieldSelection" : {
        "title" : "Field selection",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "DISPLACEMENT" : "#/components/schemas/Simulation.DisplacementFieldSelection",
            "STRAIN" : "#/components/schemas/Simulation.StrainFieldSelection",
            "STRESS" : "#/components/schemas/Simulation.StressFieldSelection",
            "VELOCITY" : "#/components/schemas/Simulation.VelocityFieldSelection",
            "ACCELERATION" : "#/components/schemas/Simulation.AccelerationFieldSelection"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.DisplacementFieldSelection"
        }, {
          "$ref" : "#/components/schemas/Simulation.StrainFieldSelection"
        }, {
          "$ref" : "#/components/schemas/Simulation.StressFieldSelection"
        }, {
          "$ref" : "#/components/schemas/Simulation.VelocityFieldSelection"
        }, {
          "$ref" : "#/components/schemas/Simulation.AccelerationFieldSelection"
        } ],
        "default" : {
          "type" : "DISPLACEMENT"
        },
        "x-showWhen" : [ "type == HARMONIC_ANALYSIS" ]
      },
      "Simulation.OneOf_DimensionalFunction_RotationSpeedValue" : {
        "title" : "Value",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "CONSTANT" : "#/components/schemas/Simulation.ConstantFunction",
            "EXPRESSION" : "#/components/schemas/Simulation.ExpressionFunction",
            "POLYNOMIAL" : "#/components/schemas/Simulation.PolynomialFunction",
            "TABLE_DEFINED" : "#/components/schemas/Simulation.TableDefinedFunction"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.ConstantFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.ExpressionFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.PolynomialFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.TableDefinedFunction"
        } ]
      },
      "Simulation.OneOf_CurrentExcitationCurrentType" : {
        "title" : "I(t) Current",
        "description" : "<ul><li><strong>Constant:</strong> Definition of a constant current value.</li> <li><strong>Sinusoidal:</strong> Definition of a current that changes sinusoidally with time.</li> <li><strong>Table:</strong> Definition of current values at specific time intervals.</li></ul>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "CURRENT_TYPE_CONSTANT" : "#/components/schemas/Simulation.ElectromagneticCurrentTypeConstant",
            "CURRENT_TYPE_SINUSOIDAL" : "#/components/schemas/Simulation.ElectromagneticCurrentTypeSinusoidal",
            "CURRENT_TYPE_TABLE" : "#/components/schemas/Simulation.ElectromagneticCurrentTypeTable"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.ElectromagneticCurrentTypeConstant"
        }, {
          "$ref" : "#/components/schemas/Simulation.ElectromagneticCurrentTypeSinusoidal"
        }, {
          "$ref" : "#/components/schemas/Simulation.ElectromagneticCurrentTypeTable"
        } ],
        "default" : {
          "type" : "CURRENT_TYPE_CONSTANT"
        },
        "x-showWhen" : [ "model.type == MAGNETOSTATICS", "model.type == TIME_TRANSIENT_MAGNETICS" ]
      },
      "Simulation.OneOf_DynamicAnalysisConnectionGroups" : {
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "CONTACT" : "#/components/schemas/Simulation.Contact",
            "PHYSICAL_CONTACT_V36" : "#/components/schemas/Simulation.PhysicalContact"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.Contact"
        }, {
          "$ref" : "#/components/schemas/Simulation.PhysicalContact"
        } ]
      },
      "Simulation.OneOf_DynamicAnalysisConnectors" : {
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "PIN_CONNECTOR" : "#/components/schemas/Simulation.PinConnector",
            "BOLT_CONNECTOR" : "#/components/schemas/Simulation.BoltConnector"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.PinConnector"
        }, {
          "$ref" : "#/components/schemas/Simulation.BoltConnector"
        } ]
      },
      "Simulation.OneOf_DynamicAnalysisBoundaryConditions" : {
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "BOLT_PRELOAD" : "#/components/schemas/Simulation.BoltPreloadBC",
            "ELASTIC_SUPPORT" : "#/components/schemas/Simulation.ElasticSupportBC",
            "FIXED_SUPPORT" : "#/components/schemas/Simulation.FixedSupportBC",
            "FIXED_VALUE" : "#/components/schemas/Simulation.FixedValueBC",
            "POINT_MASS" : "#/components/schemas/Simulation.PointMassBC",
            "DISTRIBUTED_MASS" : "#/components/schemas/Simulation.DistributedMassBC",
            "REMOTE_DISPLACEMENT_LOAD" : "#/components/schemas/Simulation.RemoteDisplacementLoadBC",
            "ROTATING_MOTION" : "#/components/schemas/Simulation.RotatingMotionBC",
            "SYMMETRY_PLANE" : "#/components/schemas/Simulation.SymmetryPlaneBC",
            "CYCLIC_SYMMETRY" : "#/components/schemas/Simulation.CyclicSymmetryBC",
            "CENTRIFUGAL_FORCE" : "#/components/schemas/Simulation.CentrifugalForceBC",
            "FOLLOWER_PRESSURE" : "#/components/schemas/Simulation.FollowerPressureBC",
            "FORCE_LOAD" : "#/components/schemas/Simulation.ForceLoadBC",
            "NODAL_LOAD" : "#/components/schemas/Simulation.NodalLoadBC",
            "PRESSURE" : "#/components/schemas/Simulation.PressureBC",
            "REMOTE_FORCE_LOAD" : "#/components/schemas/Simulation.RemoteForceLoadBC",
            "SURFACE_LOAD" : "#/components/schemas/Simulation.SurfaceLoadBC",
            "VOLUME_LOAD" : "#/components/schemas/Simulation.VolumeLoadBC",
            "HINGE_CONSTRAINT" : "#/components/schemas/Simulation.HingeConstraintBC"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.BoltPreloadBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.ElasticSupportBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.FixedSupportBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.FixedValueBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.PointMassBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.DistributedMassBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.RemoteDisplacementLoadBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.RotatingMotionBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.SymmetryPlaneBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.CyclicSymmetryBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.CentrifugalForceBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.FollowerPressureBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.ForceLoadBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.NodalLoadBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.PressureBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.RemoteForceLoadBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.SurfaceLoadBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.VolumeLoadBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.HingeConstraintBC"
        } ]
      },
      "Simulation.OneOf_OrthotropicDirectionalDependencyPoissonsRatioXY" : {
        "title" : "(ν) Poisson's ratio in XY",
        "maximum" : 0.5,
        "exclusiveMaximum" : true,
        "minimum" : -1.0,
        "exclusiveMinimum" : true,
        "description" : "<p>Provide the <i>Poisson's ratio</i> value which describes the compression or elongation of a material transverse to axial strain on a <b>XY cartesian plane</b>. <i>Poisson's ratio</i> can have a value within range from -1 to 0.5. </p><br /><b>Important remarks:</b><br /> <ul><li>Value less than 0 means that material is auxetic.</li><li>Most of the metals such as steel and aluminum have value between 0.2 to 0.35 and are considered compressible.<li>Value of 0.5 means that the material is incompressible such as rubber and some types of foams. Please avoid giving this value since it leads to convergence problem. You can give 0.499 rather than 0.5.</li></ul>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "CONSTANT" : "#/components/schemas/Simulation.ConstantFunction",
            "EXPRESSION" : "#/components/schemas/Simulation.ExpressionFunction",
            "POLYNOMIAL" : "#/components/schemas/Simulation.PolynomialFunction",
            "TABLE_DEFINED" : "#/components/schemas/Simulation.TableDefinedFunction"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.ConstantFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.ExpressionFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.PolynomialFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.TableDefinedFunction"
        } ],
        "x-showWhen" : [ "type in [STATIC_ANALYSIS,DYNAMIC_ANALYSIS,HARMONIC_ANALYSIS,FREQUENCY_ANALYSIS,THERMAL_MECHANICAL]" ]
      },
      "Simulation.OneOf_OrthotropicDirectionalDependencyPoissonsRatioYZ" : {
        "title" : "(ν) Poisson's ratio in YZ",
        "maximum" : 0.5,
        "exclusiveMaximum" : true,
        "minimum" : -1.0,
        "exclusiveMinimum" : true,
        "description" : "<p>Provide the <i>Poisson's ratio</i> value which describes the compression or elongation of a material transverse to axial strain on a <b>YZ cartesian plane</b>. <i>Poisson's ratio</i> can have a value within range from -1 to 0.5. </p><br /><b>Important remarks:</b><br /> <ul><li>Value less than 0 means that material is auxetic.</li><li>Most of the metals such as steel and aluminum have value between 0.2 to 0.35 and are considered compressible.<li>Value of 0.5 means that the material is incompressible such as rubber and some types of foams. Please avoid giving this value since it leads to convergence problem. You can give 0.499 rather than 0.5.</li></ul>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "CONSTANT" : "#/components/schemas/Simulation.ConstantFunction",
            "EXPRESSION" : "#/components/schemas/Simulation.ExpressionFunction",
            "POLYNOMIAL" : "#/components/schemas/Simulation.PolynomialFunction",
            "TABLE_DEFINED" : "#/components/schemas/Simulation.TableDefinedFunction"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.ConstantFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.ExpressionFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.PolynomialFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.TableDefinedFunction"
        } ],
        "x-showWhen" : [ "type in [STATIC_ANALYSIS,DYNAMIC_ANALYSIS,HARMONIC_ANALYSIS,FREQUENCY_ANALYSIS,THERMAL_MECHANICAL]" ]
      },
      "Simulation.OneOf_OrthotropicDirectionalDependencyPoissonsRatioXZ" : {
        "title" : "(ν) Poisson's ratio in XZ",
        "maximum" : 0.5,
        "exclusiveMaximum" : true,
        "minimum" : -1.0,
        "exclusiveMinimum" : true,
        "description" : "<p>Provide the <i>Poisson's ratio</i> value which describes the compression or elongation of a material transverse to axial strain on a <b>XZ cartesian plane</b>. <i>Poisson's ratio</i> can have a value within range from -1 to 0.5. </p><br /><b>Important remarks:</b><br /> <ul><li>Value less than 0 means that material is auxetic.</li><li>Most of the metals such as steel and aluminum have value between 0.2 to 0.35 and are considered compressible.<li>Value of 0.5 means that the material is incompressible such as rubber and some types of foams. Please avoid giving this value since it leads to convergence problem. You can give 0.499 rather than 0.5.</li></ul>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "CONSTANT" : "#/components/schemas/Simulation.ConstantFunction",
            "EXPRESSION" : "#/components/schemas/Simulation.ExpressionFunction",
            "POLYNOMIAL" : "#/components/schemas/Simulation.PolynomialFunction",
            "TABLE_DEFINED" : "#/components/schemas/Simulation.TableDefinedFunction"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.ConstantFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.ExpressionFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.PolynomialFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.TableDefinedFunction"
        } ],
        "x-showWhen" : [ "type in [STATIC_ANALYSIS,DYNAMIC_ANALYSIS,HARMONIC_ANALYSIS,FREQUENCY_ANALYSIS,THERMAL_MECHANICAL]" ]
      },
      "Simulation.OneOf_StressTensor_PressureSigmaXX" : {
        "title" : "σ<xx>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "CONSTANT" : "#/components/schemas/Simulation.ConstantFunction",
            "EXPRESSION" : "#/components/schemas/Simulation.ExpressionFunction",
            "POLYNOMIAL" : "#/components/schemas/Simulation.PolynomialFunction",
            "TABLE_DEFINED" : "#/components/schemas/Simulation.TableDefinedFunction"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.ConstantFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.ExpressionFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.PolynomialFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.TableDefinedFunction"
        } ]
      },
      "Simulation.OneOf_StressTensor_PressureSigmaYY" : {
        "title" : "σ<yy>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "CONSTANT" : "#/components/schemas/Simulation.ConstantFunction",
            "EXPRESSION" : "#/components/schemas/Simulation.ExpressionFunction",
            "POLYNOMIAL" : "#/components/schemas/Simulation.PolynomialFunction",
            "TABLE_DEFINED" : "#/components/schemas/Simulation.TableDefinedFunction"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.ConstantFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.ExpressionFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.PolynomialFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.TableDefinedFunction"
        } ]
      },
      "Simulation.OneOf_StressTensor_PressureSigmaZZ" : {
        "title" : "σ<zz>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "CONSTANT" : "#/components/schemas/Simulation.ConstantFunction",
            "EXPRESSION" : "#/components/schemas/Simulation.ExpressionFunction",
            "POLYNOMIAL" : "#/components/schemas/Simulation.PolynomialFunction",
            "TABLE_DEFINED" : "#/components/schemas/Simulation.TableDefinedFunction"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.ConstantFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.ExpressionFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.PolynomialFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.TableDefinedFunction"
        } ]
      },
      "Simulation.OneOf_StressTensor_PressureSigmaYZ" : {
        "title" : "σ<yz>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "CONSTANT" : "#/components/schemas/Simulation.ConstantFunction",
            "EXPRESSION" : "#/components/schemas/Simulation.ExpressionFunction",
            "POLYNOMIAL" : "#/components/schemas/Simulation.PolynomialFunction",
            "TABLE_DEFINED" : "#/components/schemas/Simulation.TableDefinedFunction"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.ConstantFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.ExpressionFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.PolynomialFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.TableDefinedFunction"
        } ]
      },
      "Simulation.OneOf_StressTensor_PressureSigmaXZ" : {
        "title" : "σ<xz>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "CONSTANT" : "#/components/schemas/Simulation.ConstantFunction",
            "EXPRESSION" : "#/components/schemas/Simulation.ExpressionFunction",
            "POLYNOMIAL" : "#/components/schemas/Simulation.PolynomialFunction",
            "TABLE_DEFINED" : "#/components/schemas/Simulation.TableDefinedFunction"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.ConstantFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.ExpressionFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.PolynomialFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.TableDefinedFunction"
        } ]
      },
      "Simulation.OneOf_StressTensor_PressureSigmaXY" : {
        "title" : "σ<xy>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "CONSTANT" : "#/components/schemas/Simulation.ConstantFunction",
            "EXPRESSION" : "#/components/schemas/Simulation.ExpressionFunction",
            "POLYNOMIAL" : "#/components/schemas/Simulation.PolynomialFunction",
            "TABLE_DEFINED" : "#/components/schemas/Simulation.TableDefinedFunction"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.ConstantFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.ExpressionFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.PolynomialFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.TableDefinedFunction"
        } ]
      },
      "Simulation.OneOf_SurfaceNormalGradientSchemesForDefault" : {
        "title" : "Default",
        "description" : "<p>A surface normal gradient is the component, normal to the face, of the gradient of values at the centres of the 2 cells connected through that face. Choose your desired scheme.</p>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "CORRECTED" : "#/components/schemas/Simulation.CorrectedSurfaceNormalGradientScheme",
            "UNCORRECTED" : "#/components/schemas/Simulation.UncorrectedSurfaceNormalGradientScheme",
            "LIMITED" : "#/components/schemas/Simulation.LimitedSurfaceNormalGradientScheme"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.CorrectedSurfaceNormalGradientScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.UncorrectedSurfaceNormalGradientScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.LimitedSurfaceNormalGradientScheme"
        } ],
        "default" : {
          "type" : "LIMITED"
        },
        "x-showWhen" : [ "type in [COMPRESSIBLE,INCOMPRESSIBLE,CONJUGATE_HEAT_TRANSFER,CONVECTIVE_HEAT_TRANSFER,MULTIPHASE]" ]
      },
      "Simulation.OneOf_SurfaceNormalGradientSchemesSurfaceNormalGradient_rho" : {
        "title" : "snGrad(rho)",
        "description" : "<p>A surface normal gradient is the component, normal to the face, of the gradient of values at the centres of the 2 cells connected through that face. Choose your desired scheme.</p>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "CORRECTED" : "#/components/schemas/Simulation.CorrectedSurfaceNormalGradientScheme",
            "UNCORRECTED" : "#/components/schemas/Simulation.UncorrectedSurfaceNormalGradientScheme",
            "LIMITED" : "#/components/schemas/Simulation.LimitedSurfaceNormalGradientScheme"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.CorrectedSurfaceNormalGradientScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.UncorrectedSurfaceNormalGradientScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.LimitedSurfaceNormalGradientScheme"
        } ],
        "default" : {
          "type" : "LIMITED"
        },
        "x-showWhen" : [ "type == CONJUGATE_HEAT_TRANSFER" ]
      },
      "Simulation.OneOf_SurfaceNormalGradientSchemesSurfaceNormalGradient_pressureRgh" : {
        "title" : "snGrad(p_rgh)",
        "description" : "<p>A surface normal gradient is the component, normal to the face, of the gradient of values at the centres of the 2 cells connected through that face. Choose your desired scheme.</p>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "CORRECTED" : "#/components/schemas/Simulation.CorrectedSurfaceNormalGradientScheme",
            "UNCORRECTED" : "#/components/schemas/Simulation.UncorrectedSurfaceNormalGradientScheme",
            "LIMITED" : "#/components/schemas/Simulation.LimitedSurfaceNormalGradientScheme"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.CorrectedSurfaceNormalGradientScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.UncorrectedSurfaceNormalGradientScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.LimitedSurfaceNormalGradientScheme"
        } ],
        "default" : {
          "type" : "LIMITED"
        },
        "x-showWhen" : [ "type == CONJUGATE_HEAT_TRANSFER", "type == CONVECTIVE_HEAT_TRANSFER && turbulenceModel in [SMAGORINSKY,SPALARTALLMARAS,NONE,KEPSILON,KOMEGASST] && isCompressible == false" ]
      },
      "Simulation.OneOf_SurfaceNormalGradientSchemesSurfaceNormalGradient_rhok" : {
        "title" : "snGrad(rhok)",
        "description" : "<p>A surface normal gradient is the component, normal to the face, of the gradient of values at the centres of the 2 cells connected through that face. Choose your desired scheme.</p>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "CORRECTED" : "#/components/schemas/Simulation.CorrectedSurfaceNormalGradientScheme",
            "UNCORRECTED" : "#/components/schemas/Simulation.UncorrectedSurfaceNormalGradientScheme",
            "LIMITED" : "#/components/schemas/Simulation.LimitedSurfaceNormalGradientScheme"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.CorrectedSurfaceNormalGradientScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.UncorrectedSurfaceNormalGradientScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.LimitedSurfaceNormalGradientScheme"
        } ],
        "default" : {
          "type" : "LIMITED"
        },
        "x-showWhen" : [ "type == CONVECTIVE_HEAT_TRANSFER && turbulenceModel in [SMAGORINSKY,SPALARTALLMARAS,NONE,KEPSILON,KOMEGASST] && isCompressible == false" ]
      },
      "Simulation.OneOf_AdvancedROISettingsWindTunnelSize" : {
        "title" : "Wind tunnel size",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "WIND_TUNNEL_SIZE_MODERATE" : "#/components/schemas/Simulation.WindTunnelSizeModerate",
            "WIND_TUNNEL_SIZE_LARGE" : "#/components/schemas/Simulation.WindTunnelSizeLarge",
            "WIND_TUNNEL_SIZE_CUSTOM" : "#/components/schemas/Simulation.WindTunnelSizeCustom"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.WindTunnelSizeModerate"
        }, {
          "$ref" : "#/components/schemas/Simulation.WindTunnelSizeLarge"
        }, {
          "$ref" : "#/components/schemas/Simulation.WindTunnelSizeCustom"
        } ],
        "default" : {
          "type" : "WIND_TUNNEL_SIZE_MODERATE"
        }
      },
      "Simulation.OneOf_DisplacementFieldSelectionDisplacementType" : {
        "title" : "Displacement type",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "ABSOLUTE" : "#/components/schemas/Simulation.AbsoluteHarmonicDisplacementFieldType",
            "RELATIVE" : "#/components/schemas/Simulation.RelativeHarmonicDisplacementFieldType"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.AbsoluteHarmonicDisplacementFieldType"
        }, {
          "$ref" : "#/components/schemas/Simulation.RelativeHarmonicDisplacementFieldType"
        } ],
        "default" : {
          "type" : "ABSOLUTE"
        },
        "x-showWhen" : [ "type == HARMONIC_ANALYSIS" ]
      },
      "Simulation.OneOf_StrainFieldSelectionStrainType" : {
        "title" : "(ε) Strain type",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "TOTAL_LINEAR" : "#/components/schemas/Simulation.TotalLinearStrainType",
            "TOTAL_NONLINEAR" : "#/components/schemas/Simulation.TotalNonLinearStrainType",
            "TOTAL_EQUI_PLASTIC" : "#/components/schemas/Simulation.TotalEquivalentPlasticStrainType",
            "UNELASTIC" : "#/components/schemas/Simulation.UnelasticStrainType",
            "PRINCIPAL" : "#/components/schemas/Simulation.PrincipalStrainType",
            "PRINCIPAL_GREEN_LAGRANGE" : "#/components/schemas/Simulation.PrincipalGreenLagrangeStrainType"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.TotalLinearStrainType"
        }, {
          "$ref" : "#/components/schemas/Simulation.TotalNonLinearStrainType"
        }, {
          "$ref" : "#/components/schemas/Simulation.TotalEquivalentPlasticStrainType"
        }, {
          "$ref" : "#/components/schemas/Simulation.UnelasticStrainType"
        }, {
          "$ref" : "#/components/schemas/Simulation.PrincipalStrainType"
        }, {
          "$ref" : "#/components/schemas/Simulation.PrincipalGreenLagrangeStrainType"
        } ],
        "x-conditionalDefaults" : [ {
          "when" : [ "type == STATIC_ANALYSIS && nonLinearAnalysis == true", "type == THERMAL_MECHANICAL && nonLinearAnalysis == true", "type == DYNAMIC_ANALYSIS" ],
          "default" : {
            "type" : "TOTAL_NONLINEAR"
          }
        }, {
          "when" : [ "type == STATIC_ANALYSIS && nonLinearAnalysis == false", "type == THERMAL_MECHANICAL && nonLinearAnalysis == false", "type == HARMONIC_ANALYSIS" ],
          "default" : {
            "type" : "TOTAL_LINEAR"
          }
        } ]
      },
      "Simulation.OneOf_MarcStrainResultControlItemStrainType" : {
        "title" : "(ε) Strain type",
        "description" : "<ul><li><b>Total strain</b>: Represents the sum of all strain components (elastic, plastic, and thermal) relative to the original configuration. It describes the complete deformation state of the material. Tensor quantity.<li><b>Elastic strain</b>: The recoverable portion of the strain that disappears upon unloading, calculated using the material's elastic constitutive laws. Tensor quantity.<li><b>Plastic strain</b>: The permanent, non-recoverable deformation that occurs once the material exceeds its yield point. Tensor quantity.<li><b>Principal strain (total)</b>: The strains oriented along the axes where shear strain is zero. These represent the <b>maximum, intermediate, and minimum normal strains</b> in the material. Derived from the total strain tensor field.<li><b>Principal strain (elastic)</b>: The strains oriented along the axes where shear strain is zero. These represent the <b>maximum, intermediate, and minimum normal strains</b> in the material. Derived from the elastic strain tensor field.<li><b>Principal strain (plastic)</b>: The strains oriented along the axes where shear strain is zero. These represent the <b>maximum, intermediate, and minimum normal strains</b> in the material. Derived from the plastic strain tensor field.<li><b>Equivalent elastic strain</b>: A scalar value derived from the elastic strain tensor components, used to represent the magnitude of elastic deformation in a single value.<li><b>Equivalent plastic strain</b>: A scalar measure (the von Mises equivalent) representing the accumulation of plastic deformation, often used for assessing material failure or hardening.</ul>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "TOTAL" : "#/components/schemas/Simulation.TotalStrain",
            "ELASTIC" : "#/components/schemas/Simulation.ElasticStrain",
            "PLASTIC" : "#/components/schemas/Simulation.PlasticStrain",
            "PRINCIPAL_TOTAL" : "#/components/schemas/Simulation.PrincipalTotalStrain",
            "PRINCIPAL_ELASTIC" : "#/components/schemas/Simulation.PrincipalElasticStrain",
            "PRINCIPAL_PLASTIC" : "#/components/schemas/Simulation.PrincipalPlasticStrain",
            "EQUIVALENT_ELASTIC" : "#/components/schemas/Simulation.EquivalentElasticStrain",
            "EQUIVALENT_PLASTIC" : "#/components/schemas/Simulation.EquivalentPlasticStrain"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.TotalStrain"
        }, {
          "$ref" : "#/components/schemas/Simulation.ElasticStrain"
        }, {
          "$ref" : "#/components/schemas/Simulation.PlasticStrain"
        }, {
          "$ref" : "#/components/schemas/Simulation.PrincipalTotalStrain"
        }, {
          "$ref" : "#/components/schemas/Simulation.PrincipalElasticStrain"
        }, {
          "$ref" : "#/components/schemas/Simulation.PrincipalPlasticStrain"
        }, {
          "$ref" : "#/components/schemas/Simulation.EquivalentElasticStrain"
        }, {
          "$ref" : "#/components/schemas/Simulation.EquivalentPlasticStrain"
        } ],
        "default" : {
          "type" : "TOTAL"
        }
      },
      "Simulation.OneOf_RegionRefinementEBMRefinement" : {
        "title" : "Refinement mode",
        "description" : "<p>Choose between the following refinement modes:</p><ul><li><b>Inside:</b> Refines all the mesh cells inside the selected volumes up to the specified cell edge length.</li><li><b>Distance:</b>Refines the mesh cells according to the distance to the surface of the assigned volume(s). The <i>Distance</i> mode can accommodate different refinement levels at multiple distances.</li></ul>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "INSIDE" : "#/components/schemas/Simulation.InsideRegionRefinementWithLength",
            "DISTANCE" : "#/components/schemas/Simulation.DistanceRegionRefinementWithLength"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.InsideRegionRefinementWithLength"
        }, {
          "$ref" : "#/components/schemas/Simulation.DistanceRegionRefinementWithLength"
        } ],
        "default" : {
          "type" : "INSIDE"
        }
      },
      "Simulation.OneOf_VelocityFieldSelectionVelocityType" : {
        "title" : "Velocity type",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "ABSOLUTE" : "#/components/schemas/Simulation.AbsoluteHarmonicVelocityFieldType",
            "RELATIVE" : "#/components/schemas/Simulation.RelativeHarmonicVelocityFieldType"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.AbsoluteHarmonicVelocityFieldType"
        }, {
          "$ref" : "#/components/schemas/Simulation.RelativeHarmonicVelocityFieldType"
        } ],
        "default" : {
          "type" : "ABSOLUTE"
        },
        "x-showWhen" : [ "type == HARMONIC_ANALYSIS" ]
      },
      "Simulation.OneOf_ThermalMechanicalTimeDependency" : {
        "title" : "Time dependency",
        "description" : "<p><strong>Steady-state</strong>: Steady-state simulations are time-independent, that is, the equations solved do not include time derivatives. If you are only interested in the converged solution, consider a steady-state simulation.</p><p><strong>Transient</strong>: Transient simulations account for time-dependent effects, that is, the associated flow variables vary with respect to time.</p>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "TRANSIENT" : "#/components/schemas/Simulation.TransientTimeDependency",
            "STATIONARY" : "#/components/schemas/Simulation.StationaryTimeDependency"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.TransientTimeDependency"
        }, {
          "$ref" : "#/components/schemas/Simulation.StationaryTimeDependency"
        } ],
        "default" : {
          "type" : "STATIONARY"
        }
      },
      "Simulation.OneOf_ThermalMechanicalConnectionGroups" : {
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "CONTACT" : "#/components/schemas/Simulation.Contact",
            "PHYSICAL_CONTACT_V36" : "#/components/schemas/Simulation.PhysicalContact"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.Contact"
        }, {
          "$ref" : "#/components/schemas/Simulation.PhysicalContact"
        } ]
      },
      "Simulation.OneOf_ThermalMechanicalBoundaryConditions" : {
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "BOLT_PRELOAD" : "#/components/schemas/Simulation.BoltPreloadBC",
            "ELASTIC_SUPPORT" : "#/components/schemas/Simulation.ElasticSupportBC",
            "FIXED_SUPPORT" : "#/components/schemas/Simulation.FixedSupportBC",
            "FIXED_VALUE" : "#/components/schemas/Simulation.FixedValueBC",
            "FIXED_TEMPERATURE_VALUE" : "#/components/schemas/Simulation.FixedTemperatureValueBC",
            "POINT_MASS" : "#/components/schemas/Simulation.PointMassBC",
            "DISTRIBUTED_MASS" : "#/components/schemas/Simulation.DistributedMassBC",
            "REMOTE_DISPLACEMENT_LOAD" : "#/components/schemas/Simulation.RemoteDisplacementLoadBC",
            "ROTATING_MOTION" : "#/components/schemas/Simulation.RotatingMotionBC",
            "SYMMETRY_PLANE" : "#/components/schemas/Simulation.SymmetryPlaneBC",
            "CYCLIC_SYMMETRY" : "#/components/schemas/Simulation.CyclicSymmetryBC",
            "CENTRIFUGAL_FORCE" : "#/components/schemas/Simulation.CentrifugalForceBC",
            "FOLLOWER_PRESSURE" : "#/components/schemas/Simulation.FollowerPressureBC",
            "FORCE_LOAD" : "#/components/schemas/Simulation.ForceLoadBC",
            "NODAL_LOAD" : "#/components/schemas/Simulation.NodalLoadBC",
            "PRESSURE" : "#/components/schemas/Simulation.PressureBC",
            "REMOTE_FORCE_LOAD" : "#/components/schemas/Simulation.RemoteForceLoadBC",
            "SURFACE_LOAD" : "#/components/schemas/Simulation.SurfaceLoadBC",
            "VOLUME_LOAD" : "#/components/schemas/Simulation.VolumeLoadBC",
            "SURFACE_HEAT_FLUX" : "#/components/schemas/Simulation.SurfaceHeatFluxBC",
            "CONVECTIVE_HEAT_FLUX" : "#/components/schemas/Simulation.ConvectiveHeatFluxBC",
            "VOLUME_HEAT_FLUX" : "#/components/schemas/Simulation.VolumeHeatFluxBC"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.BoltPreloadBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.ElasticSupportBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.FixedSupportBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.FixedValueBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.FixedTemperatureValueBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.PointMassBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.DistributedMassBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.RemoteDisplacementLoadBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.RotatingMotionBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.SymmetryPlaneBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.CyclicSymmetryBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.CentrifugalForceBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.FollowerPressureBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.ForceLoadBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.NodalLoadBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.PressureBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.RemoteForceLoadBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.SurfaceLoadBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.VolumeLoadBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.SurfaceHeatFluxBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.ConvectiveHeatFluxBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.VolumeHeatFluxBC"
        } ]
      },
      "Simulation.OneOf_PartialVectorFunctionX" : {
        "title" : "X",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "PRESCRIBED" : "#/components/schemas/Simulation.PrescribedOptionalFunction",
            "UNCONSTRAINED" : "#/components/schemas/Simulation.UnconstrainedOptionalFunction"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.PrescribedOptionalFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.UnconstrainedOptionalFunction"
        } ]
      },
      "Simulation.OneOf_PartialVectorFunctionY" : {
        "title" : "Y",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "PRESCRIBED" : "#/components/schemas/Simulation.PrescribedOptionalFunction",
            "UNCONSTRAINED" : "#/components/schemas/Simulation.UnconstrainedOptionalFunction"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.PrescribedOptionalFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.UnconstrainedOptionalFunction"
        } ]
      },
      "Simulation.OneOf_PartialVectorFunctionZ" : {
        "title" : "Z",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "PRESCRIBED" : "#/components/schemas/Simulation.PrescribedOptionalFunction",
            "UNCONSTRAINED" : "#/components/schemas/Simulation.UnconstrainedOptionalFunction"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.PrescribedOptionalFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.UnconstrainedOptionalFunction"
        } ]
      },
      "Simulation.OneOf_FlowRateInletVBCFlowRate" : {
        "title" : "Flow rate type",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "MASS" : "#/components/schemas/Simulation.MassFlow",
            "VOLUMETRIC" : "#/components/schemas/Simulation.VolumetricFlow"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.MassFlow"
        }, {
          "$ref" : "#/components/schemas/Simulation.VolumetricFlow"
        } ],
        "default" : {
          "type" : "MASS"
        }
      },
      "Simulation.OneOf_CoupledConjugateHeatTransferMaterialsFluids" : {
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "INCOMPRESSIBLE" : "#/components/schemas/Simulation.IncompressibleMaterial",
            "COMPRESSIBLE" : "#/components/schemas/Simulation.FluidCompressibleMaterial"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.IncompressibleMaterial"
        }, {
          "$ref" : "#/components/schemas/Simulation.FluidCompressibleMaterial"
        } ]
      },
      "Simulation.OneOf_ConstCrossPlaneOrthotropicTransportOrientation" : {
        "title" : "Orientation",
        "description" : "<p>Defines the direction on which the thermal conductivity will act:<br> <ul><li><strong>x-, y-, z-Axis</strong>: the cross-plane conductivity acts along the selected coordinate axis and the in-plane conductivity acts on the plane orthogonal to that axis.</li><li><strong>Custom</strong>: the cross-plane conductivity is aligned with the cross-plane orientation defined by the X, Y, Z components, and the in-plane conductivity acts on the plane orthogonal to the cross-plane orientation.</li></ul></p>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "XAXIS" : "#/components/schemas/Simulation.XAxis",
            "YAXIS" : "#/components/schemas/Simulation.YAxis",
            "ZAXIS" : "#/components/schemas/Simulation.ZAxis",
            "CROSS_PLANE" : "#/components/schemas/Simulation.CrossPlaneCustomOrientation"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.XAxis"
        }, {
          "$ref" : "#/components/schemas/Simulation.YAxis"
        }, {
          "$ref" : "#/components/schemas/Simulation.ZAxis"
        }, {
          "$ref" : "#/components/schemas/Simulation.CrossPlaneCustomOrientation"
        } ],
        "default" : {
          "type" : "ZAXIS"
        }
      },
      "Simulation.OneOf_NewRegionRefinementPacefishV38MeshSizing" : {
        "title" : "Sizing",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "AUTOMATIC" : "#/components/schemas/Simulation.AutomaticMeshSizing",
            "MANUAL_REGION_PACEFISH" : "#/components/schemas/Simulation.ManualRegionSizingPacefish"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.AutomaticMeshSizing"
        }, {
          "$ref" : "#/components/schemas/Simulation.ManualRegionSizingPacefish"
        } ]
      },
      "Simulation.OneOf_DarcyMediumPorousMaterialType" : {
        "title" : "Porous material type",
        "description" : "Select the porous material behavior: <p><ul><li><b>Homogeneous:</b> Uniform resistance to fluid flow in all directions.</li><li><b>Directional:</b> Resistance to fluid flow in one or two directions.</li></ul></p>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "HOMOGENEOUS" : "#/components/schemas/Simulation.HomogeneousMaterialStructure",
            "DIRECTIONAL" : "#/components/schemas/Simulation.DirectionalMaterialStructure"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.HomogeneousMaterialStructure"
        }, {
          "$ref" : "#/components/schemas/Simulation.DirectionalMaterialStructure"
        } ],
        "default" : {
          "type" : "HOMOGENEOUS"
        }
      },
      "Simulation.OneOf_PrandtlLesDeltaDeltaCoefficient" : {
        "title" : "Delta coefficient",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "SMOOTH" : "#/components/schemas/Simulation.SmoothLesDelta",
            "CUBE_ROOT_VOL" : "#/components/schemas/Simulation.CubeRootVolLesDelta"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.SmoothLesDelta"
        }, {
          "$ref" : "#/components/schemas/Simulation.CubeRootVolLesDelta"
        } ],
        "default" : {
          "type" : "CUBE_ROOT_VOL"
        }
      },
      "Simulation.OneOf_PlasticityMarcPlasticityModel" : {
        "title" : "Plasticity model",
        "description" : "This setting defines how the post-yield behavior is mathematically represented; <b>Bilinear</b> uses a single tangent modulus for simplified hardening, while <b>Multilinear</b> allows for a precise fit of experimental data points.",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "BILINEAR" : "#/components/schemas/Simulation.BilinearModelMarc",
            "MULTILINEAR" : "#/components/schemas/Simulation.MultilinearModelMarc"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.BilinearModelMarc"
        }, {
          "$ref" : "#/components/schemas/Simulation.MultilinearModelMarc"
        } ],
        "default" : {
          "type" : "BILINEAR"
        }
      },
      "Simulation.OneOf_SolarCalculatorSunDirection" : {
        "title" : "Sun direction",
        "description" : "<p><b>Sun direction</b> in the solar radiation model.</p> <ul><li><b>Custom:</b> Define the sun direction vector directly.</li><li><b>Time and place:</b> Set the sun direction by defining a location, a date and a time. This assumes the Z-vector to point upwards into the sky.</li></ul>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "TIME_AND_PLACE" : "#/components/schemas/Simulation.TimeAndPlaceSunDirection",
            "CUSTOM_SOLAR_DIRECTION" : "#/components/schemas/Simulation.CustomSunDirection"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.TimeAndPlaceSunDirection"
        }, {
          "$ref" : "#/components/schemas/Simulation.CustomSunDirection"
        } ],
        "default" : {
          "type" : "CUSTOM_SOLAR_DIRECTION"
        }
      },
      "Simulation.OneOf_SolarCalculatorSolarLoad" : {
        "title" : "Solar load",
        "description" : "<p><b>Solar load</b> in solar radiation model. <b>Diffuse solar load</b> affects all walls with a derived heat flux boundary condition externally if the outer surface absorptivity is greater than  zero. <b>Direct solar load</b> affects all walls either externally or internally if these are not shadowed by other walls, are non-transparent and have an absorptivity greater than zero. </p> <ul><li><b>Custom:</b> Define diffusive and directed solar load directly.</li><li><b>Fair weather conditions:</b> Define the external and internal solar load by a number of coefficients in the Fair weather condtions model.This assumes the Z-vector to point upwards into the sky.</li></ul>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "CUSTOM_SOLAR_LOAD" : "#/components/schemas/Simulation.CustomSolarLoad",
            "FAIR_WEATHER_CONDITIONS" : "#/components/schemas/Simulation.FairWeatherConditions"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.CustomSolarLoad"
        }, {
          "$ref" : "#/components/schemas/Simulation.FairWeatherConditions"
        } ],
        "default" : {
          "type" : "CUSTOM_SOLAR_LOAD"
        }
      },
      "Simulation.OneOf_LinearElasticMarcMaterialBehaviorPoissonsRatio" : {
        "title" : "(ν) Poisson's ratio",
        "maximum" : 0.5,
        "exclusiveMaximum" : true,
        "minimum" : -1.0,
        "exclusiveMinimum" : true,
        "description" : "<p>Provide the <i>Poisson's ratio</i> value which describes the compression or elongation of a material transverse to axial strain. <i>Poisson's ratio</i> can have a value within range from -1 to 0.5. </p><br /><b>Important remarks:</b><br /> <ul><li>Value less than 0 means that material is auxetic.</li><li>Most of the metals such as steel and aluminum have value between 0.2 to 0.35 and are considered compressible.<li>Value of 0.5 means that the material is incompressible such as rubber and some types of foams. Please avoid giving this value since it leads to convergence problem. You can give 0.499 rather than 0.5.</li></ul>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "CONSTANT" : "#/components/schemas/Simulation.ConstantFunction",
            "EXPRESSION" : "#/components/schemas/Simulation.ExpressionFunction",
            "POLYNOMIAL" : "#/components/schemas/Simulation.PolynomialFunction",
            "TABLE_DEFINED" : "#/components/schemas/Simulation.TableDefinedFunction"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.ConstantFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.ExpressionFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.PolynomialFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.TableDefinedFunction"
        } ]
      },
      "Simulation.OneOf_DimensionalFunction_PowerValue" : {
        "title" : "Value",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "CONSTANT" : "#/components/schemas/Simulation.ConstantFunction",
            "EXPRESSION" : "#/components/schemas/Simulation.ExpressionFunction",
            "POLYNOMIAL" : "#/components/schemas/Simulation.PolynomialFunction",
            "TABLE_DEFINED" : "#/components/schemas/Simulation.TableDefinedFunction"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.ConstantFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.ExpressionFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.PolynomialFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.TableDefinedFunction"
        } ]
      },
      "Simulation.OneOf_MarcNonlinearSolverSettingsConvergenceMethod" : {
        "title" : "Convergence method",
        "description" : "<p>Selects the physical quantity used to determine if the simulation has converged. The force residual or the displacement changes must satisfy their respective tolerances.</p><ul><li><b>Displacement:</b> Monitors the change in nodal displacements between iterations; convergence is achieved when displacements stabilize.</li><li><b>Force:</b> Monitors the force residuals; convergence is achieved when the out-of-balance force residuals become small enough relative to the applied loads.</li><li><b>Both:</b> Both the force residual and displacement changes must satisfy their respective tolerances.</li></ul>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "RESIDUALS" : "#/components/schemas/Simulation.ResidualsConvergenceMethod",
            "DISPLACEMENTS" : "#/components/schemas/Simulation.DisplacementsConvergenceMethod",
            "STRAIN_ENERGY" : "#/components/schemas/Simulation.StrainEnergyConvergenceMethod",
            "RESIDUALS_OR_DISPLACEMENTS" : "#/components/schemas/Simulation.ResidualsOrDisplacementsConvergenceMethod"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.ResidualsConvergenceMethod"
        }, {
          "$ref" : "#/components/schemas/Simulation.DisplacementsConvergenceMethod"
        }, {
          "$ref" : "#/components/schemas/Simulation.StrainEnergyConvergenceMethod"
        }, {
          "$ref" : "#/components/schemas/Simulation.ResidualsOrDisplacementsConvergenceMethod"
        } ],
        "default" : {
          "type" : "RESIDUALS_OR_DISPLACEMENTS"
        }
      },
      "Simulation.OneOf_SolidMaterialMaterialBehavior" : {
        "title" : "Material behavior",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "LINEAR_ELASTIC" : "#/components/schemas/Simulation.LinearElasticMaterialBehavior",
            "HYPER_ELASTIC" : "#/components/schemas/Simulation.HyperElasticMaterialBehavior",
            "PLASTIC" : "#/components/schemas/Simulation.PlasticMaterialBehavior"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.LinearElasticMaterialBehavior"
        }, {
          "$ref" : "#/components/schemas/Simulation.HyperElasticMaterialBehavior"
        }, {
          "$ref" : "#/components/schemas/Simulation.PlasticMaterialBehavior"
        } ],
        "default" : {
          "type" : "LINEAR_ELASTIC"
        },
        "x-showWhen" : [ "type in [STATIC_ANALYSIS,DYNAMIC_ANALYSIS,HARMONIC_ANALYSIS,FREQUENCY_ANALYSIS,THERMAL_MECHANICAL]" ]
      },
      "Simulation.OneOf_SolidMaterialConductivity" : {
        "title" : "Conductivity",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "ISOTROPIC" : "#/components/schemas/Simulation.IsotropicConductivity",
            "ORTHOTROPIC" : "#/components/schemas/Simulation.OrthotropicConductivity"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.IsotropicConductivity"
        }, {
          "$ref" : "#/components/schemas/Simulation.OrthotropicConductivity"
        } ],
        "default" : {
          "type" : "ISOTROPIC"
        },
        "x-showWhen" : [ "type in [HEAT_TRANSFER,THERMAL_MECHANICAL]" ]
      },
      "Simulation.OneOf_PressureLossCurvePorousMediaHeatTransfer" : {
        "title" : "Heat transfer",
        "description" : "The heat transfer modelling inside the porous media matrix:<br><li><b>Fluid only</b>: This model uses exclusively the fluid thermal properties in the porous media region. <li><b>Effective conductivity</b>: This model takes the effective thermal conductivity for the fluid-solid porous matrix as a constant value or a tabulated velocity function.",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "FLUID_ONLY_HEAT_TRANSFER" : "#/components/schemas/Simulation.FluidOnlyHeatTransfer",
            "EFFECTIVE_CONDUCTIVITY_HEAT_TRANSFER" : "#/components/schemas/Simulation.EffectiveConductivityHeatTransfer"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.FluidOnlyHeatTransfer"
        }, {
          "$ref" : "#/components/schemas/Simulation.EffectiveConductivityHeatTransfer"
        } ],
        "default" : {
          "type" : "FLUID_ONLY_HEAT_TRANSFER"
        },
        "x-showWhen" : [ "type in [COUPLED_CONJUGATE_HEAT_TRANSFER,EMBEDDED_BOUNDARY]" ]
      },
      "Simulation.OneOf_DimensionalFunction_TimeValue" : {
        "title" : "Value",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "CONSTANT" : "#/components/schemas/Simulation.ConstantFunction",
            "EXPRESSION" : "#/components/schemas/Simulation.ExpressionFunction",
            "POLYNOMIAL" : "#/components/schemas/Simulation.PolynomialFunction",
            "TABLE_DEFINED" : "#/components/schemas/Simulation.TableDefinedFunction"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.ConstantFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.ExpressionFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.PolynomialFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.TableDefinedFunction"
        } ]
      },
      "Simulation.OneOf_CustomFluidBCVelocity" : {
        "title" : "Velocity type",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "ADVECTIVE" : "#/components/schemas/Simulation.AdvectiveVBC",
            "SYMMETRY" : "#/components/schemas/Simulation.SymmetryVBC",
            "FIXED_GRADIENT" : "#/components/schemas/Simulation.FixedGradientVBC",
            "FIXED_VALUE" : "#/components/schemas/Simulation.FixedValueVBC",
            "FIXED_MEAN" : "#/components/schemas/Simulation.MeanValueVBC",
            "FLOW_RATE_INLET_VELOCITY" : "#/components/schemas/Simulation.FlowRateInletVBC",
            "FLOW_RATE_MEAN_INLET_VELOCITY" : "#/components/schemas/Simulation.FlowRateMeanInletVBC",
            "FREESTREAM" : "#/components/schemas/Simulation.FreestreamVBC",
            "INLET_OUTLET" : "#/components/schemas/Simulation.InletOutletVBC",
            "MOVING_WALL_VELOCITY" : "#/components/schemas/Simulation.MovingWallVBC",
            "NO_SLIP" : "#/components/schemas/Simulation.NoSlipVBC",
            "OUTLET_MEAN_PHASE" : "#/components/schemas/Simulation.OutletMeanPhaseVBC",
            "PRESSURE_INLET_VELOCITY" : "#/components/schemas/Simulation.PressureInletVBC",
            "PRESSURE_INLET_OUTLET_VELOCITY" : "#/components/schemas/Simulation.PressureInletOutletVBC",
            "ROTATING_WALL_VELOCITY" : "#/components/schemas/Simulation.RotatingWallVBC",
            "ZERO_GRADIENT" : "#/components/schemas/Simulation.ZeroGradientVBC",
            "SLIP" : "#/components/schemas/Simulation.SlipVBC"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.AdvectiveVBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.SymmetryVBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.FixedGradientVBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.FixedValueVBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.MeanValueVBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.FlowRateInletVBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.FlowRateMeanInletVBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.FreestreamVBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.InletOutletVBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.MovingWallVBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.NoSlipVBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.OutletMeanPhaseVBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.PressureInletVBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.PressureInletOutletVBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.RotatingWallVBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.ZeroGradientVBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.SlipVBC"
        } ],
        "default" : {
          "type" : "NO_SLIP"
        }
      },
      "Simulation.OneOf_CustomFluidBCPressure" : {
        "title" : "Pressure type",
        "description" : "Please choose a boundary condition for pressure (p). <a href='https://www.simscale.com/docs/simulation-setup/boundary-conditions/pressure-inlet-and-pressure-outlet/' target='_blank'>Learn more</a>.",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "ADVECTIVE" : "#/components/schemas/Simulation.AdvectivePBC",
            "SYMMETRY" : "#/components/schemas/Simulation.SymmetryPBC",
            "FAN_PRESSURE" : "#/components/schemas/Simulation.FanPBC",
            "FIXED_GRADIENT" : "#/components/schemas/Simulation.FixedGradientPBC",
            "FIXED_VALUE" : "#/components/schemas/Simulation.FixedValuePBC",
            "FREESTREAM" : "#/components/schemas/Simulation.FreestreamPBC",
            "FIXED_MEAN" : "#/components/schemas/Simulation.MeanValuePBC",
            "ZERO_GRADIENT" : "#/components/schemas/Simulation.ZeroGradientPBC",
            "TOTAL_PRESSURE" : "#/components/schemas/Simulation.TotalPBC",
            "WAVE_TRANSMISSIVE" : "#/components/schemas/Simulation.WaveTransmissivePBC",
            "HYDROSTATIC_ISOTHERMAL_FAN_PRESSURE" : "#/components/schemas/Simulation.HydrostaticFanPBC"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.AdvectivePBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.SymmetryPBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.FanPBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.FixedGradientPBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.FixedValuePBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.FreestreamPBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.MeanValuePBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.ZeroGradientPBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.TotalPBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.WaveTransmissivePBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.HydrostaticFanPBC"
        } ],
        "default" : {
          "type" : "ZERO_GRADIENT"
        },
        "x-showWhen" : [ "type == COMPRESSIBLE" ]
      },
      "Simulation.OneOf_CustomFluidBCPressureRgh" : {
        "title" : "Pressure type",
        "description" : "Please choose a boundary condition for modified pressure (p_rgh). <a href='https://www.simscale.com/docs/simulation-setup/boundary-conditions/pressure-inlet-and-pressure-outlet/' target='_blank'>Learn more</a>.",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "SYMMETRY" : "#/components/schemas/Simulation.SymmetryPBC",
            "FAN_PRESSURE" : "#/components/schemas/Simulation.FanPBC",
            "FIXED_FLUX_PRESSURE" : "#/components/schemas/Simulation.FixedFluxPBC",
            "FIXED_GRADIENT" : "#/components/schemas/Simulation.FixedGradientPBC",
            "FIXED_VALUE" : "#/components/schemas/Simulation.FixedValuePBC",
            "FREESTREAM" : "#/components/schemas/Simulation.FreestreamPBC",
            "FIXED_MEAN" : "#/components/schemas/Simulation.MeanValuePBC",
            "ZERO_GRADIENT" : "#/components/schemas/Simulation.ZeroGradientPBC",
            "TOTAL_PRESSURE" : "#/components/schemas/Simulation.TotalPBC",
            "HYDROSTATIC_ISOTHERMAL_FAN_PRESSURE" : "#/components/schemas/Simulation.HydrostaticFanPBC"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.SymmetryPBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.FanPBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.FixedFluxPBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.FixedGradientPBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.FixedValuePBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.FreestreamPBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.MeanValuePBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.ZeroGradientPBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.TotalPBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.HydrostaticFanPBC"
        } ],
        "default" : {
          "type" : "FIXED_FLUX_PRESSURE"
        },
        "x-showWhen" : [ "type == CONVECTIVE_HEAT_TRANSFER && isCompressible == true", "type in [CONJUGATE_HEAT_TRANSFER,MULTIPHASE]" ]
      },
      "Simulation.OneOf_CustomFluidBCGaugePressure" : {
        "title" : "Pressure type",
        "description" : "Please choose a boundary condition for gauge pressure (p). <a href='https://www.simscale.com/docs/simulation-setup/boundary-conditions/pressure-inlet-and-pressure-outlet/' target='_blank'>Learn more</a>.",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "SYMMETRY" : "#/components/schemas/Simulation.SymmetryPBC",
            "FAN_PRESSURE" : "#/components/schemas/Simulation.FanPBC",
            "FIXED_GRADIENT" : "#/components/schemas/Simulation.FixedGradientPBC",
            "FIXED_VALUE" : "#/components/schemas/Simulation.FixedValuePBC",
            "FREESTREAM" : "#/components/schemas/Simulation.FreestreamPBC",
            "FIXED_MEAN" : "#/components/schemas/Simulation.MeanValuePBC",
            "ZERO_GRADIENT" : "#/components/schemas/Simulation.ZeroGradientPBC",
            "TOTAL_PRESSURE" : "#/components/schemas/Simulation.TotalPBC",
            "HYDROSTATIC_ISOTHERMAL_FAN_PRESSURE" : "#/components/schemas/Simulation.HydrostaticFanPBC"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.SymmetryPBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.FanPBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.FixedGradientPBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.FixedValuePBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.FreestreamPBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.MeanValuePBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.ZeroGradientPBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.TotalPBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.HydrostaticFanPBC"
        } ],
        "default" : {
          "type" : "ZERO_GRADIENT"
        },
        "x-showWhen" : [ "type == INCOMPRESSIBLE" ]
      },
      "Simulation.OneOf_CustomFluidBCGaugePressureRgh" : {
        "title" : "Pressure type",
        "description" : "Please choose a boundary condition for modified gauge pressure (p_rgh). <a href='https://www.simscale.com/docs/simulation-setup/boundary-conditions/pressure-inlet-and-pressure-outlet/' target='_blank'>Learn more</a>.",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "SYMMETRY" : "#/components/schemas/Simulation.SymmetryPBC",
            "FAN_PRESSURE" : "#/components/schemas/Simulation.FanPBC",
            "FIXED_FLUX_PRESSURE" : "#/components/schemas/Simulation.FixedFluxPBC",
            "FIXED_GRADIENT" : "#/components/schemas/Simulation.FixedGradientPBC",
            "FIXED_VALUE" : "#/components/schemas/Simulation.FixedValuePBC",
            "FREESTREAM" : "#/components/schemas/Simulation.FreestreamPBC",
            "FIXED_MEAN" : "#/components/schemas/Simulation.MeanValuePBC",
            "ZERO_GRADIENT" : "#/components/schemas/Simulation.ZeroGradientPBC",
            "TOTAL_PRESSURE" : "#/components/schemas/Simulation.TotalPBC",
            "HYDROSTATIC_ISOTHERMAL_FAN_PRESSURE" : "#/components/schemas/Simulation.HydrostaticFanPBC"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.SymmetryPBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.FanPBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.FixedFluxPBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.FixedGradientPBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.FixedValuePBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.FreestreamPBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.MeanValuePBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.ZeroGradientPBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.TotalPBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.HydrostaticFanPBC"
        } ],
        "default" : {
          "type" : "FIXED_FLUX_PRESSURE"
        },
        "x-showWhen" : [ "type == CONVECTIVE_HEAT_TRANSFER && isCompressible == false" ]
      },
      "Simulation.OneOf_CustomFluidBCTemperature" : {
        "title" : "Temperature type",
        "description" : "Please choose a boundary condition for temperature (T).",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "EXTERNAL_WALL_HEAT_FLUX_TEMPERATURE" : "#/components/schemas/Simulation.ExternalWallHeatFluxTBC",
            "FIXED_GRADIENT" : "#/components/schemas/Simulation.FixedGradientTBC",
            "FIXED_VALUE" : "#/components/schemas/Simulation.FixedValueTBC",
            "INLET_OUTLET" : "#/components/schemas/Simulation.InletOutletTBC",
            "ADIABATIC" : "#/components/schemas/Simulation.AdiabaticTBC",
            "SYMMETRY" : "#/components/schemas/Simulation.SymmetryTBC",
            "TOTAL_TEMPERATURE" : "#/components/schemas/Simulation.TotalTBC",
            "TURBULENT_HEAT_FLUX_TEMPERATURE" : "#/components/schemas/Simulation.TurbulentHeatFluxTBC",
            "WALL_HEAT_TRANSFER" : "#/components/schemas/Simulation.WallHeatTransferTBC"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.ExternalWallHeatFluxTBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.FixedGradientTBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.FixedValueTBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.InletOutletTBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.AdiabaticTBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.SymmetryTBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.TotalTBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.TurbulentHeatFluxTBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.WallHeatTransferTBC"
        } ],
        "default" : {
          "type" : "FIXED_VALUE"
        },
        "x-showWhen" : [ "type in [COMPRESSIBLE,CONJUGATE_HEAT_TRANSFER,CONVECTIVE_HEAT_TRANSFER]" ]
      },
      "Simulation.OneOf_CustomFluidBCTurbulentKineticEnergy" : {
        "title" : "Turb. kinetic energy type",
        "description" : "Please choose a boundary condition for turbulent kinetic energy (k).",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "SYMMETRY" : "#/components/schemas/Simulation.SymmetryTKEBC",
            "FIXED_GRADIENT" : "#/components/schemas/Simulation.FixedGradientTKEBC",
            "FIXED_VALUE" : "#/components/schemas/Simulation.FixedValueTKEBC",
            "INLET_OUTLET" : "#/components/schemas/Simulation.InletOutletTKEBC",
            "ZERO_GRADIENT" : "#/components/schemas/Simulation.ZeroGradientTKEBC",
            "TURBULENT_INTENSITY_KINETIC_ENERGY_INLET" : "#/components/schemas/Simulation.IntensityKineticEnergyInletTKEBC",
            "WALL_FUNCTION" : "#/components/schemas/Simulation.WallFunctionTKEBC",
            "FULL_RESOLUTION" : "#/components/schemas/Simulation.FullResolutionTKEBC"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.SymmetryTKEBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.FixedGradientTKEBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.FixedValueTKEBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.InletOutletTKEBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.ZeroGradientTKEBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.IntensityKineticEnergyInletTKEBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.WallFunctionTKEBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.FullResolutionTKEBC"
        } ],
        "default" : {
          "type" : "WALL_FUNCTION"
        },
        "x-showWhen" : [ "type == INCOMPRESSIBLE && turbulenceModel in [KEPSILON,KOMEGA,KOMEGASST,REALIZABLEKE]", "type == MULTIPHASE && turbulenceModel in [KEPSILON,KOMEGA,KOMEGASST]", "type in [COMPRESSIBLE,CONJUGATE_HEAT_TRANSFER,CONVECTIVE_HEAT_TRANSFER] && turbulenceModel in [KEPSILON,KOMEGASST]" ]
      },
      "Simulation.OneOf_CustomFluidBCOmegaDissipationRate" : {
        "title" : "Specific dissipation rate type",
        "description" : "Specific dissipation rate (omega) represents the specific rate of dissipation of turbulent kinetic energy (k). <a href='https://www.simscale.com/docs/simulation-setup/global-settings/k-omega-sst/' target='_blank'>Learn more</a>.",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "SYMMETRY" : "#/components/schemas/Simulation.SymmetryOBC",
            "FIXED_GRADIENT" : "#/components/schemas/Simulation.FixedGradientOBC",
            "FIXED_VALUE" : "#/components/schemas/Simulation.FixedValueOBC",
            "INLET_OUTLET" : "#/components/schemas/Simulation.InletOutletOBC",
            "ZERO_GRADIENT" : "#/components/schemas/Simulation.ZeroGradientOBC",
            "WALL_FUNCTION" : "#/components/schemas/Simulation.WallFunctionOBC",
            "FULL_RESOLUTION" : "#/components/schemas/Simulation.FullResolutionOBC"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.SymmetryOBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.FixedGradientOBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.FixedValueOBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.InletOutletOBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.ZeroGradientOBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.WallFunctionOBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.FullResolutionOBC"
        } ],
        "default" : {
          "type" : "WALL_FUNCTION"
        },
        "x-showWhen" : [ "type in [INCOMPRESSIBLE,MULTIPHASE] && turbulenceModel in [KOMEGA,KOMEGASST]", "type in [COMPRESSIBLE,CONJUGATE_HEAT_TRANSFER,CONVECTIVE_HEAT_TRANSFER] && turbulenceModel == KOMEGASST" ]
      },
      "Simulation.OneOf_CustomFluidBCEpsilonDissipationRate" : {
        "title" : "Dissipation rate type",
        "description" : "Dissipation rate (epsilon) represents the rate of dissipation of turbulent kinetic energy (k). <a href='https://www.simscale.com/docs/simulation-setup/global-settings/k-epsilon/' target='_blank'>Learn more</a>.",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "SYMMETRY" : "#/components/schemas/Simulation.SymmetryEBC",
            "FIXED_GRADIENT" : "#/components/schemas/Simulation.FixedGradientEBC",
            "FIXED_VALUE" : "#/components/schemas/Simulation.FixedValueEBC",
            "INLET_OUTLET" : "#/components/schemas/Simulation.InletOutletEBC",
            "TURBULENCE_MIXING_LENGTH_DISSIPATION_RATE_INLET" : "#/components/schemas/Simulation.MixingLengthInletEBC",
            "ZERO_GRADIENT" : "#/components/schemas/Simulation.ZeroGradientEBC",
            "WALL_FUNCTION" : "#/components/schemas/Simulation.WallFunctionEBC",
            "FULL_RESOLUTION" : "#/components/schemas/Simulation.FullResolutionEBC"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.SymmetryEBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.FixedGradientEBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.FixedValueEBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.InletOutletEBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.MixingLengthInletEBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.ZeroGradientEBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.WallFunctionEBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.FullResolutionEBC"
        } ],
        "default" : {
          "type" : "WALL_FUNCTION"
        },
        "x-showWhen" : [ "type == INCOMPRESSIBLE && turbulenceModel in [KEPSILON,REALIZABLEKE]", "type in [COMPRESSIBLE,CONJUGATE_HEAT_TRANSFER,CONVECTIVE_HEAT_TRANSFER,MULTIPHASE] && turbulenceModel == KEPSILON" ]
      },
      "Simulation.OneOf_CustomFluidBCEddyViscosity" : {
        "title" : "(ν<t>) Eddy viscosity",
        "description" : "Dynamic eddy viscosity (muSgs) is a sub-grid scale viscosity used to model the unresolved turbulent eddies in Large Eddy Simulations. Choose a boundary type.",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "CALCULATED" : "#/components/schemas/Simulation.CalculatedEVBC",
            "SYMMETRY" : "#/components/schemas/Simulation.SymmetryEVBC",
            "FIXED_GRADIENT" : "#/components/schemas/Simulation.FixedGradientEVBC",
            "FIXED_VALUE" : "#/components/schemas/Simulation.FixedValueEVBC",
            "INLET_OUTLET" : "#/components/schemas/Simulation.InletOutletEVBC",
            "ZERO_GRADIENT" : "#/components/schemas/Simulation.ZeroGradientEVBC",
            "WALL_FUNCTION" : "#/components/schemas/Simulation.WallFunctionEVBC",
            "FULL_RESOLUTION" : "#/components/schemas/Simulation.FullResolutionEVBC"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.CalculatedEVBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.SymmetryEVBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.FixedGradientEVBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.FixedValueEVBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.InletOutletEVBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.ZeroGradientEVBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.WallFunctionEVBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.FullResolutionEVBC"
        } ],
        "default" : {
          "type" : "WALL_FUNCTION"
        },
        "x-showWhen" : [ "type in [INCOMPRESSIBLE,MULTIPHASE] && turbulenceModel in [SMAGORINSKY,SPALARTALLMARAS]", "type == CONVECTIVE_HEAT_TRANSFER && turbulenceModel in [SMAGORINSKY,SPALARTALLMARAS] && isCompressible == false" ]
      },
      "Simulation.OneOf_CustomFluidBCEddyViscosityCompressible" : {
        "title" : "(ν<t>) Eddy viscosity",
        "description" : "Dissipation rate (epsilon) represents the rate of dissipation of turbulent kinetic energy (k). <a href='https://www.simscale.com/docs/simulation-setup/global-settings/k-epsilon/' target='_blank'>Learn more</a>.",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "CALCULATED" : "#/components/schemas/Simulation.CalculatedEVCBC",
            "SYMMETRY" : "#/components/schemas/Simulation.SymmetryEVCBC",
            "FIXED_GRADIENT" : "#/components/schemas/Simulation.FixedGradientEVCBC",
            "FIXED_VALUE" : "#/components/schemas/Simulation.FixedValueEVCBC",
            "INLET_OUTLET" : "#/components/schemas/Simulation.InletOutletEVCBC",
            "ZERO_GRADIENT" : "#/components/schemas/Simulation.ZeroGradientEVCBC",
            "WALL_FUNCTION" : "#/components/schemas/Simulation.WallFunctionEVCBC",
            "FULL_RESOLUTION" : "#/components/schemas/Simulation.FullResolutionEVCBC"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.CalculatedEVCBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.SymmetryEVCBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.FixedGradientEVCBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.FixedValueEVCBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.InletOutletEVCBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.ZeroGradientEVCBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.WallFunctionEVCBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.FullResolutionEVCBC"
        } ],
        "default" : {
          "type" : "WALL_FUNCTION"
        },
        "x-showWhen" : [ "type == COMPRESSIBLE && turbulenceModel in [SMAGORINSKY,SPALARTALLMARAS]", "type == CONVECTIVE_HEAT_TRANSFER && turbulenceModel in [SMAGORINSKY,SPALARTALLMARAS] && isCompressible == true", "type == CONJUGATE_HEAT_TRANSFER && turbulenceModel == SMAGORINSKY" ]
      },
      "Simulation.OneOf_CustomFluidBCNuTilda" : {
        "title" : "(ῦ) nuTilda",
        "description" : "nuTilda is a Spalart-Allmaras variable which is a function of eddy viscosity. Choose a boundary type.",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "SYMMETRY" : "#/components/schemas/Simulation.SymmetryNBC",
            "FIXED_GRADIENT" : "#/components/schemas/Simulation.FixedGradientNBC",
            "FIXED_VALUE" : "#/components/schemas/Simulation.FixedValueNBC",
            "INLET_OUTLET" : "#/components/schemas/Simulation.InletOutletNBC",
            "ZERO_GRADIENT" : "#/components/schemas/Simulation.ZeroGradientNBC",
            "WALL_FUNCTION" : "#/components/schemas/Simulation.WallFunctionNBC",
            "FULL_RESOLUTION" : "#/components/schemas/Simulation.FullResolutionNBC"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.SymmetryNBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.FixedGradientNBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.FixedValueNBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.InletOutletNBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.ZeroGradientNBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.WallFunctionNBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.FullResolutionNBC"
        } ],
        "default" : {
          "type" : "WALL_FUNCTION"
        },
        "x-showWhen" : [ "type in [INCOMPRESSIBLE,COMPRESSIBLE,CONVECTIVE_HEAT_TRANSFER,MULTIPHASE] && turbulenceModel == SPALARTALLMARAS" ]
      },
      "Simulation.OneOf_CustomFluidBCTurbulentThermalDiffusivity" : {
        "title" : "(α<t>) Turb. thermal diffusivity",
        "description" : "Dynamic turbulent thermal diffusivity (alpha_t) represents the rate of turbulent heat transfer.",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "CALCULATED" : "#/components/schemas/Simulation.CalculatedTDBC",
            "FIXED_GRADIENT" : "#/components/schemas/Simulation.FixedGradientTDBC",
            "FIXED_VALUE" : "#/components/schemas/Simulation.FixedValueTDBC",
            "ZERO_GRADIENT" : "#/components/schemas/Simulation.ZeroGradientTDBC",
            "SYMMETRY" : "#/components/schemas/Simulation.SymmetryTDBC",
            "WALL_FUNCTION" : "#/components/schemas/Simulation.WallFunctionTDBC",
            "FULL_RESOLUTION" : "#/components/schemas/Simulation.FullResolutionTDBC"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.CalculatedTDBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.FixedGradientTDBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.FixedValueTDBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.ZeroGradientTDBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.SymmetryTDBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.WallFunctionTDBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.FullResolutionTDBC"
        } ],
        "default" : {
          "type" : "WALL_FUNCTION"
        },
        "x-showWhen" : [ "type == COMPRESSIBLE && turbulenceModel in [KEPSILON,KOMEGASST]", "type == CONVECTIVE_HEAT_TRANSFER && isCompressible == false", "type == CONVECTIVE_HEAT_TRANSFER && turbulenceModel in [KEPSILON,KOMEGASST] && isCompressible == true" ]
      },
      "Simulation.OneOf_CustomFluidBCTurbulentThermalDiffusivityCompressible" : {
        "title" : "(α<t>) Turb. thermal diffusivity",
        "description" : "Dynamic turbulent thermal diffusivity (alpha_Sgs) represents the rate of turbulent heat transfer.",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "CALCULATED" : "#/components/schemas/Simulation.CalculatedTDCBC",
            "FIXED_GRADIENT" : "#/components/schemas/Simulation.FixedGradientTDCBC",
            "FIXED_VALUE" : "#/components/schemas/Simulation.FixedValueTDCBC",
            "ZERO_GRADIENT" : "#/components/schemas/Simulation.ZeroGradientTDCBC",
            "SYMMETRY" : "#/components/schemas/Simulation.SymmetryTDCBC",
            "WALL_FUNCTION" : "#/components/schemas/Simulation.WallFunctionTDCBC",
            "FULL_RESOLUTION" : "#/components/schemas/Simulation.FullResolutionTDCBC"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.CalculatedTDCBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.FixedGradientTDCBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.FixedValueTDCBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.ZeroGradientTDCBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.SymmetryTDCBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.WallFunctionTDCBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.FullResolutionTDCBC"
        } ],
        "default" : {
          "type" : "WALL_FUNCTION"
        },
        "x-showWhen" : [ "type == COMPRESSIBLE && turbulenceModel in [SMAGORINSKY,SPALARTALLMARAS]", "type == CONVECTIVE_HEAT_TRANSFER && turbulenceModel in [SMAGORINSKY,SPALARTALLMARAS] && isCompressible == true", "type == CONJUGATE_HEAT_TRANSFER && turbulenceModel == SMAGORINSKY" ]
      },
      "Simulation.OneOf_CustomFluidBCTurbulentDynamicViscosity" : {
        "title" : "(μ<t>) Turb. dynamic viscosity",
        "description" : "Turbulent dynamic viscosity is a model viscosity. It is required to account for the transport and dissipation effects lost in averaging the turbulence. Choose a boundary type.",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "CALCULATED" : "#/components/schemas/Simulation.CalculatedDVBC",
            "FIXED_GRADIENT" : "#/components/schemas/Simulation.FixedGradientDVBC",
            "FIXED_VALUE" : "#/components/schemas/Simulation.FixedValueDVBC",
            "INLET_OUTLET" : "#/components/schemas/Simulation.InletOutletDVBC",
            "ZERO_GRADIENT" : "#/components/schemas/Simulation.ZeroGradientDVBC",
            "SYMMETRY" : "#/components/schemas/Simulation.SymmetryDVBC",
            "WALL_FUNCTION" : "#/components/schemas/Simulation.WallFunctionDVBC",
            "FULL_RESOLUTION" : "#/components/schemas/Simulation.FullResolutionDVBC"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.CalculatedDVBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.FixedGradientDVBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.FixedValueDVBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.InletOutletDVBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.ZeroGradientDVBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.SymmetryDVBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.WallFunctionDVBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.FullResolutionDVBC"
        } ],
        "default" : {
          "type" : "WALL_FUNCTION"
        },
        "x-showWhen" : [ "type == COMPRESSIBLE && turbulenceModel in [KEPSILON,KOMEGASST]", "type == COMPRESSIBLE && turbulenceModel == NONE && timeDependency.type == STATIONARY", "type == COMPRESSIBLE && turbulenceModel == NONE && timeDependency.type == TRANSIENT", "type == CONVECTIVE_HEAT_TRANSFER && turbulenceModel in [NONE,KEPSILON,KOMEGASST] && isCompressible == true" ]
      },
      "Simulation.OneOf_CustomFluidBCPassiveScalars" : {
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "FIXED_GRADIENT" : "#/components/schemas/Simulation.FixedGradientPSBC",
            "FIXED_VALUE" : "#/components/schemas/Simulation.FixedValuePSBC",
            "INLET_OUTLET" : "#/components/schemas/Simulation.InletOutletPSBC",
            "ZERO_GRADIENT" : "#/components/schemas/Simulation.ZeroGradientPSBC",
            "SYMMETRY" : "#/components/schemas/Simulation.SymmetryPSBC"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.FixedGradientPSBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.FixedValuePSBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.InletOutletPSBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.ZeroGradientPSBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.SymmetryPSBC"
        } ],
        "default" : {
          "type" : "ZERO_GRADIENT"
        }
      },
      "Simulation.OneOf_CustomFluidBCPhaseFraction" : {
        "title" : "Phase fraction",
        "description" : "Please choose a boundary condition for phase fraction (alpha).",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "CONSTANT_CONTACT_ANGLE" : "#/components/schemas/Simulation.ConstantContactAnglePFBC",
            "DYNAMIC_CONTACT_ANGLE" : "#/components/schemas/Simulation.DynamicContactAnglePFBC",
            "FIXED_GRADIENT" : "#/components/schemas/Simulation.FixedGradientPFBC",
            "FIXED_VALUE" : "#/components/schemas/Simulation.FixedValuePFBC",
            "FLOW_DEPENDENT_VALUE" : "#/components/schemas/Simulation.FlowDependentValuePFBC",
            "INLET_OUTLET" : "#/components/schemas/Simulation.InletOutletPFBC",
            "ZERO_GRADIENT" : "#/components/schemas/Simulation.ZeroGradientPFBC",
            "SYMMETRY" : "#/components/schemas/Simulation.SymmetryPFBC"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.ConstantContactAnglePFBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.DynamicContactAnglePFBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.FixedGradientPFBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.FixedValuePFBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.FlowDependentValuePFBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.InletOutletPFBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.ZeroGradientPFBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.SymmetryPFBC"
        } ],
        "default" : {
          "type" : "ZERO_GRADIENT"
        },
        "x-showWhen" : [ "type == MULTIPHASE" ]
      },
      "Simulation.OneOf_CustomFluidBCNetRadiativeHeatFlux" : {
        "title" : "Radiative behaviour",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "GREYBODY_DIFFUSIVE" : "#/components/schemas/Simulation.GreybodyDiffusiveRSBC",
            "OPEN_WINDOW" : "#/components/schemas/Simulation.OpenWindowRSBC"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.GreybodyDiffusiveRSBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.OpenWindowRSBC"
        } ],
        "default" : {
          "type" : "GREYBODY_DIFFUSIVE"
        },
        "x-showWhen" : [ "type == CONVECTIVE_HEAT_TRANSFER && enableRadiation == true", "type == CONJUGATE_HEAT_TRANSFER && enableRadiation == true" ]
      },
      "Simulation.OneOf_HarmonicResponseControlExcitationFrequencies" : {
        "title" : "Excitation frequencies",
        "description" : "<p>Frequencies at which the harmonic loads are to be applied and results are to be computed. Define excitation frequencies using one of the following options:<br> <li><b>Single frequency </b>: Harmonic loads are applied at one frequency only.</li><li><b>Frequency list</b>: Harmonic loads are applied across a range of frequencies with either a constant frequency stepping interval or a variable interval defined via a table.</li><li><b>Cluster around modes</b>: Harmonic loads are applied at frequencies clustered around eigenfrequencies.</li><li><b>Cover spectrum</b>: Harmonic loads are applied at frequencies clustered around and in between eigenfrequencies to fully capture the entire spectrum.</li></p>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "SINGLE" : "#/components/schemas/Simulation.SingleFrequency",
            "LIST_V20" : "#/components/schemas/Simulation.FrequencyList",
            "CLUSTER_AROUND_MODES" : "#/components/schemas/Simulation.ClusterAroundModes",
            "COVER_SPECTRUM" : "#/components/schemas/Simulation.CoverSpectrum"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.SingleFrequency"
        }, {
          "$ref" : "#/components/schemas/Simulation.FrequencyList"
        }, {
          "$ref" : "#/components/schemas/Simulation.ClusterAroundModes"
        }, {
          "$ref" : "#/components/schemas/Simulation.CoverSpectrum"
        } ],
        "default" : {
          "type" : "SINGLE"
        }
      },
      "Simulation.OneOf_FlowRateMeanOutletVBCFlowRate" : {
        "title" : "Mean flow rate type",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "MASS" : "#/components/schemas/Simulation.MassFlow",
            "VOLUMETRIC" : "#/components/schemas/Simulation.VolumetricFlow"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.MassFlow"
        }, {
          "$ref" : "#/components/schemas/Simulation.VolumetricFlow"
        } ],
        "default" : {
          "type" : "MASS"
        }
      },
      "Simulation.OneOf_PressureLossFunctionMediumPorousMaterialType" : {
        "title" : "Porous material type",
        "description" : "Select the porous material behavior: <p><ul><li><b>Homogeneous:</b> Uniform resistance to fluid flow in all directions.</li><li><b>Directional:</b> Resistance to fluid flow in one or two directions.</li></ul></p>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "HOMOGENEOUS" : "#/components/schemas/Simulation.HomogeneousMaterialStructure",
            "DIRECTIONAL" : "#/components/schemas/Simulation.DirectionalMaterialStructure"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.HomogeneousMaterialStructure"
        }, {
          "$ref" : "#/components/schemas/Simulation.DirectionalMaterialStructure"
        } ],
        "default" : {
          "type" : "HOMOGENEOUS"
        }
      },
      "Simulation.OneOf_PerforatedPlatePorousMediaHeatTransfer" : {
        "title" : "Heat transfer",
        "description" : "The heat transfer modelling inside the porous media matrix:<br><li><b>Fluid only</b>: This model uses exclusively the fluid thermal properties in the porous media region. <li><b>Effective conductivity</b>: This model takes the effective thermal conductivity for the fluid-solid porous matrix as a constant value or a tabulated velocity function.",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "FLUID_ONLY_HEAT_TRANSFER" : "#/components/schemas/Simulation.FluidOnlyHeatTransfer",
            "EFFECTIVE_CONDUCTIVITY_HEAT_TRANSFER" : "#/components/schemas/Simulation.EffectiveConductivityHeatTransfer"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.FluidOnlyHeatTransfer"
        }, {
          "$ref" : "#/components/schemas/Simulation.EffectiveConductivityHeatTransfer"
        } ],
        "default" : {
          "type" : "FLUID_ONLY_HEAT_TRANSFER"
        },
        "x-showWhen" : [ "type in [COUPLED_CONJUGATE_HEAT_TRANSFER,EMBEDDED_BOUNDARY]" ]
      },
      "Simulation.OneOf_FanBCPressureRgh" : {
        "title" : "Pressure type",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "FAN_PRESSURE" : "#/components/schemas/Simulation.FanPBC",
            "HYDROSTATIC_ISOTHERMAL_FAN_PRESSURE" : "#/components/schemas/Simulation.HydrostaticFanPBC"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.FanPBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.HydrostaticFanPBC"
        } ],
        "x-conditionalHelp" : [ {
          "when" : [ "1/pressureRgh/type == HYDROSTATIC_ISOTHERMAL_FAN_PRESSURE" ]
        } ],
        "x-showWhen" : [ "type == CONVECTIVE_HEAT_TRANSFER && isCompressible == true", "type == COUPLED_CONJUGATE_HEAT_TRANSFER && isCompressible == true", "type == CONJUGATE_HEAT_TRANSFER", "type == EMBEDDED_BOUNDARY && isCompressible == true" ],
        "x-conditionalDefaults" : [ {
          "when" : [ "type in [COUPLED_CONJUGATE_HEAT_TRANSFER,EMBEDDED_BOUNDARY]" ],
          "default" : {
            "type" : "HYDROSTATIC_ISOTHERMAL_FAN_PRESSURE"
          }
        }, {
          "when" : [ "type in [CONJUGATE_HEAT_TRANSFER,CONVECTIVE_HEAT_TRANSFER]" ],
          "default" : {
            "type" : "FAN_PRESSURE"
          }
        } ]
      },
      "Simulation.OneOf_FanBCTurbulence" : {
        "title" : "Turbulence",
        "description" : "These options specify <b>inlet</b> boundary conditions for <b>turbulence quantities</b>: </p><ul><li><p><b>Automatic</b> considers a value of <i>0.05</i> for <b>turbulent intensity</b> (<i>I</i>). The <b>turbulent mixing length </b>(<i>L</i>) is calculated as <i>0.07D<sub>h</sub></i>, where <i>D<sub>h</sub></i> is the <b>hydraulic diameter</b> of the boundary face.</p><li><p><b>Turbulent intensity and mixing length</b> allows to specify these values directly.</p><li><p><b>Fixed value</b> allows to specify the values of the <b>turbulent kinetic energy </b>(<i>k</i>) and the <b>turbulent dissipation rate</b> (&#120656) or the <b>specific dissipation rate</b> (&#969).</p></ul>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "AUTOMATIC_TURBULENCE" : "#/components/schemas/Simulation.AutomaticTurbulence",
            "TURBULENT_INTENSITY_AND_REFERENCE_LENGTH_TURBULENCE" : "#/components/schemas/Simulation.TurbulentIntensityAndReferenceLengthTurbulence",
            "FIXED_VALUE_TURBULENCE" : "#/components/schemas/Simulation.FixedValueTurbulence"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.AutomaticTurbulence"
        }, {
          "$ref" : "#/components/schemas/Simulation.TurbulentIntensityAndReferenceLengthTurbulence"
        }, {
          "$ref" : "#/components/schemas/Simulation.FixedValueTurbulence"
        } ],
        "default" : {
          "type" : "AUTOMATIC_TURBULENCE"
        },
        "x-showWhen" : [ "turbulenceModel in [KEPSILON,KOMEGA,KOMEGASST,REALIZABLEKE] && 1/direction == IN" ]
      },
      "Simulation.OneOf_FanBCTemperature" : {
        "title" : "(T) Temperature",
        "description" : "Please choose a boundary condition for temperature (T).",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "FIXED_VALUE" : "#/components/schemas/Simulation.FixedValueTBC",
            "AMBIENT_TEMPERATURE" : "#/components/schemas/Simulation.AmbientTBC"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.FixedValueTBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.AmbientTBC"
        } ],
        "x-showWhen" : [ "type in [COMPRESSIBLE,CONVECTIVE_HEAT_TRANSFER,CONJUGATE_HEAT_TRANSFER,COUPLED_CONJUGATE_HEAT_TRANSFER,EMBEDDED_BOUNDARY]" ],
        "x-conditionalDefaults" : [ {
          "when" : [ "type in [COMPRESSIBLE,CONVECTIVE_HEAT_TRANSFER,COUPLED_CONJUGATE_HEAT_TRANSFER,EMBEDDED_BOUNDARY] && 1/direction == IN" ],
          "default" : {
            "type" : "FIXED_VALUE"
          }
        }, {
          "when" : [ "type in [COMPRESSIBLE,CONVECTIVE_HEAT_TRANSFER,COUPLED_CONJUGATE_HEAT_TRANSFER,EMBEDDED_BOUNDARY] && 1/direction == OUT" ],
          "default" : {
            "type" : "AMBIENT_TEMPERATURE"
          }
        } ]
      },
      "Simulation.OneOf_FanBCNetRadiativeHeatFlux" : {
        "title" : "Radiative behaviour",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "GREYBODY_DIFFUSIVE" : "#/components/schemas/Simulation.GreybodyDiffusiveRSBC",
            "OPEN_WINDOW" : "#/components/schemas/Simulation.OpenWindowRSBC"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.GreybodyDiffusiveRSBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.OpenWindowRSBC"
        } ],
        "default" : {
          "type" : "OPEN_WINDOW"
        },
        "x-showWhen" : [ "type == CONVECTIVE_HEAT_TRANSFER && enableRadiation == true", "type == CONJUGATE_HEAT_TRANSFER && enableRadiation == true" ]
      },
      "Simulation.OneOf_FanBCRadiativeIntensityRay" : {
        "title" : "Radiative behaviour",
        "description" : "<p><b>Radiative behaviour of the wall</b>. The Kirchhoff's law of thermal radiation is applied in all options. This means that the <b>absorptivity of the surface is equal to its emissivity</b>. <br> <ul><li><b>Opaque</b> is applied to surfaces with transmissivity equal to 0. The radiation that hits the surface will be absorbed and reflected, but not transmitted, e.g.: brick or concrete walls.</li><li><b>Transparent</b> is applied to surfaces with transmissivity equal to 1. The radiation that hits the surface will be fully transmitted to the other side, e.g.: inlets, outlets or regular windows.</li><li><b>Semi-transparent</b> is applied to non-fully transparent surfaces. The radiation that hits the surface will be absorbed, reflected and transmitted, e.g. some stained glass windows.</li></ul></p>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "GREYBODY_DIFFUSIVE_RAY" : "#/components/schemas/Simulation.GreybodyDiffusiveRayBC",
            "OPEN_BOUNDARY_RAY" : "#/components/schemas/Simulation.OpenBoundaryRayBC",
            "SEMI_OPEN_BOUNDARY_RAY" : "#/components/schemas/Simulation.SemiOpenBoundaryRayBC"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.GreybodyDiffusiveRayBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.OpenBoundaryRayBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.SemiOpenBoundaryRayBC"
        } ],
        "default" : {
          "type" : "OPEN_BOUNDARY_RAY"
        },
        "x-showWhen" : [ "type == COUPLED_CONJUGATE_HEAT_TRANSFER && enableRadiation == true", "type == COUPLED_CONJUGATE_HEAT_TRANSFER && enableSolarLoad == true", "type == EMBEDDED_BOUNDARY && enableRadiation == true", "type == EMBEDDED_BOUNDARY && enableSolarLoad == true" ]
      },
      "Simulation.OneOf_MULESSolverSemiImplicit" : {
        "title" : "Semi-implicit MULES",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "FALSE_SEMI_IMPLICIT" : "#/components/schemas/Simulation.FalseSemiImplicit",
            "TRUE_SEMI_IMPLICIT" : "#/components/schemas/Simulation.TrueSemiImplicit"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.FalseSemiImplicit"
        }, {
          "$ref" : "#/components/schemas/Simulation.TrueSemiImplicit"
        } ],
        "default" : {
          "type" : "TRUE_SEMI_IMPLICIT"
        }
      },
      "Simulation.OneOf_MrtSolarParametersFractionBodySurface" : {
        "title" : "Fraction body surface",
        "description" : "The fraction of body exposed to radiation (feff) refers to the portion of the body in the range [0, 1] exposed to direct solar radiation (e.g. 0.696 for a seated person and 0.725 for a standing person)",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "SITTING_FRACTION_BODY_SURFACE" : "#/components/schemas/Simulation.SittingFractionBodySurface",
            "STANDING_FRACTION_BODY_SURFACE" : "#/components/schemas/Simulation.StandingFractionBodySurface",
            "CUSTOM_FRACTION_BODY_SURFACE" : "#/components/schemas/Simulation.CustomFractionBodySurface"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.SittingFractionBodySurface"
        }, {
          "$ref" : "#/components/schemas/Simulation.StandingFractionBodySurface"
        }, {
          "$ref" : "#/components/schemas/Simulation.CustomFractionBodySurface"
        } ],
        "default" : {
          "type" : "SITTING_FRACTION_BODY_SURFACE"
        }
      },
      "Simulation.OneOf_FrictionlessContactContactSolutionMethod" : {
        "title" : "Solution method",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "AUGMENTED_LAGRANGE" : "#/components/schemas/Simulation.AugmentedLagrangeMethod",
            "PENALTY_METHOD" : "#/components/schemas/Simulation.PenaltyMethod"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.AugmentedLagrangeMethod"
        }, {
          "$ref" : "#/components/schemas/Simulation.PenaltyMethod"
        } ],
        "default" : {
          "type" : "PENALTY_METHOD"
        }
      },
      "Simulation.OneOf_FrictionlessContactFictitiousClearance" : {
        "title" : "Fictitious clearance",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "NO_FICTITIOUS_CLEARANCE" : "#/components/schemas/Simulation.NoFictitiousClearance",
            "WITH_FICTITIOUS_CLEARANCE" : "#/components/schemas/Simulation.WithFictitiousClearance"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.NoFictitiousClearance"
        }, {
          "$ref" : "#/components/schemas/Simulation.WithFictitiousClearance"
        } ],
        "default" : {
          "type" : "NO_FICTITIOUS_CLEARANCE"
        },
        "x-showWhen" : [ "type in [STATIC_ANALYSIS,DYNAMIC_ANALYSIS,THERMAL_MECHANICAL]" ]
      },
      "Simulation.OneOf_SurfaceRoughnessModelSurfaceRoughnessType" : {
        "title" : "Surface roughness type",
        "description" : "<p>Add a surface roughness to the selected surfaces. Three different options are available: <ul><li><b>Equivalent sand grain</b> roughness k<sub>s</sub>. This method is used to represent the actual roughness of specific materials that influence the flow close to the surface. Typical values reach from 0.00005 m for steel to 0.003 m for concrete.</li><li><b>Aerodynamic</b> roughness z<sub>0</sub>. Here, the roughness value is used to model the larger scale effects of non-modeled obstacles (such as vegetation, buildings etc.) on the Atmospheric Boundary Layer (ABL) flow. Typical values range from 0.0002 m for open sea to 1 m for dense urban areas.</li><li><b>From wind exposure</b> (only PWC). Here, the aerodynamic roughness value is automatically selected based on the selected wind exposure category for each wind direction individually. For the exact values of the aerodynamic roughness used, depending on the wind engineering standard, you can refer to this <a href='https://www.simscale.com/docs/analysis-types/pedestrian-wind-comfort-analysis/wind-conditions/atmospheric-boundary-layer/' target='_blank'>documentation page</a>. This method is preferred in order to achieve <i>horizontal homogeneity</i> for the incoming ABL flow.</li></ul>. <a href='https://www.simscale.com/docs/analysis-types/pedestrian-wind-comfort-analysis/advanced-modelling/#surface-roughness' target='_blank'>Learn more</a>. </p>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "EQUIVALENT_SAND_GRAIN_ROUGHNESS" : "#/components/schemas/Simulation.EquivalentSandGrainRoughness",
            "AERODYNAMIC_ROUGHNESS" : "#/components/schemas/Simulation.AerodynamicRoughness",
            "WIND_EXPOSURE_ROUGHNESS" : "#/components/schemas/Simulation.WindExposureRoughness"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.EquivalentSandGrainRoughness"
        }, {
          "$ref" : "#/components/schemas/Simulation.AerodynamicRoughness"
        }, {
          "$ref" : "#/components/schemas/Simulation.WindExposureRoughness"
        } ],
        "x-conditionalDefaults" : [ {
          "when" : [ "type == INCOMPRESSIBLE_PACEFISH" ],
          "default" : {
            "type" : "EQUIVALENT_SAND_GRAIN_ROUGHNESS"
          }
        }, {
          "when" : [ "type == WIND_COMFORT" ],
          "default" : {
            "type" : "WIND_EXPOSURE_ROUGHNESS"
          }
        } ]
      },
      "Simulation.OneOf_DerivedHeatFluxWallThermal" : {
        "title" : "Wall thermal",
        "description" : "This option allows you to model a thin layer resistance on the boundary. <a href='https://www.simscale.com/docs/simulation-setup/advanced-concepts/contact-resistance/' target='_blank'>Learn more</a>.",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "NO_RESISTANCE" : "#/components/schemas/Simulation.NoWallThermal",
            "TOTAL_RESISTANCE" : "#/components/schemas/Simulation.TotalResistanceWallThermal",
            "SPECIFIC_CONDUCTANCE" : "#/components/schemas/Simulation.SpecificConductanceWallThermal",
            "CONTACT_INTERFACE_MATERIAL" : "#/components/schemas/Simulation.LayerWallThermal"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.NoWallThermal"
        }, {
          "$ref" : "#/components/schemas/Simulation.TotalResistanceWallThermal"
        }, {
          "$ref" : "#/components/schemas/Simulation.SpecificConductanceWallThermal"
        }, {
          "$ref" : "#/components/schemas/Simulation.LayerWallThermal"
        } ],
        "default" : {
          "type" : "NO_RESISTANCE"
        }
      },
      "Simulation.OneOf_PedestrianComfortSurfaceGround" : {
        "title" : "Ground",
        "description" : "<p>Ground reference can be either <i>absolute</i> (uses bottom of region of interest as reference) or <i>relative</i> (uses each assignment as a reference) and elevates those by the height defined. <a href='https://www.simscale.com/docs/analysis-types/pedestrian-wind-comfort-analysis/pedestrian-comfort-map/#ground' target='_blank'>Learn more</a>.</p> <img src=\"/spec/resources/help/imgs/Ground_absolute_relative.jpg\", class=\"helpPopupImage\"/>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "GROUND_ABSOLUTE" : "#/components/schemas/Simulation.GroundAbsolute",
            "GROUND_RELATIVE" : "#/components/schemas/Simulation.GroundRelative"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.GroundAbsolute"
        }, {
          "$ref" : "#/components/schemas/Simulation.GroundRelative"
        } ],
        "default" : {
          "type" : "GROUND_RELATIVE"
        }
      },
      "Simulation.OneOf_ElasticityMarcPoissonsRatio" : {
        "title" : "(ν) Poisson's ratio",
        "maximum" : 0.5,
        "exclusiveMaximum" : true,
        "minimum" : -1.0,
        "exclusiveMinimum" : true,
        "description" : "<p>Provide the <i>Poisson's ratio</i> value which describes the compression or elongation of a material transverse to axial strain. <i>Poisson's ratio</i> can have a value within range from -1 to 0.5. </p><br /><b>Important remarks:</b><br /> <ul><li>Value less than 0 means that material is auxetic.</li><li>Most of the metals such as steel and aluminum have value between 0.2 to 0.35 and are considered compressible.<li>Value of 0.5 means that the material is incompressible such as rubber and some types of foams. Please avoid giving this value since it leads to convergence problem. You can give 0.499 rather than 0.5.</li></ul>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "CONSTANT" : "#/components/schemas/Simulation.ConstantFunction",
            "EXPRESSION" : "#/components/schemas/Simulation.ExpressionFunction",
            "POLYNOMIAL" : "#/components/schemas/Simulation.PolynomialFunction",
            "TABLE_DEFINED" : "#/components/schemas/Simulation.TableDefinedFunction"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.ConstantFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.ExpressionFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.PolynomialFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.TableDefinedFunction"
        } ]
      },
      "Simulation.OneOf_AdvancedPETSCSettingsPreconditioner" : {
        "title" : "Preconditioner",
        "description" : "Choose the preconditioner for the iterative solver:<ul><li><p><b>incomplete LDLT</b> performs an incomplete Cholesky decomposition.</p></ul><ul><li><p><b>MUMPS LDLT</b> performs a complete Cholesky decomposition in single precision via the MUMPS package.</p></ul><ul><li><p><b>Jacobi</b> is a standard diagonal preconditioner.</p></ul><ul><li><p><b>SOR</b> uses the method of <i>Successive Over-Relaxation</i>.</p></ul>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "MUMPS_LDLT" : "#/components/schemas/Simulation.MUMPSPreconditoner",
            "INCOMPLETE_LDLT_V33" : "#/components/schemas/Simulation.IncompletePreconditionerV33",
            "JACOBI" : "#/components/schemas/Simulation.JacobiPreconditioner",
            "SOR" : "#/components/schemas/Simulation.SorPreconditioner",
            "INACTIVE" : "#/components/schemas/Simulation.InactivePreconditioner"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.MUMPSPreconditoner"
        }, {
          "$ref" : "#/components/schemas/Simulation.IncompletePreconditionerV33"
        }, {
          "$ref" : "#/components/schemas/Simulation.JacobiPreconditioner"
        }, {
          "$ref" : "#/components/schemas/Simulation.SorPreconditioner"
        }, {
          "$ref" : "#/components/schemas/Simulation.InactivePreconditioner"
        } ],
        "default" : {
          "type" : "MUMPS_LDLT"
        }
      },
      "Simulation.OneOf_HyperelasticityHyperelasticModelMarc" : {
        "title" : "Hyperelastic model",
        "description" : "<ul><li><b>Mooney</b>: Mooney (or Mooney-Rivlin) is a very common phenomenological model used for modeling the behavior of rubber-like materials at moderate strains (up to ~100%). It is based on a linear combination of two strain invariants, making it computationally stable for simpler elastomeric applications.</li><li><b>Ogden</b>: A high-fidelity model that describes the strain energy density as a function of principal stretches rather than invariants. It is highly flexible and capable of capturing complex material behavior at very large strain levels.</li><li><b>Marlow</b>: A general-purpose model that allows the strain energy density function to be constructed directly from experimental test data. It is particularly useful when only one type of test data (e.g., uniaxial tension) is available to characterize the material.</li></ul>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "MOONEY_TYPE_MARC" : "#/components/schemas/Simulation.MooneyTypeHyperelasticModelMarc",
            "OGDEN_MARC" : "#/components/schemas/Simulation.OgdenHyperelasticModelMarc",
            "MARLOW_MARC" : "#/components/schemas/Simulation.MarlowHyperelasticModelMarc"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.MooneyTypeHyperelasticModelMarc"
        }, {
          "$ref" : "#/components/schemas/Simulation.OgdenHyperelasticModelMarc"
        }, {
          "$ref" : "#/components/schemas/Simulation.MarlowHyperelasticModelMarc"
        } ],
        "default" : {
          "type" : "MOONEY_TYPE_MARC"
        }
      },
      "Simulation.OneOf_BilinearElastoPlasticModelPoissonsRatio" : {
        "title" : "(ν) Poisson's ratio",
        "maximum" : 0.5,
        "exclusiveMaximum" : true,
        "minimum" : -1.0,
        "exclusiveMinimum" : true,
        "description" : "<p>Provide the <i>Poisson's ratio</i> value which describes the compression or elongation of a material transverse to axial strain. <i>Poisson's ratio</i> can have a value within range from -1 to 0.5. </p><br /><b>Important remarks:</b><br /> <ul><li>Value less than 0 means that material is auxetic.</li><li>Most of the metals such as steel and aluminum have value between 0.2 to 0.35 and are considered compressible.<li>Value of 0.5 means that the material is incompressible such as rubber and some types of foams. Please avoid giving this value since it leads to convergence problem. You can give 0.499 rather than 0.5.</li></ul>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "CONSTANT" : "#/components/schemas/Simulation.ConstantFunction",
            "EXPRESSION" : "#/components/schemas/Simulation.ExpressionFunction",
            "POLYNOMIAL" : "#/components/schemas/Simulation.PolynomialFunction",
            "TABLE_DEFINED" : "#/components/schemas/Simulation.TableDefinedFunction"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.ConstantFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.ExpressionFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.PolynomialFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.TableDefinedFunction"
        } ],
        "x-showWhen" : [ "type == DYNAMIC_ANALYSIS", "type == STATIC_ANALYSIS && nonLinearAnalysis == true", "type == THERMAL_MECHANICAL && nonLinearAnalysis == true" ]
      },
      "Simulation.OneOf_BilinearElastoPlasticModelHardeningModel" : {
        "title" : "Hardening model",
        "description" : "Choose the hardening model for your problem. <br /><br />Important remarks:<br /> <ul><li>Choose <b>Strain Hardening</b> if the material response is a combination of linear elastic and plastic hardening behavior, where the material becomes progressively stiffer with increasing strain.<img src=\"/spec/resources/help/imgs/strain_hardening_help_text.png\" class=\"helpPopupImage\"/></li><li>Choose <b>Perfect Plasticity</b> if the material response is a combination of linear elastic and perfect plastic hardening behavior (constant stress for applied strain).<img src=\"/spec/resources/help/imgs/perfect_plasticity_help_text.png\" class=\"helpPopupImage\"/></li></ul> <a href='https://www.simscale.com/docs/simulation-setup/materials/plastic-materials/' target='_blank'>Learn more</a>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "STRAIN_HARDENING" : "#/components/schemas/Simulation.StrainHardeningModel",
            "PERFECT_PLASTICITY" : "#/components/schemas/Simulation.PerfectPlasticityModel"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.StrainHardeningModel"
        }, {
          "$ref" : "#/components/schemas/Simulation.PerfectPlasticityModel"
        } ],
        "default" : {
          "type" : "STRAIN_HARDENING"
        },
        "x-showWhen" : [ "type == STATIC_ANALYSIS && nonLinearAnalysis == true", "type == THERMAL_MECHANICAL && nonLinearAnalysis == true", "type == DYNAMIC_ANALYSIS" ]
      },
      "Simulation.OneOf_PinKinematicBehaviorRotation" : {
        "title" : "Rotation",
        "description" : "<p>Define the rotational behavior between the connected entities<br /><ul><li><b>Free rotation</b> - bodies may freely rotate about the pin axis</li><li><b>Rigid</b> - rotation of the bodies about the pin axis direction is locked</li><li><b>With torsion spring</b> - rotation is controlled by a torsion spring stiffness</li></ul></p>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "FREE" : "#/components/schemas/Simulation.FreeAxialRotation",
            "RIGID" : "#/components/schemas/Simulation.RigidAxialRotation",
            "TORSIONAL" : "#/components/schemas/Simulation.TorsionalAxialRotation"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.FreeAxialRotation"
        }, {
          "$ref" : "#/components/schemas/Simulation.RigidAxialRotation"
        }, {
          "$ref" : "#/components/schemas/Simulation.TorsionalAxialRotation"
        } ],
        "default" : {
          "type" : "FREE"
        }
      },
      "Simulation.OneOf_PinKinematicBehaviorAxialTranslation" : {
        "title" : "Axial translation",
        "description" : "<p>Define the translation behavior between the connected entities along the virtual pin axis<br /><ul><li><b>Free sliding</b> - bodies may freely translate along the pin axis</li><li><b>Rigid</b> - translation of the bodies in the pin axis direction is locked</li><li><b>With axial spring</b> - translation is controlled by an axial spring stiffness, allowing the deformation of the virtual pin itself to affect global deformations</li></ul></p>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "FREE" : "#/components/schemas/Simulation.FreeAxialTranslation",
            "RIGID" : "#/components/schemas/Simulation.RigidAxialTranslation",
            "FLEXIBLE" : "#/components/schemas/Simulation.FlexibleAxialTranslation"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.FreeAxialTranslation"
        }, {
          "$ref" : "#/components/schemas/Simulation.RigidAxialTranslation"
        }, {
          "$ref" : "#/components/schemas/Simulation.FlexibleAxialTranslation"
        } ],
        "default" : {
          "type" : "RIGID"
        }
      },
      "Simulation.OneOf_DimensionalVectorFunction_SpeedValue" : {
        "title" : "Value",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "COMPONENT" : "#/components/schemas/Simulation.ComponentVectorFunction",
            "TABLE_DEFINED" : "#/components/schemas/Simulation.TableDefinedVectorFunction"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.ComponentVectorFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.TableDefinedVectorFunction"
        } ]
      },
      "Simulation.OneOf_DimensionalFunction_TemperatureValue" : {
        "title" : "Value",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "CONSTANT" : "#/components/schemas/Simulation.ConstantFunction",
            "EXPRESSION" : "#/components/schemas/Simulation.ExpressionFunction",
            "POLYNOMIAL" : "#/components/schemas/Simulation.PolynomialFunction",
            "TABLE_DEFINED" : "#/components/schemas/Simulation.TableDefinedFunction"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.ConstantFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.ExpressionFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.PolynomialFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.TableDefinedFunction"
        } ]
      },
      "Simulation.OneOf_JohnsonCookElastoPlasticModelPoissonsRatio" : {
        "title" : "(ν) Poisson's ratio",
        "maximum" : 0.5,
        "exclusiveMaximum" : true,
        "minimum" : -1.0,
        "exclusiveMinimum" : true,
        "description" : "<p>Provide the <i>Poisson's ratio</i> value which describes the compression or elongation of a material transverse to axial strain. <i>Poisson's ratio</i> can have a value within range from -1 to 0.5. </p><br /><b>Important remarks:</b><br /> <ul><li>Value less than 0 means that material is auxetic.</li><li>Most of the metals such as steel and aluminum have value between 0.2 to 0.35 and are considered compressible.<li>Value of 0.5 means that the material is incompressible such as rubber and some types of foams. Please avoid giving this value since it leads to convergence problem. You can give 0.499 rather than 0.5.</li></ul>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "CONSTANT" : "#/components/schemas/Simulation.ConstantFunction",
            "EXPRESSION" : "#/components/schemas/Simulation.ExpressionFunction",
            "POLYNOMIAL" : "#/components/schemas/Simulation.PolynomialFunction",
            "TABLE_DEFINED" : "#/components/schemas/Simulation.TableDefinedFunction"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.ConstantFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.ExpressionFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.PolynomialFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.TableDefinedFunction"
        } ]
      },
      "Simulation.OneOf_ProbePointsResultControlWriteControl" : {
        "title" : "Write control",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "TIME_STEP" : "#/components/schemas/Simulation.TimeStepWriteControl",
            "OUTPUT_TIME" : "#/components/schemas/Simulation.SynchronizeWithFieldOutputWriteControl",
            "HIGH_RESOLUTION" : "#/components/schemas/Simulation.HighResolution",
            "MODERATE_RESOLUTION" : "#/components/schemas/Simulation.ModerateResolution",
            "COARSE_RESOLUTION" : "#/components/schemas/Simulation.CoarseResolution",
            "CUSTOM_RESOLUTION" : "#/components/schemas/Simulation.CustomResolution"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.TimeStepWriteControl"
        }, {
          "$ref" : "#/components/schemas/Simulation.SynchronizeWithFieldOutputWriteControl"
        }, {
          "$ref" : "#/components/schemas/Simulation.HighResolution"
        }, {
          "$ref" : "#/components/schemas/Simulation.ModerateResolution"
        }, {
          "$ref" : "#/components/schemas/Simulation.CoarseResolution"
        }, {
          "$ref" : "#/components/schemas/Simulation.CustomResolution"
        } ],
        "x-showWhen" : [ "type != SIMERICS_ANALYSIS" ],
        "x-conditionalDefaults" : [ {
          "when" : [ "type in [COMPRESSIBLE,INCOMPRESSIBLE,CONJUGATE_HEAT_TRANSFER,COUPLED_CONJUGATE_HEAT_TRANSFER,CONVECTIVE_HEAT_TRANSFER,MULTIPHASE,EMBEDDED_BOUNDARY]" ],
          "default" : {
            "type" : "TIME_STEP"
          }
        }, {
          "when" : [ "type in [INCOMPRESSIBLE_PACEFISH,WIND_COMFORT]" ],
          "default" : {
            "type" : "MODERATE_RESOLUTION"
          }
        } ]
      },
      "Simulation.OneOf_MarcBondedContactConnectionPositionTolerance" : {
        "title" : "Position tolerance",
        "description" : "<p>Define how gaps and small interferences should be treated:</p><ul><li><b>Set Value:</b> Define a numerical distance (<b>tolerance</b>) below which contact is established. If the gap between a contacting node and its target body is larger than the tolerance, the glued contact constraint will not be activated on this node. This check happens on each iteration. For this option the &quot;stress-free projection&quot; of contact nodes on the target surfaces is activated. Small gaps will be closed without adding stresses.<br/>Use this option for cases where small CAD inaccuracies, manufacturing tolerances or mesh discretization errors might appear.</li><li><b>Off:</b> No specific contact tolerance is used. The program uses an automatic value based on element size (1/10th of the typical element size) to overcome small gaps or penetrations due to mesh approximations on curved surfaces. No &quot;stress-free projection&quot; is active for this setting.</li></ul>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "SET_VALUE" : "#/components/schemas/Simulation.SetValuePositionTolerance",
            "OFF" : "#/components/schemas/Simulation.OffPositionTolerance"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.SetValuePositionTolerance"
        }, {
          "$ref" : "#/components/schemas/Simulation.OffPositionTolerance"
        } ],
        "default" : {
          "type" : "OFF"
        }
      },
      "Simulation.OneOf_MarcStressFieldSelectionStressType" : {
        "title" : "Stress type",
        "description" : "<ul><li><b>Cauchy stress</b>: Also known as \"true stress,\" it represents the force per unit of current (deformed) area. This is the standard stress measure for large deformation nonlinear analysis. Tensor quantity.<li><b>Von Mises stress</b>: A scalar value used to predict yielding of ductile materials; it represents the \"distortional energy\" within the body.<li><b>Principal stress</b>: The normal stresses acting on planes where the shear stresses are zero (&sigma;<sub>1</sub>, &sigma;<sub>2</sub>, &sigma;<sub>3</sub>), indicating the extreme tension or compression values.</ul>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "CAUCHY" : "#/components/schemas/Simulation.MarcCauchyStressType",
            "VON_MISES" : "#/components/schemas/Simulation.MarcVonMisesStressType",
            "PRINCIPAL" : "#/components/schemas/Simulation.MarcPrincipalStressType"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.MarcCauchyStressType"
        }, {
          "$ref" : "#/components/schemas/Simulation.MarcVonMisesStressType"
        }, {
          "$ref" : "#/components/schemas/Simulation.MarcPrincipalStressType"
        } ]
      },
      "Simulation.OneOf_DimensionalFunction_ThermalExpansionRateValue" : {
        "title" : "Value",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "CONSTANT" : "#/components/schemas/Simulation.ConstantFunction",
            "EXPRESSION" : "#/components/schemas/Simulation.ExpressionFunction",
            "POLYNOMIAL" : "#/components/schemas/Simulation.PolynomialFunction",
            "TABLE_DEFINED" : "#/components/schemas/Simulation.TableDefinedFunction"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.ConstantFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.ExpressionFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.PolynomialFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.TableDefinedFunction"
        } ]
      },
      "Simulation.OneOf_DimensionalFunction_ElectricPotentialValue" : {
        "title" : "Value",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "CONSTANT" : "#/components/schemas/Simulation.ConstantFunction",
            "EXPRESSION" : "#/components/schemas/Simulation.ExpressionFunction",
            "POLYNOMIAL" : "#/components/schemas/Simulation.PolynomialFunction",
            "TABLE_DEFINED" : "#/components/schemas/Simulation.TableDefinedFunction"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.ConstantFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.ExpressionFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.PolynomialFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.TableDefinedFunction"
        } ]
      },
      "Simulation.OneOf_HConstThermoEquationOfState" : {
        "title" : "Equation of state",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "PERFECT_GAS" : "#/components/schemas/Simulation.PerfectGasEquationOfState",
            "REAL_GAS" : "#/components/schemas/Simulation.RealGasEquationOfState",
            "RHO_CONST" : "#/components/schemas/Simulation.RhoConstEquationOfState",
            "PERFECT_FLUID" : "#/components/schemas/Simulation.PerfectFluidEquationOfState",
            "INCOMPRESSIBLE_PERFECT_GAS" : "#/components/schemas/Simulation.IncompressiblePerfectGasEquationOfState",
            "ADIABATIC_PERFECT_FLUID" : "#/components/schemas/Simulation.AdiabaticPerfectFluidEquationOfState",
            "PENG_ROBINSON_GAS" : "#/components/schemas/Simulation.PengRobinsonGasEquationOfState"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.PerfectGasEquationOfState"
        }, {
          "$ref" : "#/components/schemas/Simulation.RealGasEquationOfState"
        }, {
          "$ref" : "#/components/schemas/Simulation.RhoConstEquationOfState"
        }, {
          "$ref" : "#/components/schemas/Simulation.PerfectFluidEquationOfState"
        }, {
          "$ref" : "#/components/schemas/Simulation.IncompressiblePerfectGasEquationOfState"
        }, {
          "$ref" : "#/components/schemas/Simulation.AdiabaticPerfectFluidEquationOfState"
        }, {
          "$ref" : "#/components/schemas/Simulation.PengRobinsonGasEquationOfState"
        } ],
        "x-showWhen" : [ "type in [COMPRESSIBLE,CONVECTIVE_HEAT_TRANSFER,CONJUGATE_HEAT_TRANSFER]", "type in [COUPLED_CONJUGATE_HEAT_TRANSFER,EMBEDDED_BOUNDARY,SIMERICS_ANALYSIS]" ],
        "x-conditionalDefaults" : [ {
          "when" : [ "type in [COMPRESSIBLE,CONVECTIVE_HEAT_TRANSFER]", "type == CONJUGATE_HEAT_TRANSFER && 2/type in [CONST,SUTHERLAND]", "type == COUPLED_CONJUGATE_HEAT_TRANSFER && 2/type == CONST", "type == EMBEDDED_BOUNDARY && 2/type == CONST", "type == SIMERICS_ANALYSIS && 2/type == CONST" ],
          "default" : {
            "type" : "PERFECT_GAS"
          }
        }, {
          "when" : [ "type == COUPLED_CONJUGATE_HEAT_TRANSFER && 2/type in [CONST_ISO,CONST_AN_ISO,CONST_CROSS_PLANE_ORTHO]", "type == CONJUGATE_HEAT_TRANSFER && 2/type in [CONST_ISO,CONST_AN_ISO,CONST_CROSS_PLANE_ORTHO]", "type == EMBEDDED_BOUNDARY && 2/type in [CONST_ISO,CONST_AN_ISO,CONST_CROSS_PLANE_ORTHO]", "type == SIMERICS_ANALYSIS && 2/type == CONST_ISO" ],
          "default" : {
            "type" : "RHO_CONST"
          }
        } ]
      },
      "Simulation.OneOf_OgdenHyperelasticModelMarcNumberOfTerms" : {
        "title" : "Number of terms",
        "description" : "<b>Number of terms</b> defines the number of principal stretch power-law terms (up to 3) used to fit the material curve. Increasing the number of terms allows the model to more accurately capture highly non-linear experimental data across larger strain ranges.",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "ONE_TERM" : "#/components/schemas/Simulation.OneTerm",
            "TWO_TERMS" : "#/components/schemas/Simulation.TwoTerms",
            "THREE_TERMS" : "#/components/schemas/Simulation.ThreeTerms"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.OneTerm"
        }, {
          "$ref" : "#/components/schemas/Simulation.TwoTerms"
        }, {
          "$ref" : "#/components/schemas/Simulation.ThreeTerms"
        } ],
        "default" : {
          "type" : "ONE_TERM"
        }
      },
      "Simulation.OneOf_MarcSumFieldsCalculationResultControlItemFieldSelection" : {
        "title" : "Field selection",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "FORCE" : "#/components/schemas/Simulation.MarcForceFieldSelection",
            "CONTACT_FORCE" : "#/components/schemas/Simulation.MarcContactForceFieldSelection"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.MarcForceFieldSelection"
        }, {
          "$ref" : "#/components/schemas/Simulation.MarcContactForceFieldSelection"
        } ],
        "default" : {
          "type" : "FORCE"
        }
      },
      "Simulation.OneOf_PCGSolverPreconditioner" : {
        "title" : "Preconditioner",
        "description" : "<p>Choose a preconditioner for your solver. A preconditioner improves the convergence speed of your system. Therefore, it is generally recommended. The DIC preconditioner is a very common diagonal incomplete Cholesky preconditioner.</p>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "DIC" : "#/components/schemas/Simulation.DICPreconditioner",
            "GAMG" : "#/components/schemas/Simulation.GAMGSolver",
            "ILUCP" : "#/components/schemas/Simulation.ILUCpPreconditioner"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.DICPreconditioner"
        }, {
          "$ref" : "#/components/schemas/Simulation.GAMGSolver"
        }, {
          "$ref" : "#/components/schemas/Simulation.ILUCpPreconditioner"
        } ],
        "x-conditionalDefaults" : [ {
          "when" : [ "type in [INCOMPRESSIBLE,CONJUGATE_HEAT_TRANSFER,CONVECTIVE_HEAT_TRANSFER,MULTIPHASE]" ],
          "default" : {
            "type" : "DIC"
          }
        }, {
          "when" : [ "type in [COUPLED_CONJUGATE_HEAT_TRANSFER,EMBEDDED_BOUNDARY]" ],
          "default" : {
            "type" : "ILUCP"
          }
        } ]
      },
      "Simulation.OneOf_MarcContactForceFieldSelectionContactType" : {
        "title" : "Contact result type",
        "description" : "<ul><li><b>Normal force</b>: The compressive force acting perpendicular to the contact interface between two bodies.<li><b>Friction force</b>: The tangential shear force generated at a contact interface that resists relative sliding between two bodies due to friction.<li><b>Contact body force</b>: Computes the total resultant force vector acting on a specific body due to all its active contact interactions. Available in volume sum only.</ul>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "NORMAL_FORCE" : "#/components/schemas/Simulation.MarcContactNormalForceType",
            "FRICTION_FORCE" : "#/components/schemas/Simulation.MarcContactFrictionForceType",
            "BODY_FORCE" : "#/components/schemas/Simulation.MarcContactBodyForceType"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.MarcContactNormalForceType"
        }, {
          "$ref" : "#/components/schemas/Simulation.MarcContactFrictionForceType"
        }, {
          "$ref" : "#/components/schemas/Simulation.MarcContactBodyForceType"
        } ]
      },
      "Simulation.OneOf_ConstAnIsoTransportOrientation" : {
        "title" : "Orientation",
        "description" : "<p>Defines the direction on which the thermal conductivity will act:<br> <ul><li><strong>Cartesian</strong>: the conductivities &kappa;<sub>x</sub>, &kappa;<sub>y</sub>, and &kappa;<sub>z</sub> are aligned with the X, Y, and Z-axis, respectively.</li><li><strong>Custom</strong>: the conductivities &kappa;<sub>x</sub> and &kappa;<sub>y</sub> are aligned with the unit vectors x and y, respectively, and the conductivity &kappa;<sub>z</sub> is aligned with the resultant of the cross product of unit vectors x and y.</li></ul></p>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "CARTESIAN" : "#/components/schemas/Simulation.CartesianOrientation",
            "CUSTOM" : "#/components/schemas/Simulation.CustomOrientation"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.CartesianOrientation"
        }, {
          "$ref" : "#/components/schemas/Simulation.CustomOrientation"
        } ],
        "default" : {
          "type" : "CARTESIAN"
        }
      },
      "Simulation.OneOf_HingeConstraintBCAxisDefinition" : {
        "title" : "Axis definition",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "CUSTOM" : "#/components/schemas/Simulation.CustomAxisDefinition",
            "AUTOMATIC" : "#/components/schemas/Simulation.AutomaticAxisDefinition"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.CustomAxisDefinition"
        }, {
          "$ref" : "#/components/schemas/Simulation.AutomaticAxisDefinition"
        } ],
        "default" : {
          "type" : "AUTOMATIC"
        }
      },
      "Simulation.OneOf_FlowDomainBoundariesXMIN" : {
        "title" : "External Domain Face A",
        "description" : "This shows the face of the external flow domain to which this boundary condition is assigned. The name of the face reflects its alignment with respect to the orientation cube seen in the viewer.",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "VELOCITY_INLET_V3" : "#/components/schemas/Simulation.VelocityInletBC",
            "PRESSURE_OUTLET_V30" : "#/components/schemas/Simulation.PressureOutletBC",
            "WALL_V34" : "#/components/schemas/Simulation.WallBC",
            "PERIODIC" : "#/components/schemas/Simulation.PeriodicBC",
            "ATMOSPHERIC_BOUNDARY_LAYER_INLET" : "#/components/schemas/Simulation.AtmosphericBoundaryLayerInletBC"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.VelocityInletBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.PressureOutletBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.WallBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.PeriodicBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.AtmosphericBoundaryLayerInletBC"
        } ],
        "default" : {
          "type" : "VELOCITY_INLET_V3",
          "name" : "Velocity inlet (A)",
          "velocity" : {
            "type" : "FIXED_VALUE_NO_EXPRESSION",
            "value" : {
              "unit" : "m/s",
              "value" : {
                "type" : "CONSTANT",
                "value" : 10
              }
            }
          },
          "turbulenceIntensity" : {
            "type" : "FIXED_VALUE",
            "value" : {
              "unit" : "",
              "value" : {
                "type" : "CONSTANT",
                "value" : 0.01
              }
            }
          },
          "dissipationType" : {
            "type" : "AUTOMATIC_DISSIPATION"
          }
        }
      },
      "Simulation.OneOf_FlowDomainBoundariesXMAX" : {
        "title" : "External Domain Face B",
        "description" : "This shows the face of the external flow domain to which this boundary condition is assigned. The name of the face reflects its alignment with respect to the orientation cube seen in the viewer.",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "VELOCITY_INLET_V3" : "#/components/schemas/Simulation.VelocityInletBC",
            "PRESSURE_OUTLET_V30" : "#/components/schemas/Simulation.PressureOutletBC",
            "WALL_V34" : "#/components/schemas/Simulation.WallBC",
            "PERIODIC" : "#/components/schemas/Simulation.PeriodicBC",
            "ATMOSPHERIC_BOUNDARY_LAYER_INLET" : "#/components/schemas/Simulation.AtmosphericBoundaryLayerInletBC"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.VelocityInletBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.PressureOutletBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.WallBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.PeriodicBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.AtmosphericBoundaryLayerInletBC"
        } ],
        "default" : {
          "type" : "PRESSURE_OUTLET_V30",
          "name" : "Pressure outlet (B)"
        }
      },
      "Simulation.OneOf_FlowDomainBoundariesYMIN" : {
        "title" : "External Domain Face C",
        "description" : "This shows the face of the external flow domain to which this boundary condition is assigned. The name of the face reflects its alignment with respect to the orientation cube seen in the viewer.",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "VELOCITY_INLET_V3" : "#/components/schemas/Simulation.VelocityInletBC",
            "PRESSURE_OUTLET_V30" : "#/components/schemas/Simulation.PressureOutletBC",
            "WALL_V34" : "#/components/schemas/Simulation.WallBC",
            "PERIODIC" : "#/components/schemas/Simulation.PeriodicBC",
            "ATMOSPHERIC_BOUNDARY_LAYER_INLET" : "#/components/schemas/Simulation.AtmosphericBoundaryLayerInletBC"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.VelocityInletBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.PressureOutletBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.WallBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.PeriodicBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.AtmosphericBoundaryLayerInletBC"
        } ],
        "default" : {
          "type" : "WALL_V34",
          "name" : "Side (C)",
          "velocity" : {
            "type" : "SLIP"
          }
        }
      },
      "Simulation.OneOf_FlowDomainBoundariesYMAX" : {
        "title" : "External Domain Face D",
        "description" : "This shows the face of the external flow domain to which this boundary condition is assigned. The name of the face reflects its alignment with respect to the orientation cube seen in the viewer.",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "VELOCITY_INLET_V3" : "#/components/schemas/Simulation.VelocityInletBC",
            "PRESSURE_OUTLET_V30" : "#/components/schemas/Simulation.PressureOutletBC",
            "WALL_V34" : "#/components/schemas/Simulation.WallBC",
            "PERIODIC" : "#/components/schemas/Simulation.PeriodicBC",
            "ATMOSPHERIC_BOUNDARY_LAYER_INLET" : "#/components/schemas/Simulation.AtmosphericBoundaryLayerInletBC"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.VelocityInletBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.PressureOutletBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.WallBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.PeriodicBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.AtmosphericBoundaryLayerInletBC"
        } ],
        "default" : {
          "type" : "WALL_V34",
          "name" : "Side (D)",
          "velocity" : {
            "type" : "SLIP"
          }
        }
      },
      "Simulation.OneOf_FlowDomainBoundariesZMIN" : {
        "title" : "External Domain Face E",
        "description" : "This shows the face of the external flow domain to which this boundary condition is assigned. The name of the face reflects its alignment with respect to the orientation cube seen in the viewer.",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "VELOCITY_INLET_V3" : "#/components/schemas/Simulation.VelocityInletBC",
            "PRESSURE_OUTLET_V30" : "#/components/schemas/Simulation.PressureOutletBC",
            "WALL_V34" : "#/components/schemas/Simulation.WallBC",
            "PERIODIC" : "#/components/schemas/Simulation.PeriodicBC",
            "ATMOSPHERIC_BOUNDARY_LAYER_INLET" : "#/components/schemas/Simulation.AtmosphericBoundaryLayerInletBC"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.VelocityInletBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.PressureOutletBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.WallBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.PeriodicBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.AtmosphericBoundaryLayerInletBC"
        } ],
        "default" : {
          "type" : "WALL_V34",
          "name" : "Ground (E)",
          "velocity" : {
            "type" : "NO_SLIP",
            "noSlipWallRoughnessType" : {
              "type" : "NO_SLIP_WALL_EQUIVALENT_SAND_ROUGHNESS",
              "surfaceRoughness" : {
                "value" : 0,
                "unit" : "m"
              }
            }
          }
        }
      },
      "Simulation.OneOf_FlowDomainBoundariesZMAX" : {
        "title" : "External Domain Face F",
        "description" : "This shows the face of the external flow domain to which this boundary condition is assigned. The name of the face reflects its alignment with respect to the orientation cube seen in the viewer.",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "VELOCITY_INLET_V3" : "#/components/schemas/Simulation.VelocityInletBC",
            "PRESSURE_OUTLET_V30" : "#/components/schemas/Simulation.PressureOutletBC",
            "WALL_V34" : "#/components/schemas/Simulation.WallBC",
            "PERIODIC" : "#/components/schemas/Simulation.PeriodicBC",
            "ATMOSPHERIC_BOUNDARY_LAYER_INLET" : "#/components/schemas/Simulation.AtmosphericBoundaryLayerInletBC"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.VelocityInletBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.PressureOutletBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.WallBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.PeriodicBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.AtmosphericBoundaryLayerInletBC"
        } ],
        "default" : {
          "type" : "WALL_V34",
          "name" : "Top (F)",
          "velocity" : {
            "type" : "SLIP"
          }
        }
      },
      "Simulation.OneOf_DimensionalFunction_TurbulentDissipationValue" : {
        "title" : "Value",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "CONSTANT" : "#/components/schemas/Simulation.ConstantFunction",
            "EXPRESSION" : "#/components/schemas/Simulation.ExpressionFunction",
            "POLYNOMIAL" : "#/components/schemas/Simulation.PolynomialFunction",
            "TABLE_DEFINED" : "#/components/schemas/Simulation.TableDefinedFunction"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.ConstantFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.ExpressionFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.PolynomialFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.TableDefinedFunction"
        } ]
      },
      "Simulation.OneOf_CoilTopology" : {
        "title" : "Topology",
        "description" : "<ul><li><strong>Open Coil:</strong> This coil topology has an <code>entry port</code> and an <code>exit port</code>.<p><img src=\"/spec/resources/help/imgs/emag-open-coil.png\" class=\"helpPopupImage\"/>Example of an open coil with an entry (blue) and exit (red) port.</p> Note that an entry port and exit port should lie on an outer boundary with <code>Magnetic flux tangential</code> boundaries.</li>  <li><strong>Closed Coil:</strong> This coil topology is a self-contained loop with no entry or exit ports. An <code>internal port</code> is used to specify the current flow surface within the coil. <p><img src=\"/spec/resources/help/imgs/emag-closed-coil.png\" class=\"helpPopupImage\"/>Example of a closed coil with an internal port (blue).</p> </li> </ul>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "OPEN_COIL" : "#/components/schemas/Simulation.OpenCoil",
            "CLOSED_COIL" : "#/components/schemas/Simulation.ClosedCoil"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.OpenCoil"
        }, {
          "$ref" : "#/components/schemas/Simulation.ClosedCoil"
        } ],
        "default" : {
          "type" : "OPEN_COIL"
        }
      },
      "Simulation.OneOf_CoilCoilType" : {
        "title" : "Coil type",
        "description" : "<ul><li><strong>Solid Coil:</strong> Is used for coils with usually only a few turns and large-diameter wire which requires explicit meshing. Eddy current effects are significant due to the wire's large diameter where skin depth is about the same or smaller than the wire diameter. <p><img src=\"/spec/resources/help/imgs/emag-solid-coil.png\" class=\"helpPopupImage\"/>Example of a solid coil where each wire is meshed explictly.</p>  </li> <li><strong>Stranded Coil:</strong> Employed when wires are closely packed, thin, and eddy currents can be neglected. This model represents multiple wires without the need of explicit meshing them, which save significant computational time.<p><img src=\"/spec/resources/help/imgs/emag-stranded-coil.png\" class=\"helpPopupImage\"/>Example of a stranded coil where wires are not meshed explicitly.</p></li></ul>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "STRANDED_COIL" : "#/components/schemas/Simulation.StrandedCoil",
            "SOLID_COIL" : "#/components/schemas/Simulation.SolidCoil",
            "LITZ_WIRE_COIL" : "#/components/schemas/Simulation.LitzWireCoil"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.StrandedCoil"
        }, {
          "$ref" : "#/components/schemas/Simulation.SolidCoil"
        }, {
          "$ref" : "#/components/schemas/Simulation.LitzWireCoil"
        } ],
        "x-conditionalDefaults" : [ {
          "when" : [ "model.type == TIME_HARMONIC_ELECTRICS" ],
          "default" : {
            "type" : "SOLID_COIL"
          }
        }, {
          "when" : [ "model.type in [MAGNETOSTATICS,TIME_HARMONIC_MAGNETICS,TIME_TRANSIENT_MAGNETICS]" ],
          "default" : {
            "type" : "STRANDED_COIL"
          }
        } ]
      },
      "Simulation.OneOf_CoilExcitation" : {
        "title" : "Excitation",
        "description" : "<ul><li><strong>Current Excitation</strong><br>Use when you want to set a specific current flow through the coil. Note that the specified current is assumed to flow over the sum of all entry (or internal) faces.</li><li><strong>Voltage Excitation</strong><br>Use when you want to set a specific voltage across the coil ports.</li></ul>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "CURRENT_EXCITATION" : "#/components/schemas/Simulation.CurrentExcitation",
            "VOLTAGE_EXCITATION" : "#/components/schemas/Simulation.VoltageExcitation"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.CurrentExcitation"
        }, {
          "$ref" : "#/components/schemas/Simulation.VoltageExcitation"
        } ],
        "default" : {
          "type" : "CURRENT_EXCITATION"
        }
      },
      "Simulation.OneOf_ForceFieldSelectionForceType" : {
        "title" : "Force type",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "REACTION" : "#/components/schemas/Simulation.ReactionForceType",
            "NODAL" : "#/components/schemas/Simulation.NodalForceType"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.ReactionForceType"
        }, {
          "$ref" : "#/components/schemas/Simulation.NodalForceType"
        } ],
        "default" : {
          "type" : "REACTION"
        }
      },
      "Simulation.OneOf_LitzWireCoilStrandCrossSectionType" : {
        "title" : "Strand cross-section type",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "ROUND" : "#/components/schemas/Simulation.Round",
            "SQUARE" : "#/components/schemas/Simulation.Square"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.Round"
        }, {
          "$ref" : "#/components/schemas/Simulation.Square"
        } ],
        "default" : {
          "type" : "ROUND"
        }
      },
      "Simulation.OneOf_FluidCompressibleMaterialFluidType" : {
        "title" : "Fluid type",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "LIQUID" : "#/components/schemas/Simulation.FluidTypeLiquid",
            "GAS" : "#/components/schemas/Simulation.FluidTypeGas"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.FluidTypeLiquid"
        }, {
          "$ref" : "#/components/schemas/Simulation.FluidTypeGas"
        } ],
        "default" : {
          "type" : "GAS"
        },
        "x-showWhen" : [ "type == SIMERICS_ANALYSIS" ]
      },
      "Simulation.OneOf_FluidCompressibleMaterialTransport" : {
        "title" : "Transport",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "CONST" : "#/components/schemas/Simulation.ConstTransport",
            "SUTHERLAND" : "#/components/schemas/Simulation.SutherlandTransport",
            "HERSCHEL_BULKLEY" : "#/components/schemas/Simulation.HerschelBulkleyTransport"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.ConstTransport"
        }, {
          "$ref" : "#/components/schemas/Simulation.SutherlandTransport"
        }, {
          "$ref" : "#/components/schemas/Simulation.HerschelBulkleyTransport"
        } ],
        "default" : {
          "type" : "CONST"
        },
        "x-conditionalHelp" : [ {
          "when" : [ "type != SIMERICS_ANALYSIS" ]
        }, {
          "when" : [ "type == SIMERICS_ANALYSIS" ]
        } ],
        "x-showWhen" : [ "type in [CONJUGATE_HEAT_TRANSFER,CONVECTIVE_HEAT_TRANSFER,SIMERICS_ANALYSIS,COMPRESSIBLE]" ]
      },
      "Simulation.OneOf_FluidCompressibleMaterialViscosityModel" : {
        "title" : "Viscosity model",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "NEWTONIAN" : "#/components/schemas/Simulation.NewtonianViscosityModel",
            "SUTHERLAND_VISCOSITY" : "#/components/schemas/Simulation.SutherlandViscosity"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.NewtonianViscosityModel"
        }, {
          "$ref" : "#/components/schemas/Simulation.SutherlandViscosity"
        } ],
        "default" : {
          "type" : "NEWTONIAN"
        },
        "x-showWhen" : [ "type in [COUPLED_CONJUGATE_HEAT_TRANSFER,EMBEDDED_BOUNDARY]" ]
      },
      "Simulation.OneOf_FluidCompressibleMaterialEquationOfState" : {
        "title" : "Equation of state",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "PERFECT_GAS" : "#/components/schemas/Simulation.PerfectGasEquationOfState",
            "RHO_CONST" : "#/components/schemas/Simulation.RhoConstEquationOfState"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.PerfectGasEquationOfState"
        }, {
          "$ref" : "#/components/schemas/Simulation.RhoConstEquationOfState"
        } ],
        "default" : {
          "type" : "PERFECT_GAS"
        },
        "x-showWhen" : [ "type in [COUPLED_CONJUGATE_HEAT_TRANSFER,EMBEDDED_BOUNDARY]" ]
      },
      "Simulation.OneOf_InterpolationSchemesForDefault" : {
        "title" : "Default",
        "description" : "<p>With this option you can choose your desired interpolation scheme.</p>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "CUBIC" : "#/components/schemas/Simulation.CubicInterpolationScheme",
            "LINEAR" : "#/components/schemas/Simulation.LinearInterpolationScheme"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.CubicInterpolationScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.LinearInterpolationScheme"
        } ],
        "default" : {
          "type" : "LINEAR"
        },
        "x-showWhen" : [ "type in [COMPRESSIBLE,INCOMPRESSIBLE,CONJUGATE_HEAT_TRANSFER,CONVECTIVE_HEAT_TRANSFER,MULTIPHASE]" ]
      },
      "Simulation.OneOf_InterpolationSchemesInterpolate_HbyA" : {
        "title" : "interpolate(HbyA)",
        "description" : "<p>With this option you can choose your desired interpolation scheme.</p>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "CUBIC" : "#/components/schemas/Simulation.CubicInterpolationScheme",
            "LINEAR" : "#/components/schemas/Simulation.LinearInterpolationScheme"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.CubicInterpolationScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.LinearInterpolationScheme"
        } ],
        "default" : {
          "type" : "LINEAR"
        },
        "x-showWhen" : [ "type == INCOMPRESSIBLE && turbulenceModel == NONE && algorithm == ICO", "type == INCOMPRESSIBLE && turbulenceModel in [KOMEGA,KOMEGASST] && algorithm in [PISO,SIMPLE]", "type == CONVECTIVE_HEAT_TRANSFER && turbulenceModel in [SMAGORINSKY,SPALARTALLMARAS,NONE,KEPSILON,KOMEGASST] && isCompressible == false" ]
      },
      "Simulation.OneOf_InterpolationSchemesInterpolate_velocity" : {
        "title" : "interpolate U",
        "description" : "<p>With this option you can choose your desired interpolation scheme.</p>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "CUBIC" : "#/components/schemas/Simulation.CubicInterpolationScheme",
            "LINEAR" : "#/components/schemas/Simulation.LinearInterpolationScheme"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.CubicInterpolationScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.LinearInterpolationScheme"
        } ],
        "default" : {
          "type" : "LINEAR"
        },
        "x-showWhen" : [ "type == INCOMPRESSIBLE && turbulenceModel in [SMAGORINSKY,SPALARTALLMARAS,NONE,KEPSILON] && algorithm in [PIMPLE,PISO,SIMPLE]", "type == INCOMPRESSIBLE && turbulenceModel in [KOMEGA,KOMEGASST] && algorithm == PIMPLE" ]
      },
      "Simulation.OneOf_InterpolationSchemesInterpolate_kappa" : {
        "title" : "interpolate(kappa)",
        "description" : "<p>With this option you can choose your desired interpolation scheme.</p>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "CUBIC" : "#/components/schemas/Simulation.CubicInterpolationScheme",
            "LINEAR" : "#/components/schemas/Simulation.LinearInterpolationScheme"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.CubicInterpolationScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.LinearInterpolationScheme"
        } ],
        "default" : {
          "type" : "LINEAR"
        },
        "x-showWhen" : [ "type == CONJUGATE_HEAT_TRANSFER" ]
      },
      "Simulation.OneOf_InterpolationSchemesInterpolate_rho" : {
        "title" : "interpolate(rho)",
        "description" : "<p>With this option you can choose your desired interpolation scheme.</p>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "CUBIC" : "#/components/schemas/Simulation.CubicInterpolationScheme",
            "LINEAR" : "#/components/schemas/Simulation.LinearInterpolationScheme"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.CubicInterpolationScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.LinearInterpolationScheme"
        } ],
        "default" : {
          "type" : "LINEAR"
        },
        "x-showWhen" : [ "type == CONJUGATE_HEAT_TRANSFER" ]
      },
      "Simulation.OneOf_InterpolationSchemesInterpolate_thermo_rho_Cp" : {
        "title" : "interpolate(thermo:rho*Cp)",
        "description" : "<p>With this option you can choose your desired interpolation scheme.</p>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "CUBIC" : "#/components/schemas/Simulation.CubicInterpolationScheme",
            "LINEAR" : "#/components/schemas/Simulation.LinearInterpolationScheme"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.CubicInterpolationScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.LinearInterpolationScheme"
        } ],
        "default" : {
          "type" : "LINEAR"
        },
        "x-showWhen" : [ "type == CONJUGATE_HEAT_TRANSFER" ]
      },
      "Simulation.OneOf_InterpolationSchemesInterpolate_map_Kappa" : {
        "title" : "interpolate(mag(Kappa))",
        "description" : "<p>With this option you can choose your desired interpolation scheme.</p>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "CUBIC" : "#/components/schemas/Simulation.CubicInterpolationScheme",
            "LINEAR" : "#/components/schemas/Simulation.LinearInterpolationScheme"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.CubicInterpolationScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.LinearInterpolationScheme"
        } ],
        "default" : {
          "type" : "LINEAR"
        },
        "x-showWhen" : [ "type == CONJUGATE_HEAT_TRANSFER" ]
      },
      "Simulation.OneOf_InterpolationSchemesInterpolate_rho_Hbya" : {
        "title" : "interpolate(rho*HbyA)",
        "description" : "<p>With this option you can choose your desired interpolation scheme.</p>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "CUBIC" : "#/components/schemas/Simulation.CubicInterpolationScheme",
            "LINEAR" : "#/components/schemas/Simulation.LinearInterpolationScheme"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.CubicInterpolationScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.LinearInterpolationScheme"
        } ],
        "default" : {
          "type" : "LINEAR"
        },
        "x-showWhen" : [ "type == CONJUGATE_HEAT_TRANSFER" ]
      },
      "Simulation.OneOf_InterpolationSchemesInterpolate_rho_0_velocity0" : {
        "title" : "interpolate(rho_0*U_0)",
        "description" : "<p>With this option you can choose your desired interpolation scheme.</p>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "CUBIC" : "#/components/schemas/Simulation.CubicInterpolationScheme",
            "LINEAR" : "#/components/schemas/Simulation.LinearInterpolationScheme"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.CubicInterpolationScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.LinearInterpolationScheme"
        } ],
        "default" : {
          "type" : "LINEAR"
        },
        "x-showWhen" : [ "type == CONJUGATE_HEAT_TRANSFER" ]
      },
      "Simulation.OneOf_InterpolationSchemesInterpolate_grad_enthalpy" : {
        "title" : "interpolate(grad(h))",
        "description" : "<p>With this option you can choose your desired interpolation scheme.</p>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "CUBIC" : "#/components/schemas/Simulation.CubicInterpolationScheme",
            "LINEAR" : "#/components/schemas/Simulation.LinearInterpolationScheme"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.CubicInterpolationScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.LinearInterpolationScheme"
        } ],
        "default" : {
          "type" : "LINEAR"
        },
        "x-showWhen" : [ "type == CONJUGATE_HEAT_TRANSFER" ]
      },
      "Simulation.OneOf_InterpolationSchemesInterpolate_rho_rAU" : {
        "title" : "interpolate(rho*rAU)",
        "description" : "<p>With this option you can choose your desired interpolation scheme.</p>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "CUBIC" : "#/components/schemas/Simulation.CubicInterpolationScheme",
            "LINEAR" : "#/components/schemas/Simulation.LinearInterpolationScheme"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.CubicInterpolationScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.LinearInterpolationScheme"
        } ],
        "default" : {
          "type" : "LINEAR"
        },
        "x-showWhen" : [ "type == CONJUGATE_HEAT_TRANSFER" ]
      },
      "Simulation.OneOf_InterpolationSchemesInterpolate_rAU" : {
        "title" : "interpolate rAU",
        "description" : "<p>With this option you can choose your desired interpolation scheme.</p>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "CUBIC" : "#/components/schemas/Simulation.CubicInterpolationScheme",
            "LINEAR" : "#/components/schemas/Simulation.LinearInterpolationScheme"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.CubicInterpolationScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.LinearInterpolationScheme"
        } ],
        "default" : {
          "type" : "LINEAR"
        },
        "x-showWhen" : [ "type == CONVECTIVE_HEAT_TRANSFER && turbulenceModel in [SMAGORINSKY,SPALARTALLMARAS,NONE,KEPSILON,KOMEGASST] && isCompressible == false" ]
      },
      "Simulation.OneOf_InterpolationSchemesInterpolate_velocity0" : {
        "title" : "interpolate(U_0)",
        "description" : "<p>With this option you can choose your desired interpolation scheme.</p>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "CUBIC" : "#/components/schemas/Simulation.CubicInterpolationScheme",
            "LINEAR" : "#/components/schemas/Simulation.LinearInterpolationScheme"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.CubicInterpolationScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.LinearInterpolationScheme"
        } ],
        "default" : {
          "type" : "LINEAR"
        },
        "x-showWhen" : [ "type == CONVECTIVE_HEAT_TRANSFER && turbulenceModel in [SMAGORINSKY,SPALARTALLMARAS,NONE,KEPSILON,KOMEGASST] && timeDependency.type == TRANSIENT && isCompressible == false" ]
      },
      "Simulation.OneOf_InterpolationSchemesReconstruct_velocity" : {
        "title" : "reconstruct(U)",
        "description" : "<p>With this option you can choose your desired interpolation scheme.</p>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "CUBIC" : "#/components/schemas/Simulation.CubicInterpolationScheme",
            "LINEAR" : "#/components/schemas/Simulation.LinearInterpolationScheme"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.CubicInterpolationScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.LinearInterpolationScheme"
        } ],
        "default" : {
          "type" : "LINEAR"
        },
        "x-showWhen" : [ "type == COMPRESSIBLE && turbulenceModel == NONE && timeDependency.type == TRANSIENT" ]
      },
      "Simulation.OneOf_InterpolationSchemesReconstruct_temperature" : {
        "title" : "reconstruct(T)",
        "description" : "<p>With this option you can choose your desired interpolation scheme.</p>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "CUBIC" : "#/components/schemas/Simulation.CubicInterpolationScheme",
            "LINEAR" : "#/components/schemas/Simulation.LinearInterpolationScheme"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.CubicInterpolationScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.LinearInterpolationScheme"
        } ],
        "default" : {
          "type" : "LINEAR"
        },
        "x-showWhen" : [ "type == COMPRESSIBLE && turbulenceModel == NONE && timeDependency.type == TRANSIENT" ]
      },
      "Simulation.OneOf_InterpolationSchemesReconstruct_rho" : {
        "title" : "reconstruct(rho)",
        "description" : "<p>With this option you can choose your desired interpolation scheme.</p>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "CUBIC" : "#/components/schemas/Simulation.CubicInterpolationScheme",
            "LINEAR" : "#/components/schemas/Simulation.LinearInterpolationScheme"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.CubicInterpolationScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.LinearInterpolationScheme"
        } ],
        "default" : {
          "type" : "LINEAR"
        },
        "x-showWhen" : [ "type == COMPRESSIBLE && turbulenceModel == NONE && timeDependency.type == TRANSIENT" ]
      },
      "Simulation.OneOf_PhysicalContactConnections" : {
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "FRICTIONLESS_CONTACT" : "#/components/schemas/Simulation.FrictionlessContact",
            "FRICTION_CONTACT" : "#/components/schemas/Simulation.FrictionContact"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.FrictionlessContact"
        }, {
          "$ref" : "#/components/schemas/Simulation.FrictionContact"
        } ]
      },
      "Simulation.OneOf_TemporalResponseResultControlItemFieldSelection" : {
        "title" : "Field selection",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "DISPLACEMENT" : "#/components/schemas/Simulation.DisplacementFieldSelection",
            "CONTACT" : "#/components/schemas/Simulation.ContactFieldSelection",
            "STRAIN" : "#/components/schemas/Simulation.StrainFieldSelection",
            "STRESS" : "#/components/schemas/Simulation.StressFieldSelection",
            "VELOCITY" : "#/components/schemas/Simulation.VelocityFieldSelection",
            "ACCELERATION" : "#/components/schemas/Simulation.AccelerationFieldSelection",
            "TEMPERATURE" : "#/components/schemas/Simulation.TemperatureFieldSelection",
            "HEAT_FLUX" : "#/components/schemas/Simulation.HeatFluxFieldSelection"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.DisplacementFieldSelection"
        }, {
          "$ref" : "#/components/schemas/Simulation.ContactFieldSelection"
        }, {
          "$ref" : "#/components/schemas/Simulation.StrainFieldSelection"
        }, {
          "$ref" : "#/components/schemas/Simulation.StressFieldSelection"
        }, {
          "$ref" : "#/components/schemas/Simulation.VelocityFieldSelection"
        }, {
          "$ref" : "#/components/schemas/Simulation.AccelerationFieldSelection"
        }, {
          "$ref" : "#/components/schemas/Simulation.TemperatureFieldSelection"
        }, {
          "$ref" : "#/components/schemas/Simulation.HeatFluxFieldSelection"
        } ],
        "default" : {
          "type" : "DISPLACEMENT"
        },
        "x-showWhen" : [ "type in [STATIC_ANALYSIS,DYNAMIC_ANALYSIS,HEAT_TRANSFER,THERMAL_MECHANICAL]" ]
      },
      "Simulation.OneOf_DimensionalFunction_AngleValue" : {
        "title" : "Value",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "CONSTANT" : "#/components/schemas/Simulation.ConstantFunction",
            "EXPRESSION" : "#/components/schemas/Simulation.ExpressionFunction",
            "POLYNOMIAL" : "#/components/schemas/Simulation.PolynomialFunction",
            "TABLE_DEFINED" : "#/components/schemas/Simulation.TableDefinedFunction"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.ConstantFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.ExpressionFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.PolynomialFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.TableDefinedFunction"
        } ]
      },
      "Simulation.OneOf_ConnectionSettingsV36NonlinearityResolution" : {
        "title" : "Nonlinearity resolution",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "NEWTON" : "#/components/schemas/Simulation.NewtonNonLinearityResolution",
            "FIXED_POINT" : "#/components/schemas/Simulation.FixedPointNonLinearityResolution"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.NewtonNonLinearityResolution"
        }, {
          "$ref" : "#/components/schemas/Simulation.FixedPointNonLinearityResolution"
        } ],
        "default" : {
          "type" : "FIXED_POINT"
        }
      },
      "Simulation.OneOf_ConnectionSettingsV36Friction" : {
        "title" : "Friction",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "NO_FRICTION" : "#/components/schemas/Simulation.NoFriction",
            "COULOMB_FRICTION" : "#/components/schemas/Simulation.CoulombFriction"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.NoFriction"
        }, {
          "$ref" : "#/components/schemas/Simulation.CoulombFriction"
        } ],
        "default" : {
          "type" : "NO_FRICTION"
        },
        "x-showWhen" : [ "type in [STATIC_ANALYSIS,DYNAMIC_ANALYSIS,THERMAL_MECHANICAL]" ]
      },
      "Simulation.OneOf_ConnectionSettingsV36ContactNonLinearityResolution" : {
        "title" : "Contact nonlinearity resolution",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "NEWTON" : "#/components/schemas/Simulation.NewtonContactNonLinearityResolution",
            "FIXED_POINT" : "#/components/schemas/Simulation.FixedPointContactNonLinearityResolution"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.NewtonContactNonLinearityResolution"
        }, {
          "$ref" : "#/components/schemas/Simulation.FixedPointContactNonLinearityResolution"
        } ],
        "default" : {
          "type" : "NEWTON"
        }
      },
      "Simulation.OneOf_PBICGStabSolverPreconditioner" : {
        "title" : "Preconditioner",
        "description" : "<p>Choose a preconditioner for your solver. A preconditioner improves the convergence speed of your system. Therefore, it is generally recommended. DILU is a very common diagonal incomplete lower-upper decomposition preconditioner.</p>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "DILU" : "#/components/schemas/Simulation.DILUPreconditioner",
            "DIC" : "#/components/schemas/Simulation.DICPreconditioner",
            "ILUCP" : "#/components/schemas/Simulation.ILUCpPreconditioner"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.DILUPreconditioner"
        }, {
          "$ref" : "#/components/schemas/Simulation.DICPreconditioner"
        }, {
          "$ref" : "#/components/schemas/Simulation.ILUCpPreconditioner"
        } ],
        "x-conditionalDefaults" : [ {
          "when" : [ "1# == voltageSolver" ],
          "default" : {
            "type" : "DIC"
          }
        }, {
          "when" : [ "1# != voltageSolver" ],
          "default" : {
            "type" : "DILU"
          }
        } ]
      },
      "Simulation.OneOf_FluxSchemesForDefault" : {
        "title" : "Default",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "TADMOR" : "#/components/schemas/Simulation.TadmorFluxScheme",
            "KURGANOV" : "#/components/schemas/Simulation.KurganovFluxScheme"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.TadmorFluxScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.KurganovFluxScheme"
        } ],
        "default" : {
          "type" : "KURGANOV"
        },
        "x-showWhen" : [ "type == COMPRESSIBLE" ]
      },
      "Simulation.OneOf_DisplacementsConvergenceMethodConvergenceCriteria" : {
        "title" : "Convergence criteria",
        "description" : "<p>Defines whether the tolerances are measured relative to the overall solution, as absolute values, or dynamically adjusted.</p><ul><li><b>Relative:</b> Standard for general use. Tolerances are measured as a fraction of the current reference value (e.g., maximum applied force or displacement).</li><li><b>Absolute:</b> Necessary when the reference forces are near zero (e.g., free expansion). Tolerances are defined as fixed values in model units.</li><li><b>Adaptive:</b> Allows Marc to dynamically loosen or tighten tolerances based on solution progress, balancing robustness and computational efficiency.</li></ul>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "RELATIVE" : "#/components/schemas/Simulation.RelativeConvergenceDisplacements",
            "ABSOLUTE" : "#/components/schemas/Simulation.AbsoluteConvergenceDisplacements",
            "ADAPTIVE" : "#/components/schemas/Simulation.AdaptiveConvergenceDisplacements"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.RelativeConvergenceDisplacements"
        }, {
          "$ref" : "#/components/schemas/Simulation.AbsoluteConvergenceDisplacements"
        }, {
          "$ref" : "#/components/schemas/Simulation.AdaptiveConvergenceDisplacements"
        } ],
        "default" : {
          "type" : "RELATIVE"
        }
      },
      "Simulation.OneOf_PacefishMeshLegacyRefinements" : {
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "REGION_PACEFISH" : "#/components/schemas/Simulation.RegionRefinementPacefish",
            "SURFACE_PACEFISH" : "#/components/schemas/Simulation.SurfaceRefinementPacefish"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.RegionRefinementPacefish"
        }, {
          "$ref" : "#/components/schemas/Simulation.SurfaceRefinementPacefish"
        } ]
      },
      "Simulation.OneOf_StressResultControlItemStressType" : {
        "title" : "Stress type",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "TRESCA" : "#/components/schemas/Simulation.GlobalTrescaStressType",
            "CAUCHY" : "#/components/schemas/Simulation.GlobalCauchyStressType",
            "PRINCIPAL" : "#/components/schemas/Simulation.GlobalPrincipalStressType",
            "VON_MISES" : "#/components/schemas/Simulation.GlobalVonMisesStressType",
            "MAX_OVER_PHASE_VON_MISES" : "#/components/schemas/Simulation.GlobalMaxOverPhaseVonMisesStressType",
            "SIGNED_VON_MISES" : "#/components/schemas/Simulation.GlobalSignedVonMisesStressType"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.GlobalTrescaStressType"
        }, {
          "$ref" : "#/components/schemas/Simulation.GlobalCauchyStressType"
        }, {
          "$ref" : "#/components/schemas/Simulation.GlobalPrincipalStressType"
        }, {
          "$ref" : "#/components/schemas/Simulation.GlobalVonMisesStressType"
        }, {
          "$ref" : "#/components/schemas/Simulation.GlobalMaxOverPhaseVonMisesStressType"
        }, {
          "$ref" : "#/components/schemas/Simulation.GlobalSignedVonMisesStressType"
        } ],
        "x-showWhen" : [ "type in [STATIC_ANALYSIS,DYNAMIC_ANALYSIS,HARMONIC_ANALYSIS,THERMAL_MECHANICAL]" ]
      },
      "Simulation.OneOf_DimensionalFunction_SpecificEnergyValue" : {
        "title" : "Value",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "CONSTANT" : "#/components/schemas/Simulation.ConstantFunction",
            "EXPRESSION" : "#/components/schemas/Simulation.ExpressionFunction",
            "POLYNOMIAL" : "#/components/schemas/Simulation.PolynomialFunction",
            "TABLE_DEFINED" : "#/components/schemas/Simulation.TableDefinedFunction"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.ConstantFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.ExpressionFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.PolynomialFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.TableDefinedFunction"
        } ]
      },
      "Simulation.OneOf_RotatingSBMRotation" : {
        "title" : "Rotation",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "ANGULAR_ROTATION" : "#/components/schemas/Simulation.AngularRotation",
            "VECTOR_ROTATION" : "#/components/schemas/Simulation.VectorRotation"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.AngularRotation"
        }, {
          "$ref" : "#/components/schemas/Simulation.VectorRotation"
        } ]
      },
      "Simulation.OneOf_PressureOutletBCPressure" : {
        "title" : "Pressure type",
        "description" : "Please choose a boundary condition for pressure (p). <a href='https://www.simscale.com/docs/simulation-setup/boundary-conditions/pressure-inlet-and-pressure-outlet/' target='_blank'>Learn more</a>.",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "FIXED_VALUE" : "#/components/schemas/Simulation.FixedValuePBC",
            "FIXED_MEAN" : "#/components/schemas/Simulation.MeanValuePBC"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.FixedValuePBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.MeanValuePBC"
        } ],
        "x-showWhen" : [ "type == COMPRESSIBLE", "type == SIMERICS_ANALYSIS && isCompressible == true", "type == SIMERICS_ANALYSIS && cavitationModel == CONSTANT_GAS_MASS_FRACTION" ],
        "x-conditionalDefaults" : [ {
          "when" : [ "type in [COMPRESSIBLE,SIMERICS_ANALYSIS]" ],
          "default" : {
            "type" : "FIXED_VALUE"
          }
        } ]
      },
      "Simulation.OneOf_PressureOutletBCPressureRgh" : {
        "title" : "Pressure type",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "FIXED_VALUE" : "#/components/schemas/Simulation.FixedValuePBC",
            "FIXED_MEAN" : "#/components/schemas/Simulation.MeanValuePBC",
            "HYDROSTATIC_ISOTHERMAL_PRESSURE" : "#/components/schemas/Simulation.HydrostaticIsothermalPBC"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.FixedValuePBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.MeanValuePBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.HydrostaticIsothermalPBC"
        } ],
        "x-conditionalHelp" : [ {
          "when" : [ "1/pressureRgh/type in [FIXED_VALUE,FIXED_MEAN]" ]
        }, {
          "when" : [ "1/pressureRgh/type == HYDROSTATIC_ISOTHERMAL_PRESSURE" ]
        } ],
        "x-showWhen" : [ "type in [CONJUGATE_HEAT_TRANSFER,MULTIPHASE]", "type == CONVECTIVE_HEAT_TRANSFER && isCompressible == true", "type == COUPLED_CONJUGATE_HEAT_TRANSFER && isCompressible == true", "type == EMBEDDED_BOUNDARY && isCompressible == true" ],
        "x-conditionalDefaults" : [ {
          "when" : [ "type in [COUPLED_CONJUGATE_HEAT_TRANSFER,EMBEDDED_BOUNDARY]" ],
          "default" : {
            "type" : "HYDROSTATIC_ISOTHERMAL_PRESSURE"
          }
        }, {
          "when" : [ "type in [CONJUGATE_HEAT_TRANSFER,CONVECTIVE_HEAT_TRANSFER,MULTIPHASE]" ],
          "default" : {
            "type" : "FIXED_VALUE"
          }
        } ]
      },
      "Simulation.OneOf_PressureOutletBCGaugePressure" : {
        "title" : "Pressure type",
        "description" : "Please choose a boundary condition for gauge pressure (p). <a href='https://www.simscale.com/docs/simulation-setup/boundary-conditions/pressure-inlet-and-pressure-outlet/' target='_blank'>Learn more</a>.",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "FIXED_VALUE" : "#/components/schemas/Simulation.FixedValuePBC",
            "FIXED_MEAN" : "#/components/schemas/Simulation.MeanValuePBC"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.FixedValuePBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.MeanValuePBC"
        } ],
        "default" : {
          "type" : "FIXED_VALUE"
        },
        "x-showWhen" : [ "type == INCOMPRESSIBLE", "type == SIMERICS_ANALYSIS && isCompressible == false && isMultiphase == true", "type == SIMERICS_ANALYSIS && isCompressible == false && cavitationModel != CONSTANT_GAS_MASS_FRACTION" ]
      },
      "Simulation.OneOf_PressureOutletBCPhaseFractionsV2" : {
        "title" : "Phase fraction type",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "OUTLET_BACK_FLOW_PF_VALUES" : "#/components/schemas/Simulation.OutletBackFlowPFValues",
            "OUTLET_FLOW_DRIVEN_PF" : "#/components/schemas/Simulation.OutletFlowDrivenPF"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.OutletBackFlowPFValues"
        }, {
          "$ref" : "#/components/schemas/Simulation.OutletFlowDrivenPF"
        } ],
        "default" : {
          "type" : "OUTLET_FLOW_DRIVEN_PF"
        },
        "x-showWhen" : [ "type == SIMERICS_ANALYSIS && isMultiphase == true" ]
      },
      "Simulation.OneOf_PressureOutletBCGaugePressureRgh" : {
        "title" : "Pressure type",
        "description" : "Please choose a boundary condition for modified gauge pressure (p_rgh). <a href='https://www.simscale.com/docs/simulation-setup/boundary-conditions/pressure-inlet-and-pressure-outlet/' target='_blank'>Learn more</a>.",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "FIXED_VALUE" : "#/components/schemas/Simulation.FixedValuePBC",
            "FIXED_MEAN" : "#/components/schemas/Simulation.MeanValuePBC"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.FixedValuePBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.MeanValuePBC"
        } ],
        "default" : {
          "type" : "FIXED_VALUE"
        },
        "x-showWhen" : [ "type == COUPLED_CONJUGATE_HEAT_TRANSFER && isCompressible == false", "type == EMBEDDED_BOUNDARY && isCompressible == false", "type == CONVECTIVE_HEAT_TRANSFER && isCompressible == false" ]
      },
      "Simulation.OneOf_PressureOutletBCNetRadiativeHeatFlux" : {
        "title" : "Radiative behaviour",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "GREYBODY_DIFFUSIVE" : "#/components/schemas/Simulation.GreybodyDiffusiveRSBC",
            "OPEN_WINDOW" : "#/components/schemas/Simulation.OpenWindowRSBC"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.GreybodyDiffusiveRSBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.OpenWindowRSBC"
        } ],
        "default" : {
          "type" : "OPEN_WINDOW"
        },
        "x-showWhen" : [ "type == CONVECTIVE_HEAT_TRANSFER && enableRadiation == true", "type == CONJUGATE_HEAT_TRANSFER && enableRadiation == true" ]
      },
      "Simulation.OneOf_PressureOutletBCRadiativeIntensityRay" : {
        "title" : "Radiative behaviour",
        "description" : "<p><b>Radiative behaviour of the wall</b>. The Kirchhoff's law of thermal radiation is applied in all options. This means that the <b>absorptivity of the surface is equal to its emissivity</b>. <br> <ul><li><b>Opaque</b> is applied to surfaces with transmissivity equal to 0. The radiation that hits the surface will be absorbed and reflected, but not transmitted, e.g.: brick or concrete walls.</li><li><b>Transparent</b> is applied to surfaces with transmissivity equal to 1. The radiation that hits the surface will be fully transmitted to the other side, e.g.: inlets, outlets or regular windows.</li><li><b>Semi-transparent</b> is applied to non-fully transparent surfaces. The radiation that hits the surface will be absorbed, reflected and transmitted, e.g. some stained glass windows.</li></ul></p>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "GREYBODY_DIFFUSIVE_RAY" : "#/components/schemas/Simulation.GreybodyDiffusiveRayBC",
            "OPEN_BOUNDARY_RAY" : "#/components/schemas/Simulation.OpenBoundaryRayBC",
            "SEMI_OPEN_BOUNDARY_RAY" : "#/components/schemas/Simulation.SemiOpenBoundaryRayBC"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.GreybodyDiffusiveRayBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.OpenBoundaryRayBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.SemiOpenBoundaryRayBC"
        } ],
        "default" : {
          "type" : "OPEN_BOUNDARY_RAY"
        },
        "x-showWhen" : [ "type == COUPLED_CONJUGATE_HEAT_TRANSFER && enableRadiation == true", "type == COUPLED_CONJUGATE_HEAT_TRANSFER && enableSolarLoad == true", "type == EMBEDDED_BOUNDARY && enableRadiation == true", "type == EMBEDDED_BOUNDARY && enableSolarLoad == true" ]
      },
      "Simulation.OneOf_HyperElasticMaterialBehaviorHyperElasticModel" : {
        "title" : "Hyper elastic model",
        "description" : "<p>Choose the hyperelastic material model that should be used. All models derive the stress-strain relation from a strain energy function defined by the material model parameters.</p>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "MOONEY_RIVLIN" : "#/components/schemas/Simulation.MooneyRivlinHyperElasticModel",
            "NEO_HOOKE" : "#/components/schemas/Simulation.NeoHookeHyperElasticModel",
            "SIGNORINI" : "#/components/schemas/Simulation.SignoriniHyperElasticModel",
            "YEOH" : "#/components/schemas/Simulation.YeohHyperElasticModel",
            "OGDEN" : "#/components/schemas/Simulation.OgdenHyperElasticModel"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.MooneyRivlinHyperElasticModel"
        }, {
          "$ref" : "#/components/schemas/Simulation.NeoHookeHyperElasticModel"
        }, {
          "$ref" : "#/components/schemas/Simulation.SignoriniHyperElasticModel"
        }, {
          "$ref" : "#/components/schemas/Simulation.YeohHyperElasticModel"
        }, {
          "$ref" : "#/components/schemas/Simulation.OgdenHyperElasticModel"
        } ],
        "x-showWhen" : [ "type == STATIC_ANALYSIS && nonLinearAnalysis == true", "type == THERMAL_MECHANICAL && nonLinearAnalysis == true", "type == DYNAMIC_ANALYSIS" ]
      },
      "Simulation.OneOf_ResidualsOrDisplacementsConvergenceMethodConvergenceCriteria" : {
        "title" : "Convergence criteria",
        "description" : "<p>Defines whether the tolerances are measured relative to the overall solution, as absolute values, or dynamically adjusted.</p><ul><li><b>Relative:</b> Standard for general use. Tolerances are measured as a fraction of the current reference value (e.g., maximum applied force or displacement).</li><li><b>Absolute:</b> Necessary when the reference forces are near zero (e.g., free expansion). Tolerances are defined as fixed values in model units.</li><li><b>Adaptive:</b> Allows Marc to dynamically loosen or tighten tolerances based on solution progress, balancing robustness and computational efficiency.</li></ul>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "RELATIVE" : "#/components/schemas/Simulation.RelativeConvergenceResidualsOrDisplacements",
            "ABSOLUTE" : "#/components/schemas/Simulation.AbsoluteConvergenceResidualsOrDisplacements",
            "ADAPTIVE" : "#/components/schemas/Simulation.AdaptiveConvergenceResidualsOrDisplacements"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.RelativeConvergenceResidualsOrDisplacements"
        }, {
          "$ref" : "#/components/schemas/Simulation.AbsoluteConvergenceResidualsOrDisplacements"
        }, {
          "$ref" : "#/components/schemas/Simulation.AdaptiveConvergenceResidualsOrDisplacements"
        } ],
        "default" : {
          "type" : "RELATIVE"
        }
      },
      "Simulation.OneOf_SolidCompressibleMaterialTransport" : {
        "title" : "Conductivity type",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "CONST_ISO" : "#/components/schemas/Simulation.ConstIsoTransport",
            "CONST_AN_ISO" : "#/components/schemas/Simulation.ConstAnIsoTransport",
            "CONST_CROSS_PLANE_ORTHO" : "#/components/schemas/Simulation.ConstCrossPlaneOrthotropicTransport"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.ConstIsoTransport"
        }, {
          "$ref" : "#/components/schemas/Simulation.ConstAnIsoTransport"
        }, {
          "$ref" : "#/components/schemas/Simulation.ConstCrossPlaneOrthotropicTransport"
        } ],
        "default" : {
          "type" : "CONST_ISO"
        }
      },
      "Simulation.OneOf_SolidCompressibleMaterialRadiativeBehavior" : {
        "title" : "Radiative behaviour",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "TRANSPARENT_MATERIAL" : "#/components/schemas/Simulation.TransparentMaterial",
            "SEMI_TRANSPARENT_MATERIAL" : "#/components/schemas/Simulation.SemiTransparentMaterial",
            "OPAQUE_MATERIAL" : "#/components/schemas/Simulation.OpaqueMaterial"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.TransparentMaterial"
        }, {
          "$ref" : "#/components/schemas/Simulation.SemiTransparentMaterial"
        }, {
          "$ref" : "#/components/schemas/Simulation.OpaqueMaterial"
        } ],
        "default" : {
          "type" : "OPAQUE_MATERIAL"
        },
        "x-showWhen" : [ "type == COUPLED_CONJUGATE_HEAT_TRANSFER && enableRadiation == true", "type == COUPLED_CONJUGATE_HEAT_TRANSFER && enableSolarLoad == true", "type == EMBEDDED_BOUNDARY && enableRadiation == true", "type == EMBEDDED_BOUNDARY && enableSolarLoad == true" ]
      },
      "Simulation.OneOf_SolidCompressibleMaterialElectricConductivityType" : {
        "title" : "Electric conductivity type",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "DIELECTRIC" : "#/components/schemas/Simulation.Dielectric",
            "ISOTROPIC_ELECTRIC_CONDUCTIVITY" : "#/components/schemas/Simulation.IsotropicElectricConductivity",
            "ORTHOTROPIC_ELECTRIC_CONDUCTIVITY" : "#/components/schemas/Simulation.OrthotropicElectricConductivity"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.Dielectric"
        }, {
          "$ref" : "#/components/schemas/Simulation.IsotropicElectricConductivity"
        }, {
          "$ref" : "#/components/schemas/Simulation.OrthotropicElectricConductivity"
        } ],
        "default" : {
          "type" : "DIELECTRIC"
        },
        "x-showWhen" : [ "type == COUPLED_CONJUGATE_HEAT_TRANSFER && enableJouleHeating == true", "type == EMBEDDED_BOUNDARY && enableJouleHeating == true" ]
      },
      "Simulation.OneOf_CoupledConjugateHeatTransferTimeDependency" : {
        "title" : "Time dependency",
        "description" : "<p><strong>Steady-state</strong>: Steady-state simulations are time-independent, that is, the equations solved do not include time derivatives. If you are only interested in the converged solution, consider a steady-state simulation.</p><p><strong>Transient</strong>: Transient simulations account for time-dependent effects, that is, the associated flow variables vary with respect to time.</p>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "TRANSIENT" : "#/components/schemas/Simulation.TransientTimeDependency",
            "STATIONARY" : "#/components/schemas/Simulation.StationaryTimeDependency"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.TransientTimeDependency"
        }, {
          "$ref" : "#/components/schemas/Simulation.StationaryTimeDependency"
        } ],
        "default" : {
          "type" : "STATIONARY"
        }
      },
      "Simulation.OneOf_CoupledConjugateHeatTransferBoundaryConditions" : {
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "VELOCITY_INLET_V3" : "#/components/schemas/Simulation.VelocityInletBC",
            "VELOCITY_OUTLET_V7" : "#/components/schemas/Simulation.VelocityOutletBC",
            "PRESSURE_INLET_V31" : "#/components/schemas/Simulation.PressureInletBC",
            "PRESSURE_OUTLET_V30" : "#/components/schemas/Simulation.PressureOutletBC",
            "WALL_V34" : "#/components/schemas/Simulation.WallBC",
            "FAN" : "#/components/schemas/Simulation.FanBC",
            "SYMMETRY" : "#/components/schemas/Simulation.SymmetryBC",
            "PERIODIC" : "#/components/schemas/Simulation.PeriodicBC",
            "NATURAL_CONVECTION_INLET_OUTLET" : "#/components/schemas/Simulation.NaturalConvectionInletOutletBC"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.VelocityInletBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.VelocityOutletBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.PressureInletBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.PressureOutletBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.WallBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.FanBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.SymmetryBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.PeriodicBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.NaturalConvectionInletOutletBC"
        } ]
      },
      "Simulation.OneOf_DimensionalFunction_TurbulenceKineticEnergyValue" : {
        "title" : "Value",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "CONSTANT" : "#/components/schemas/Simulation.ConstantFunction",
            "EXPRESSION" : "#/components/schemas/Simulation.ExpressionFunction",
            "POLYNOMIAL" : "#/components/schemas/Simulation.PolynomialFunction",
            "TABLE_DEFINED" : "#/components/schemas/Simulation.TableDefinedFunction"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.ConstantFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.ExpressionFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.PolynomialFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.TableDefinedFunction"
        } ]
      },
      "Simulation.OneOf_TransientResultControlWriteControl" : {
        "title" : "Write control",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "HIGH_RESOLUTION" : "#/components/schemas/Simulation.HighResolution",
            "MODERATE_RESOLUTION" : "#/components/schemas/Simulation.ModerateResolution",
            "COARSE_RESOLUTION" : "#/components/schemas/Simulation.CoarseResolution",
            "CUSTOM_RESOLUTION" : "#/components/schemas/Simulation.CustomResolution"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.HighResolution"
        }, {
          "$ref" : "#/components/schemas/Simulation.ModerateResolution"
        }, {
          "$ref" : "#/components/schemas/Simulation.CoarseResolution"
        }, {
          "$ref" : "#/components/schemas/Simulation.CustomResolution"
        } ],
        "default" : {
          "type" : "MODERATE_RESOLUTION"
        }
      },
      "Simulation.OneOf_ResidualsConvergenceMethodConvergenceCriteria" : {
        "title" : "Convergence criteria",
        "description" : "<p>Defines whether the tolerances are measured relative to the overall solution, as absolute values, or dynamically adjusted.</p><ul><li><b>Relative:</b> Standard for general use. Tolerances are measured as a fraction of the current reference value (e.g., maximum applied force or displacement).</li><li><b>Absolute:</b> Necessary when the reference forces are near zero (e.g., free expansion). Tolerances are defined as fixed values in model units.</li><li><b>Adaptive:</b> Allows Marc to dynamically loosen or tighten tolerances based on solution progress, balancing robustness and computational efficiency.</li></ul>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "RELATIVE" : "#/components/schemas/Simulation.RelativeConvergenceResiduals",
            "ABSOLUTE" : "#/components/schemas/Simulation.AbsoluteConvergenceResiduals",
            "ADAPTIVE" : "#/components/schemas/Simulation.AdaptiveConvergenceResiduals"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.RelativeConvergenceResiduals"
        }, {
          "$ref" : "#/components/schemas/Simulation.AbsoluteConvergenceResiduals"
        }, {
          "$ref" : "#/components/schemas/Simulation.AdaptiveConvergenceResiduals"
        } ],
        "default" : {
          "type" : "RELATIVE"
        }
      },
      "Simulation.OneOf_AdvancedMUMPSSettingsMumpsAcceleration" : {
        "title" : "Acceleration",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "AUTOMATIC" : "#/components/schemas/Simulation.AutomaticAcceleration",
            "FULL_RANK" : "#/components/schemas/Simulation.FullRankAcceleration",
            "LOW_RANK" : "#/components/schemas/Simulation.LowRankAcceleration"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.AutomaticAcceleration"
        }, {
          "$ref" : "#/components/schemas/Simulation.FullRankAcceleration"
        }, {
          "$ref" : "#/components/schemas/Simulation.LowRankAcceleration"
        } ],
        "default" : {
          "type" : "AUTOMATIC"
        }
      },
      "Simulation.OneOf_MinMaxFieldsCalculationResultControlItemFieldSelection" : {
        "title" : "Field selection",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "DISPLACEMENT" : "#/components/schemas/Simulation.DisplacementFieldSelection",
            "FORCE" : "#/components/schemas/Simulation.ForceFieldSelection",
            "CONTACT" : "#/components/schemas/Simulation.ContactFieldSelection",
            "STRAIN" : "#/components/schemas/Simulation.StrainFieldSelection",
            "STRESS" : "#/components/schemas/Simulation.StressFieldSelection",
            "VELOCITY" : "#/components/schemas/Simulation.VelocityFieldSelection",
            "ACCELERATION" : "#/components/schemas/Simulation.AccelerationFieldSelection",
            "TEMPERATURE" : "#/components/schemas/Simulation.TemperatureFieldSelection",
            "HEAT_FLUX" : "#/components/schemas/Simulation.HeatFluxFieldSelection"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.DisplacementFieldSelection"
        }, {
          "$ref" : "#/components/schemas/Simulation.ForceFieldSelection"
        }, {
          "$ref" : "#/components/schemas/Simulation.ContactFieldSelection"
        }, {
          "$ref" : "#/components/schemas/Simulation.StrainFieldSelection"
        }, {
          "$ref" : "#/components/schemas/Simulation.StressFieldSelection"
        }, {
          "$ref" : "#/components/schemas/Simulation.VelocityFieldSelection"
        }, {
          "$ref" : "#/components/schemas/Simulation.AccelerationFieldSelection"
        }, {
          "$ref" : "#/components/schemas/Simulation.TemperatureFieldSelection"
        }, {
          "$ref" : "#/components/schemas/Simulation.HeatFluxFieldSelection"
        } ],
        "default" : {
          "type" : "DISPLACEMENT"
        },
        "x-showWhen" : [ "type in [STATIC_ANALYSIS,DYNAMIC_ANALYSIS,HEAT_TRANSFER,THERMAL_MECHANICAL]" ]
      },
      "Simulation.OneOf_GradientSchemesForDefault" : {
        "title" : "Default",
        "description" : "<p>With this option, you can choose your desired gradient scheme:</p><ul><li><p>If you are unsure, try <b>Gauss linear</b> first.</p><li><p>If you require a higher-order scheme you can use <b>leastSquares</b>.</p></ul>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "GAUSS_LINEAR" : "#/components/schemas/Simulation.GaussLinearGradientScheme",
            "CELLLIMITED_GAUSS_LINEAR" : "#/components/schemas/Simulation.CelllimitedGaussLinearGradientScheme",
            "CELLLIMITED_LEASTSQUARES" : "#/components/schemas/Simulation.CelllimitedLeastSquaresGradientScheme",
            "FOURTH" : "#/components/schemas/Simulation.FourthGradientScheme",
            "LEASTSQUARES" : "#/components/schemas/Simulation.LeastsquaresGradientScheme"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.GaussLinearGradientScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.CelllimitedGaussLinearGradientScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.CelllimitedLeastSquaresGradientScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.FourthGradientScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.LeastsquaresGradientScheme"
        } ],
        "default" : {
          "type" : "CELLLIMITED_LEASTSQUARES"
        },
        "x-showWhen" : [ "type in [COMPRESSIBLE,INCOMPRESSIBLE,CONJUGATE_HEAT_TRANSFER,CONVECTIVE_HEAT_TRANSFER,MULTIPHASE]" ]
      },
      "Simulation.OneOf_GradientSchemesGrad_pressure" : {
        "title" : "grad(p)",
        "description" : "<p>With this option, you can choose your desired gradient scheme:</p><ul><li><p>If you are unsure, try <b>Gauss linear</b> first.</p><li><p>If you require a higher-order scheme you can use <b>leastSquares</b>.</p></ul>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "GAUSS_LINEAR" : "#/components/schemas/Simulation.GaussLinearGradientScheme",
            "CELLLIMITED_GAUSS_LINEAR" : "#/components/schemas/Simulation.CelllimitedGaussLinearGradientScheme",
            "CELLLIMITED_LEASTSQUARES" : "#/components/schemas/Simulation.CelllimitedLeastSquaresGradientScheme",
            "FOURTH" : "#/components/schemas/Simulation.FourthGradientScheme",
            "LEASTSQUARES" : "#/components/schemas/Simulation.LeastsquaresGradientScheme"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.GaussLinearGradientScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.CelllimitedGaussLinearGradientScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.CelllimitedLeastSquaresGradientScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.FourthGradientScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.LeastsquaresGradientScheme"
        } ],
        "default" : {
          "type" : "CELLLIMITED_LEASTSQUARES"
        },
        "x-showWhen" : [ "type == INCOMPRESSIBLE", "type == COMPRESSIBLE && timeDependency.type == TRANSIENT && turbulenceModel != NONE", "type == COMPRESSIBLE && timeDependency.type == TRANSIENT" ]
      },
      "Simulation.OneOf_GradientSchemesGrad_velocity" : {
        "title" : "grad(U)",
        "description" : "<p>With this option, you can choose your desired gradient scheme:</p><ul><li><p>If you are unsure, try <b>Gauss linear</b> first.</p><li><p>If you require a higher-order scheme you can use <b>leastSquares</b>.</p></ul>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "GAUSS_LINEAR" : "#/components/schemas/Simulation.GaussLinearGradientScheme",
            "CELLLIMITED_GAUSS_LINEAR" : "#/components/schemas/Simulation.CelllimitedGaussLinearGradientScheme",
            "CELLLIMITED_LEASTSQUARES" : "#/components/schemas/Simulation.CelllimitedLeastSquaresGradientScheme",
            "FOURTH" : "#/components/schemas/Simulation.FourthGradientScheme",
            "LEASTSQUARES" : "#/components/schemas/Simulation.LeastsquaresGradientScheme"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.GaussLinearGradientScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.CelllimitedGaussLinearGradientScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.CelllimitedLeastSquaresGradientScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.FourthGradientScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.LeastsquaresGradientScheme"
        } ],
        "default" : {
          "type" : "CELLLIMITED_LEASTSQUARES"
        },
        "x-showWhen" : [ "type == CONJUGATE_HEAT_TRANSFER", "type == INCOMPRESSIBLE && algorithm != ICO", "type == CONVECTIVE_HEAT_TRANSFER && isCompressible == false" ]
      },
      "Simulation.OneOf_GradientSchemesGrad_pressureRgh" : {
        "title" : "grad(p_rgh)",
        "description" : "<p>With this option, you can choose your desired gradient scheme:</p><ul><li><p>If you are unsure, try <b>Gauss linear</b> first.</p><li><p>If you require a higher-order scheme you can use <b>leastSquares</b>.</p></ul>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "GAUSS_LINEAR" : "#/components/schemas/Simulation.GaussLinearGradientScheme",
            "CELLLIMITED_GAUSS_LINEAR" : "#/components/schemas/Simulation.CelllimitedGaussLinearGradientScheme",
            "CELLLIMITED_LEASTSQUARES" : "#/components/schemas/Simulation.CelllimitedLeastSquaresGradientScheme",
            "FOURTH" : "#/components/schemas/Simulation.FourthGradientScheme",
            "LEASTSQUARES" : "#/components/schemas/Simulation.LeastsquaresGradientScheme"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.GaussLinearGradientScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.CelllimitedGaussLinearGradientScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.CelllimitedLeastSquaresGradientScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.FourthGradientScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.LeastsquaresGradientScheme"
        } ],
        "default" : {
          "type" : "CELLLIMITED_LEASTSQUARES"
        },
        "x-showWhen" : [ "type == CONJUGATE_HEAT_TRANSFER", "type == CONVECTIVE_HEAT_TRANSFER && isCompressible == false" ]
      },
      "Simulation.OneOf_GradientSchemesGrad_density" : {
        "title" : "grad(rho)",
        "description" : "<p>With this option, you can choose your desired gradient scheme:</p><ul><li><p>If you are unsure, try <b>Gauss linear</b> first.</p><li><p>If you require a higher-order scheme you can use <b>leastSquares</b>.</p></ul>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "GAUSS_LINEAR" : "#/components/schemas/Simulation.GaussLinearGradientScheme",
            "CELLLIMITED_GAUSS_LINEAR" : "#/components/schemas/Simulation.CelllimitedGaussLinearGradientScheme",
            "CELLLIMITED_LEASTSQUARES" : "#/components/schemas/Simulation.CelllimitedLeastSquaresGradientScheme",
            "FOURTH" : "#/components/schemas/Simulation.FourthGradientScheme",
            "LEASTSQUARES" : "#/components/schemas/Simulation.LeastsquaresGradientScheme"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.GaussLinearGradientScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.CelllimitedGaussLinearGradientScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.CelllimitedLeastSquaresGradientScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.FourthGradientScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.LeastsquaresGradientScheme"
        } ],
        "default" : {
          "type" : "CELLLIMITED_LEASTSQUARES"
        },
        "x-showWhen" : [ "type == CONJUGATE_HEAT_TRANSFER" ]
      },
      "Simulation.OneOf_GradientSchemesGrad_enthalpy" : {
        "title" : "grad(h)",
        "description" : "<p>With this option, you can choose your desired gradient scheme:</p><ul><li><p>If you are unsure, try <b>Gauss linear</b> first.</p><li><p>If you require a higher-order scheme you can use <b>leastSquares</b>.</p></ul>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "GAUSS_LINEAR" : "#/components/schemas/Simulation.GaussLinearGradientScheme",
            "CELLLIMITED_GAUSS_LINEAR" : "#/components/schemas/Simulation.CelllimitedGaussLinearGradientScheme",
            "CELLLIMITED_LEASTSQUARES" : "#/components/schemas/Simulation.CelllimitedLeastSquaresGradientScheme",
            "FOURTH" : "#/components/schemas/Simulation.FourthGradientScheme",
            "LEASTSQUARES" : "#/components/schemas/Simulation.LeastsquaresGradientScheme"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.GaussLinearGradientScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.CelllimitedGaussLinearGradientScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.CelllimitedLeastSquaresGradientScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.FourthGradientScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.LeastsquaresGradientScheme"
        } ],
        "default" : {
          "type" : "CELLLIMITED_LEASTSQUARES"
        },
        "x-showWhen" : [ "type == CONJUGATE_HEAT_TRANSFER" ]
      },
      "Simulation.OneOf_GradientSchemesGrad_internalEnergy" : {
        "title" : "grad(e)",
        "description" : "<p>With this option, you can choose your desired gradient scheme:</p><ul><li><p>If you are unsure, try <b>Gauss linear</b> first.</p><li><p>If you require a higher-order scheme you can use <b>leastSquares</b>.</p></ul>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "GAUSS_LINEAR" : "#/components/schemas/Simulation.GaussLinearGradientScheme",
            "CELLLIMITED_GAUSS_LINEAR" : "#/components/schemas/Simulation.CelllimitedGaussLinearGradientScheme",
            "CELLLIMITED_LEASTSQUARES" : "#/components/schemas/Simulation.CelllimitedLeastSquaresGradientScheme",
            "FOURTH" : "#/components/schemas/Simulation.FourthGradientScheme",
            "LEASTSQUARES" : "#/components/schemas/Simulation.LeastsquaresGradientScheme"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.GaussLinearGradientScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.CelllimitedGaussLinearGradientScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.CelllimitedLeastSquaresGradientScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.FourthGradientScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.LeastsquaresGradientScheme"
        } ],
        "default" : {
          "type" : "CELLLIMITED_LEASTSQUARES"
        },
        "x-showWhen" : [ "type == CONJUGATE_HEAT_TRANSFER" ]
      },
      "Simulation.OneOf_GradientSchemesGrad_turbulentKineticEnergy" : {
        "title" : "grad(k)",
        "description" : "<p>With this option, you can choose your desired gradient scheme:</p><ul><li><p>If you are unsure, try <b>Gauss linear</b> first.</p><li><p>If you require a higher-order scheme you can use <b>leastSquares</b>.</p></ul>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "GAUSS_LINEAR" : "#/components/schemas/Simulation.GaussLinearGradientScheme",
            "CELLLIMITED_GAUSS_LINEAR" : "#/components/schemas/Simulation.CelllimitedGaussLinearGradientScheme",
            "CELLLIMITED_LEASTSQUARES" : "#/components/schemas/Simulation.CelllimitedLeastSquaresGradientScheme",
            "FOURTH" : "#/components/schemas/Simulation.FourthGradientScheme",
            "LEASTSQUARES" : "#/components/schemas/Simulation.LeastsquaresGradientScheme"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.GaussLinearGradientScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.CelllimitedGaussLinearGradientScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.CelllimitedLeastSquaresGradientScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.FourthGradientScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.LeastsquaresGradientScheme"
        } ],
        "default" : {
          "type" : "CELLLIMITED_LEASTSQUARES"
        },
        "x-showWhen" : [ "type == CONVECTIVE_HEAT_TRANSFER && turbulenceModel in [KEPSILON,KOMEGASST] && isCompressible == false", "type == CONJUGATE_HEAT_TRANSFER && turbulenceModel in [KEPSILON,KOMEGASST]" ]
      },
      "Simulation.OneOf_GradientSchemesGrad_epsilonDissipationRate" : {
        "title" : "grad(epsilon)",
        "description" : "<p>With this option, you can choose your desired gradient scheme:</p><ul><li><p>If you are unsure, try <b>Gauss linear</b> first.</p><li><p>If you require a higher-order scheme you can use <b>leastSquares</b>.</p></ul>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "GAUSS_LINEAR" : "#/components/schemas/Simulation.GaussLinearGradientScheme",
            "CELLLIMITED_GAUSS_LINEAR" : "#/components/schemas/Simulation.CelllimitedGaussLinearGradientScheme",
            "CELLLIMITED_LEASTSQUARES" : "#/components/schemas/Simulation.CelllimitedLeastSquaresGradientScheme",
            "FOURTH" : "#/components/schemas/Simulation.FourthGradientScheme",
            "LEASTSQUARES" : "#/components/schemas/Simulation.LeastsquaresGradientScheme"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.GaussLinearGradientScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.CelllimitedGaussLinearGradientScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.CelllimitedLeastSquaresGradientScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.FourthGradientScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.LeastsquaresGradientScheme"
        } ],
        "default" : {
          "type" : "CELLLIMITED_LEASTSQUARES"
        },
        "x-showWhen" : [ "type == CONVECTIVE_HEAT_TRANSFER && turbulenceModel == KEPSILON && isCompressible == false", "type == CONJUGATE_HEAT_TRANSFER && turbulenceModel == KEPSILON" ]
      },
      "Simulation.OneOf_GradientSchemesGrad_omegaDissipationRate" : {
        "title" : "grad(omega)",
        "description" : "<p>With this option, you can choose your desired gradient scheme:</p><ul><li><p>If you are unsure, try <b>Gauss linear</b> first.</p><li><p>If you require a higher-order scheme you can use <b>leastSquares</b>.</p></ul>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "GAUSS_LINEAR" : "#/components/schemas/Simulation.GaussLinearGradientScheme",
            "CELLLIMITED_GAUSS_LINEAR" : "#/components/schemas/Simulation.CelllimitedGaussLinearGradientScheme",
            "CELLLIMITED_LEASTSQUARES" : "#/components/schemas/Simulation.CelllimitedLeastSquaresGradientScheme",
            "FOURTH" : "#/components/schemas/Simulation.FourthGradientScheme",
            "LEASTSQUARES" : "#/components/schemas/Simulation.LeastsquaresGradientScheme"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.GaussLinearGradientScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.CelllimitedGaussLinearGradientScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.CelllimitedLeastSquaresGradientScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.FourthGradientScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.LeastsquaresGradientScheme"
        } ],
        "default" : {
          "type" : "CELLLIMITED_LEASTSQUARES"
        },
        "x-showWhen" : [ "type == CONVECTIVE_HEAT_TRANSFER && turbulenceModel == KOMEGASST && isCompressible == false", "type == CONJUGATE_HEAT_TRANSFER && turbulenceModel == KOMEGASST" ]
      },
      "Simulation.OneOf_GradientSchemesGrad_nuTilda" : {
        "title" : "grad(nuTilda)",
        "description" : "<p>With this option, you can choose your desired gradient scheme:</p><ul><li><p>If you are unsure, try <b>Gauss linear</b> first.</p><li><p>If you require a higher-order scheme you can use <b>leastSquares</b>.</p></ul>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "GAUSS_LINEAR" : "#/components/schemas/Simulation.GaussLinearGradientScheme",
            "CELLLIMITED_GAUSS_LINEAR" : "#/components/schemas/Simulation.CelllimitedGaussLinearGradientScheme",
            "CELLLIMITED_LEASTSQUARES" : "#/components/schemas/Simulation.CelllimitedLeastSquaresGradientScheme",
            "FOURTH" : "#/components/schemas/Simulation.FourthGradientScheme",
            "LEASTSQUARES" : "#/components/schemas/Simulation.LeastsquaresGradientScheme"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.GaussLinearGradientScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.CelllimitedGaussLinearGradientScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.CelllimitedLeastSquaresGradientScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.FourthGradientScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.LeastsquaresGradientScheme"
        } ],
        "default" : {
          "type" : "CELLLIMITED_LEASTSQUARES"
        },
        "x-showWhen" : [ "type == INCOMPRESSIBLE && turbulenceModel == SPALARTALLMARAS && algorithm == PIMPLE", "type in [COMPRESSIBLE,CONVECTIVE_HEAT_TRANSFER,MULTIPHASE] && turbulenceModel == SPALARTALLMARAS" ]
      },
      "Simulation.OneOf_GradientSchemesGrad_temperature" : {
        "title" : "grad(T)",
        "description" : "<p>With this option, you can choose your desired gradient scheme:</p><ul><li><p>If you are unsure, try <b>Gauss linear</b> first.</p><li><p>If you require a higher-order scheme you can use <b>leastSquares</b>.</p></ul>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "GAUSS_LINEAR" : "#/components/schemas/Simulation.GaussLinearGradientScheme",
            "CELLLIMITED_GAUSS_LINEAR" : "#/components/schemas/Simulation.CelllimitedGaussLinearGradientScheme",
            "CELLLIMITED_LEASTSQUARES" : "#/components/schemas/Simulation.CelllimitedLeastSquaresGradientScheme",
            "FOURTH" : "#/components/schemas/Simulation.FourthGradientScheme",
            "LEASTSQUARES" : "#/components/schemas/Simulation.LeastsquaresGradientScheme"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.GaussLinearGradientScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.CelllimitedGaussLinearGradientScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.CelllimitedLeastSquaresGradientScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.FourthGradientScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.LeastsquaresGradientScheme"
        } ],
        "default" : {
          "type" : "CELLLIMITED_LEASTSQUARES"
        },
        "x-showWhen" : [ "type == CONVECTIVE_HEAT_TRANSFER && isCompressible == false" ]
      },
      "Simulation.OneOf_GradientSchemesGrad_rhok" : {
        "title" : "grad(rhok)",
        "description" : "<p>With this option, you can choose your desired gradient scheme:</p><ul><li><p>If you are unsure, try <b>Gauss linear</b> first.</p><li><p>If you require a higher-order scheme you can use <b>leastSquares</b>.</p></ul>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "GAUSS_LINEAR" : "#/components/schemas/Simulation.GaussLinearGradientScheme",
            "CELLLIMITED_GAUSS_LINEAR" : "#/components/schemas/Simulation.CelllimitedGaussLinearGradientScheme",
            "CELLLIMITED_LEASTSQUARES" : "#/components/schemas/Simulation.CelllimitedLeastSquaresGradientScheme",
            "FOURTH" : "#/components/schemas/Simulation.FourthGradientScheme",
            "LEASTSQUARES" : "#/components/schemas/Simulation.LeastsquaresGradientScheme"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.GaussLinearGradientScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.CelllimitedGaussLinearGradientScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.CelllimitedLeastSquaresGradientScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.FourthGradientScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.LeastsquaresGradientScheme"
        } ],
        "default" : {
          "type" : "CELLLIMITED_LEASTSQUARES"
        },
        "x-showWhen" : [ "type == CONVECTIVE_HEAT_TRANSFER && isCompressible == false" ]
      },
      "Simulation.OneOf_ElasticSupportBCSpringStiffness" : {
        "title" : "Spring stiffness",
        "description" : "<p>The stiffness can either be assumed equal in all directions by selecting <b>isotropic</b> or it can depend on the force direction by selecting <b>orthotropic</b>. For an orthotropic stiffness the stiffness value along each global coordinate direction can be given independently.</p>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "ISOTROPIC" : "#/components/schemas/Simulation.IsotropicSpringStiffness",
            "ORTHOTROPIC" : "#/components/schemas/Simulation.OrthotropicSpringStiffness"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.IsotropicSpringStiffness"
        }, {
          "$ref" : "#/components/schemas/Simulation.OrthotropicSpringStiffness"
        } ],
        "default" : {
          "type" : "ISOTROPIC"
        },
        "x-showWhen" : [ "type in [STATIC_ANALYSIS,DYNAMIC_ANALYSIS,THERMAL_MECHANICAL,HARMONIC_ANALYSIS,FREQUENCY_ANALYSIS]" ]
      },
      "Simulation.OneOf_DimensionalFunction_DensityValue" : {
        "title" : "Value",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "CONSTANT" : "#/components/schemas/Simulation.ConstantFunction",
            "EXPRESSION" : "#/components/schemas/Simulation.ExpressionFunction",
            "POLYNOMIAL" : "#/components/schemas/Simulation.PolynomialFunction",
            "TABLE_DEFINED" : "#/components/schemas/Simulation.TableDefinedFunction"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.ConstantFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.ExpressionFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.PolynomialFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.TableDefinedFunction"
        } ]
      },
      "Simulation.OneOf_LanczosSubspaceSettings" : {
        "title" : "Subspace settings",
        "description" : "<p>Specify the subspace used by the eigensolver. This setting should only be changed if the errors during the solution procedure occur that recommend to change it. In general, the more frequencies are computed, the larger the subspace should be.<br> <li><b>Automatic</b>: The solver selects an appropriate subspace itself based on the model and other inputs.</li><li><b>Dimension</b>: Directly specify the subspace dimension. This should be only done after checking the error log, which gives hints on selecting this setting.</li><li><b>Coefficient</b>: Multiplier for setting the subspace dimension proportional to the number of computed frequencies</li></p>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "AUTOMATIC" : "#/components/schemas/Simulation.AutomaticSubspaceSettings",
            "SUBSPACE_DIMENSION" : "#/components/schemas/Simulation.SubspaceDimension",
            "SUBSPACE_COEFFICIENT" : "#/components/schemas/Simulation.SubspaceCoefficient"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.AutomaticSubspaceSettings"
        }, {
          "$ref" : "#/components/schemas/Simulation.SubspaceDimension"
        }, {
          "$ref" : "#/components/schemas/Simulation.SubspaceCoefficient"
        } ],
        "default" : {
          "type" : "AUTOMATIC"
        }
      },
      "Simulation.OneOf_ComponentVectorFunctionX" : {
        "title" : "X",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "CONSTANT" : "#/components/schemas/Simulation.ConstantFunction",
            "EXPRESSION" : "#/components/schemas/Simulation.ExpressionFunction",
            "POLYNOMIAL" : "#/components/schemas/Simulation.PolynomialFunction",
            "TABLE_DEFINED" : "#/components/schemas/Simulation.TableDefinedFunction"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.ConstantFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.ExpressionFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.PolynomialFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.TableDefinedFunction"
        } ]
      },
      "Simulation.OneOf_ComponentVectorFunctionY" : {
        "title" : "Y",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "CONSTANT" : "#/components/schemas/Simulation.ConstantFunction",
            "EXPRESSION" : "#/components/schemas/Simulation.ExpressionFunction",
            "POLYNOMIAL" : "#/components/schemas/Simulation.PolynomialFunction",
            "TABLE_DEFINED" : "#/components/schemas/Simulation.TableDefinedFunction"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.ConstantFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.ExpressionFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.PolynomialFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.TableDefinedFunction"
        } ]
      },
      "Simulation.OneOf_ComponentVectorFunctionZ" : {
        "title" : "Z",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "CONSTANT" : "#/components/schemas/Simulation.ConstantFunction",
            "EXPRESSION" : "#/components/schemas/Simulation.ExpressionFunction",
            "POLYNOMIAL" : "#/components/schemas/Simulation.PolynomialFunction",
            "TABLE_DEFINED" : "#/components/schemas/Simulation.TableDefinedFunction"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.ConstantFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.ExpressionFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.PolynomialFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.TableDefinedFunction"
        } ]
      },
      "Simulation.OneOf_DimensionalVectorFunction_AccelerationValue" : {
        "title" : "Value",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "COMPONENT" : "#/components/schemas/Simulation.ComponentVectorFunction",
            "TABLE_DEFINED" : "#/components/schemas/Simulation.TableDefinedVectorFunction"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.ComponentVectorFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.TableDefinedVectorFunction"
        } ]
      },
      "Simulation.OneOf_PlasticMaterialBehaviorElastoPlasticModel" : {
        "title" : "Elasto-plastic model",
        "description" : "Choose the Elasto-plastic model for your problem. <br /><br />Important remarks:<br /><ul><li>Choose <b>Bilinear</b> if the material response is a combination of linear elastic and plastic behavior and is defined by the elastic modulus, yield strength, and, tangent modulus.<img src=\"/spec/resources/help/imgs/bilinear_help_text.png\" class=\"helpPopupImage\"/></li><li>Choose <b>Multilinear</b> if the material response is a combination of linear elastic-plastic behavior and is defined by the elastic modulus, yield strength, and, multiple tangent moduli.<img src=\"/spec/resources/help/imgs/multilinear_help_text.png\" class=\"helpPopupImage\"/></li><li>Choose <b>Johnson-Cook</b> if the material response includes strain hardening, strain rate hardening, and thermal softening effects, and is defined by parameters such as yield stress, hardening coefficient, hardening exponent, strain rate hardening coefficient, and thermal softening exponent.</li></ul> <a href='https://www.simscale.com/docs/simulation-setup/materials/plastic-materials/' target='_blank'>Learn more</a>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "BILINEAR" : "#/components/schemas/Simulation.BilinearElastoPlasticModel",
            "MULTILINEAR" : "#/components/schemas/Simulation.MultilinearElastoPlasticModel",
            "JOHNSON_COOK" : "#/components/schemas/Simulation.JohnsonCookElastoPlasticModel"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.BilinearElastoPlasticModel"
        }, {
          "$ref" : "#/components/schemas/Simulation.MultilinearElastoPlasticModel"
        }, {
          "$ref" : "#/components/schemas/Simulation.JohnsonCookElastoPlasticModel"
        } ],
        "default" : {
          "type" : "BILINEAR"
        },
        "x-showWhen" : [ "type == STATIC_ANALYSIS && nonLinearAnalysis == true", "type == THERMAL_MECHANICAL && nonLinearAnalysis == true", "type == DYNAMIC_ANALYSIS" ]
      },
      "Simulation.OneOf_DimensionalFunction_ElectricConductivityValue" : {
        "title" : "Value",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "CONSTANT" : "#/components/schemas/Simulation.ConstantFunction",
            "EXPRESSION" : "#/components/schemas/Simulation.ExpressionFunction",
            "POLYNOMIAL" : "#/components/schemas/Simulation.PolynomialFunction",
            "TABLE_DEFINED" : "#/components/schemas/Simulation.TableDefinedFunction"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.ConstantFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.ExpressionFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.PolynomialFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.TableDefinedFunction"
        } ]
      },
      "Simulation.OneOf_IncompressibleMaterialFluidType" : {
        "title" : "Fluid type",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "LIQUID" : "#/components/schemas/Simulation.FluidTypeLiquid",
            "GAS" : "#/components/schemas/Simulation.FluidTypeGas"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.FluidTypeLiquid"
        }, {
          "$ref" : "#/components/schemas/Simulation.FluidTypeGas"
        } ],
        "default" : {
          "type" : "LIQUID"
        },
        "x-showWhen" : [ "type == SIMERICS_ANALYSIS" ]
      },
      "Simulation.OneOf_IncompressibleMaterialViscosityModel" : {
        "title" : "Viscosity model",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "NEWTONIAN" : "#/components/schemas/Simulation.NewtonianViscosityModel",
            "POWER_LAW" : "#/components/schemas/Simulation.PowerLawViscosityModel",
            "STD_HERSCHEL_BULKLEY" : "#/components/schemas/Simulation.StandardHerschelBulkleyViscosityModel",
            "HERSCHEL_BULKLEY" : "#/components/schemas/Simulation.HerschelBulkleyViscosityModel",
            "CROSS_POWER_LAW" : "#/components/schemas/Simulation.CrossPowerLawViscosityModel",
            "BIRD_CARREAU" : "#/components/schemas/Simulation.BirdCarreauViscosityModel"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.NewtonianViscosityModel"
        }, {
          "$ref" : "#/components/schemas/Simulation.PowerLawViscosityModel"
        }, {
          "$ref" : "#/components/schemas/Simulation.StandardHerschelBulkleyViscosityModel"
        }, {
          "$ref" : "#/components/schemas/Simulation.HerschelBulkleyViscosityModel"
        }, {
          "$ref" : "#/components/schemas/Simulation.CrossPowerLawViscosityModel"
        }, {
          "$ref" : "#/components/schemas/Simulation.BirdCarreauViscosityModel"
        } ],
        "default" : {
          "type" : "NEWTONIAN"
        }
      },
      "Simulation.OneOf_DimensionalFunction_VolumetricFlowRateValue" : {
        "title" : "Value",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "CONSTANT" : "#/components/schemas/Simulation.ConstantFunction",
            "EXPRESSION" : "#/components/schemas/Simulation.ExpressionFunction",
            "POLYNOMIAL" : "#/components/schemas/Simulation.PolynomialFunction",
            "TABLE_DEFINED" : "#/components/schemas/Simulation.TableDefinedFunction"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.ConstantFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.ExpressionFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.PolynomialFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.TableDefinedFunction"
        } ]
      },
      "Simulation.OneOf_DimensionalFunction_LengthValue" : {
        "title" : "Value",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "CONSTANT" : "#/components/schemas/Simulation.ConstantFunction",
            "EXPRESSION" : "#/components/schemas/Simulation.ExpressionFunction",
            "POLYNOMIAL" : "#/components/schemas/Simulation.PolynomialFunction",
            "TABLE_DEFINED" : "#/components/schemas/Simulation.TableDefinedFunction"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.ConstantFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.ExpressionFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.PolynomialFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.TableDefinedFunction"
        } ]
      },
      "Simulation.OneOf_PermanentMagnetMaterialMagnetizationDirectionType" : {
        "title" : "Magnetization direction type",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "GLOBAL_CARTESIAN" : "#/components/schemas/Simulation.GlobalCartesianMagnetizationDirectionMethod",
            "FACE_NORMAL" : "#/components/schemas/Simulation.FaceNormalMagnetizationDirectionMethod"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.GlobalCartesianMagnetizationDirectionMethod"
        }, {
          "$ref" : "#/components/schemas/Simulation.FaceNormalMagnetizationDirectionMethod"
        } ],
        "default" : {
          "type" : "GLOBAL_CARTESIAN"
        }
      },
      "Simulation.OneOf_NonMonotomousResidualRetimingEventTimestepCalculationType" : {
        "title" : "Time step calculation",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "NEWTON_ITERATION" : "#/components/schemas/Simulation.NewtonIterationTimestepCalculationType",
            "MANUAL" : "#/components/schemas/Simulation.ManualTimestepCalculationType"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.NewtonIterationTimestepCalculationType"
        }, {
          "$ref" : "#/components/schemas/Simulation.ManualTimestepCalculationType"
        } ],
        "default" : {
          "type" : "NEWTON_ITERATION"
        }
      },
      "Simulation.OneOf_DimensionalFunction_TotalThermalTransmittanceValue" : {
        "title" : "Value",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "CONSTANT" : "#/components/schemas/Simulation.ConstantFunction",
            "EXPRESSION" : "#/components/schemas/Simulation.ExpressionFunction",
            "POLYNOMIAL" : "#/components/schemas/Simulation.PolynomialFunction",
            "TABLE_DEFINED" : "#/components/schemas/Simulation.TableDefinedFunction"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.ConstantFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.ExpressionFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.PolynomialFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.TableDefinedFunction"
        } ]
      },
      "Simulation.OneOf_MomentFieldSelectionMomentType" : {
        "title" : "Moment type",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "REACTION" : "#/components/schemas/Simulation.ReactionMomentType",
            "NODAL" : "#/components/schemas/Simulation.NodalMomentType"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.ReactionMomentType"
        }, {
          "$ref" : "#/components/schemas/Simulation.NodalMomentType"
        } ],
        "default" : {
          "type" : "NODAL"
        }
      },
      "Simulation.OneOf_OrthotropicSpringStiffnessStiffnessDefinition" : {
        "title" : "Stiffness definition",
        "description" : "<p>The resulting stiffness of the elastic support can be defined either via the <b>total stiffness</b> expressed as force per length or the <b>distributed stiffness</b> expressed as force per length per area.</p>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "TOTAL_ORTHOTROPIC" : "#/components/schemas/Simulation.TotalOrthotropicStiffnessDefinition",
            "DISTRIBUTED_ORTHOTROPIC" : "#/components/schemas/Simulation.DistributedOrthotropicStiffnessDefinition"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.TotalOrthotropicStiffnessDefinition"
        }, {
          "$ref" : "#/components/schemas/Simulation.DistributedOrthotropicStiffnessDefinition"
        } ],
        "default" : {
          "type" : "TOTAL_ORTHOTROPIC"
        }
      },
      "Simulation.OneOf_HeatTransferTimeDependency" : {
        "title" : "Time dependency",
        "description" : "<p><strong>Steady-state</strong>: Steady-state simulations are time-independent, that is, the equations solved do not include time derivatives. If you are only interested in the converged solution, consider a steady-state simulation.</p><p><strong>Transient</strong>: Transient simulations account for time-dependent effects, that is, the associated flow variables vary with respect to time.</p>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "TRANSIENT" : "#/components/schemas/Simulation.TransientTimeDependency",
            "STATIONARY" : "#/components/schemas/Simulation.StationaryTimeDependency"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.TransientTimeDependency"
        }, {
          "$ref" : "#/components/schemas/Simulation.StationaryTimeDependency"
        } ],
        "default" : {
          "type" : "STATIONARY"
        }
      },
      "Simulation.OneOf_HeatTransferBoundaryConditions" : {
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "FIXED_TEMPERATURE_VALUE" : "#/components/schemas/Simulation.FixedTemperatureValueBC",
            "CYCLIC_SYMMETRY" : "#/components/schemas/Simulation.CyclicSymmetryBC",
            "SURFACE_HEAT_FLUX" : "#/components/schemas/Simulation.SurfaceHeatFluxBC",
            "CONVECTIVE_HEAT_FLUX" : "#/components/schemas/Simulation.ConvectiveHeatFluxBC",
            "VOLUME_HEAT_FLUX" : "#/components/schemas/Simulation.VolumeHeatFluxBC"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.FixedTemperatureValueBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.CyclicSymmetryBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.SurfaceHeatFluxBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.ConvectiveHeatFluxBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.VolumeHeatFluxBC"
        } ]
      },
      "Simulation.OneOf_NewSurfaceRefinementPacefishV38MeshSizing" : {
        "title" : "Sizing",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "AUTOMATIC" : "#/components/schemas/Simulation.AutomaticMeshSizing",
            "MANUAL_SURFACE_PACEFISH" : "#/components/schemas/Simulation.ManualSurfaceSizingPacefish"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.AutomaticMeshSizing"
        }, {
          "$ref" : "#/components/schemas/Simulation.ManualSurfaceSizingPacefish"
        } ]
      },
      "Simulation.OneOf_BatheWilsonSubspaceSettings" : {
        "title" : "Subspace settings",
        "description" : "<p>Specify the subspace used by the eigensolver. This setting should only be changed if the errors during the solution procedure occur that recommend to change it. In general, the more frequencies are computed, the larger the subspace should be.<br> <li><b>Automatic</b>: The solver selects an appropriate subspace itself based on the model and other inputs.</li><li><b>Dimension</b>: Directly specify the subspace dimension. This should be only done after checking the error log, which gives hints on selecting this setting.</li><li><b>Coefficient</b>: Multiplier for setting the subspace dimension proportional to the number of computed frequencies</li></p>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "AUTOMATIC" : "#/components/schemas/Simulation.AutomaticSubspaceSettings",
            "SUBSPACE_DIMENSION" : "#/components/schemas/Simulation.SubspaceDimension",
            "SUBSPACE_COEFFICIENT" : "#/components/schemas/Simulation.SubspaceCoefficient"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.AutomaticSubspaceSettings"
        }, {
          "$ref" : "#/components/schemas/Simulation.SubspaceDimension"
        }, {
          "$ref" : "#/components/schemas/Simulation.SubspaceCoefficient"
        } ],
        "default" : {
          "type" : "AUTOMATIC"
        }
      },
      "Simulation.OneOf_DirectionalMaterialStructureMode" : {
        "title" : "Mode",
        "description" : "Choose the direction for applying fluid resistance: <p><ul> <li><b>Allowed:</b> Fluid resistance is applied in the chosen direction, while fluid flow is blocked in the other two orthogonal directions.</li> <li><b>Blocked:</b> Fluid flow is blocked in the chosen direction, and fluid resistance is applied in the other two orthogonal directions.</li> </ul></p>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "ALLOWED_DIRECTION" : "#/components/schemas/Simulation.AllowedDirection",
            "BLOCKED_DIRECTION" : "#/components/schemas/Simulation.BlockedDirection"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.AllowedDirection"
        }, {
          "$ref" : "#/components/schemas/Simulation.BlockedDirection"
        } ],
        "default" : {
          "type" : "ALLOWED_DIRECTION"
        }
      },
      "Simulation.OneOf_DirectionalMaterialStructureOrientation" : {
        "title" : "Orientation",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "CARTESIAN" : "#/components/schemas/Simulation.CartesianOrientation",
            "CUSTOM" : "#/components/schemas/Simulation.CustomOrientation"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.CartesianOrientation"
        }, {
          "$ref" : "#/components/schemas/Simulation.CustomOrientation"
        } ]
      },
      "Simulation.OneOf_MarcOutputWritingContainerOutputWriting" : {
        "title" : "Write control method",
        "description" : "<p>Choose how to write the results for the simulation:</p><ul><li><p><b>All computed</b> writes the results for every step. This can lead to a lot of output, especially in simulations with lots of time stepping cutbacks. That takes accordingly longer to post-process.</p></ul><ul><li><p><b>Write interval</b> allows to specify the interval at which results are written.</p></ul><ul><li><p><b>Output steps</b> is used to control the total number of steps for which output is written.</p></ul>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "ALL_COMPUTED" : "#/components/schemas/Simulation.AllComputed",
            "WRITE_INTERVAL" : "#/components/schemas/Simulation.WriteInterval",
            "OUTPUT_STEPS" : "#/components/schemas/Simulation.OutputSteps"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.AllComputed"
        }, {
          "$ref" : "#/components/schemas/Simulation.WriteInterval"
        }, {
          "$ref" : "#/components/schemas/Simulation.OutputSteps"
        } ],
        "default" : {
          "type" : "ALL_COMPUTED"
        }
      },
      "Simulation.OneOf_DimensionalFunction_HeatFluxValue" : {
        "title" : "Value",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "CONSTANT" : "#/components/schemas/Simulation.ConstantFunction",
            "EXPRESSION" : "#/components/schemas/Simulation.ExpressionFunction",
            "POLYNOMIAL" : "#/components/schemas/Simulation.PolynomialFunction",
            "TABLE_DEFINED" : "#/components/schemas/Simulation.TableDefinedFunction"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.ConstantFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.ExpressionFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.PolynomialFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.TableDefinedFunction"
        } ]
      },
      "Simulation.OneOf_NewtonKrylovResolutionTypeConvergenceCriteria" : {
        "title" : "Convergence criteria",
        "description" : "Select the convergence criterion for the nonlinear solution method.</p>Important remarks: <br /><ul><li>When <b>Absolute</b> is selected, the convergence is reached if the maximum absolute residual of a given Newton iteration is lower than the defined tolerance.</li><li>If <b>Relative</b> is chosen, then the maximum relative residual i.e. the maximum absolute residual divided by external loads and support reactions, is checked during the Newton iteration. Please note that using the <b>Relative</b> criterion leads to a failed convergence if no external load is present (e.g. two far objects coming into contact). In this case, the <b>Adaptive</b> criterion should be used.</li><li>By selecting the <b>Adaptive</b> option, a combination of both <b>Relative</b> and <b>Absolute</b> criteria is used. That is, in each Newton iteration the <b>Relative</b> is used by default unless the external loads and support reactions have vanished, at which point we check the <b>Absolute</b> one instead.</li></li></ul></ul>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "ADAPTIVE" : "#/components/schemas/Simulation.AdaptiveConvergenceCriteria",
            "RELATIVE" : "#/components/schemas/Simulation.RelativeConvergenceCriteria",
            "ABSOLUTE" : "#/components/schemas/Simulation.AbsoluteConvergenceCriteria"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.AdaptiveConvergenceCriteria"
        }, {
          "$ref" : "#/components/schemas/Simulation.RelativeConvergenceCriteria"
        }, {
          "$ref" : "#/components/schemas/Simulation.AbsoluteConvergenceCriteria"
        } ],
        "default" : {
          "type" : "ADAPTIVE"
        }
      },
      "Simulation.OneOf_NewtonKrylovResolutionTypeJacobianMatrix" : {
        "title" : "Jacobian matrix",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "TANGENT" : "#/components/schemas/Simulation.TangentJacobianMatrix",
            "ELASTIC" : "#/components/schemas/Simulation.ElasticJacobianMatrix"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.TangentJacobianMatrix"
        }, {
          "$ref" : "#/components/schemas/Simulation.ElasticJacobianMatrix"
        } ],
        "default" : {
          "type" : "TANGENT"
        }
      },
      "Simulation.OneOf_SutherlandTransportThermo" : {
        "title" : "Thermo",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "ECONST" : "#/components/schemas/Simulation.EConstThermo",
            "HCONST" : "#/components/schemas/Simulation.HConstThermo"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.EConstThermo"
        }, {
          "$ref" : "#/components/schemas/Simulation.HConstThermo"
        } ],
        "default" : {
          "type" : "HCONST"
        }
      },
      "Simulation.OneOf_DistributedMassBCMassDefinition" : {
        "title" : "Mass definition",
        "description" : "Define how the distributed mass is specified: either as a total mass that will be distributed across the selected surface, or as an area density that represents mass per unit area.",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "TOTAL_MASS" : "#/components/schemas/Simulation.TotalMass",
            "AREA_DENSITY_MASS" : "#/components/schemas/Simulation.AreaDensityMass"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.TotalMass"
        }, {
          "$ref" : "#/components/schemas/Simulation.AreaDensityMass"
        } ],
        "default" : {
          "type" : "TOTAL_MASS"
        }
      },
      "Simulation.OneOf_ERPCalculationResultControlItemFieldSelection" : {
        "title" : "Field selection",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "ABSOLUTE_ERP" : "#/components/schemas/Simulation.AbsoluteERPFieldSelection",
            "RELATIVE_ERP" : "#/components/schemas/Simulation.RelativeERPFieldSelection"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.AbsoluteERPFieldSelection"
        }, {
          "$ref" : "#/components/schemas/Simulation.RelativeERPFieldSelection"
        } ],
        "default" : {
          "type" : "RELATIVE_ERP"
        }
      },
      "Simulation.OneOf_AutomaticSimericsMeshSettingsRefinements" : {
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "REGION_REFINEMENT_SIMERICS" : "#/components/schemas/Simulation.RegionRefinementSimerics",
            "SURFACE_REFINEMENT_SIMERICS" : "#/components/schemas/Simulation.SurfaceRefinementSimerics"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.RegionRefinementSimerics"
        }, {
          "$ref" : "#/components/schemas/Simulation.SurfaceRefinementSimerics"
        } ]
      },
      "Simulation.OneOf_DimensionalFunction_SpeedValue" : {
        "title" : "Value",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "CONSTANT" : "#/components/schemas/Simulation.ConstantFunction",
            "EXPRESSION" : "#/components/schemas/Simulation.ExpressionFunction",
            "POLYNOMIAL" : "#/components/schemas/Simulation.PolynomialFunction",
            "TABLE_DEFINED" : "#/components/schemas/Simulation.TableDefinedFunction"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.ConstantFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.ExpressionFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.PolynomialFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.TableDefinedFunction"
        } ]
      },
      "Simulation.OneOf_ContactConnections" : {
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "BONDED_CONTACT" : "#/components/schemas/Simulation.BondedContact",
            "SLIDING_CONTACT" : "#/components/schemas/Simulation.SlidingContact"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.BondedContact"
        }, {
          "$ref" : "#/components/schemas/Simulation.SlidingContact"
        } ]
      },
      "Simulation.OneOf_ExplicitTimeIntegrationTypeScheme" : {
        "title" : "Scheme",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "CENTRAL_DIFF" : "#/components/schemas/Simulation.CentralDiffTimeIntegrationScheme",
            "TCHAMWA" : "#/components/schemas/Simulation.TchamwaTimeIntegrationScheme"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.CentralDiffTimeIntegrationScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.TchamwaTimeIntegrationScheme"
        } ]
      },
      "Simulation.OneOf_FrequencyAnalysisConnectors" : {
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "PIN_CONNECTOR" : "#/components/schemas/Simulation.PinConnector",
            "BOLT_CONNECTOR" : "#/components/schemas/Simulation.BoltConnector"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.PinConnector"
        }, {
          "$ref" : "#/components/schemas/Simulation.BoltConnector"
        } ]
      },
      "Simulation.OneOf_FrequencyAnalysisBoundaryConditions" : {
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "BOLT_PRELOAD" : "#/components/schemas/Simulation.BoltPreloadBC",
            "ELASTIC_SUPPORT" : "#/components/schemas/Simulation.ElasticSupportBC",
            "FIXED_SUPPORT" : "#/components/schemas/Simulation.FixedSupportBC",
            "FIXED_VALUE" : "#/components/schemas/Simulation.FixedValueBC",
            "POINT_MASS" : "#/components/schemas/Simulation.PointMassBC",
            "DISTRIBUTED_MASS" : "#/components/schemas/Simulation.DistributedMassBC",
            "REMOTE_DISPLACEMENT_LOAD" : "#/components/schemas/Simulation.RemoteDisplacementLoadBC",
            "SYMMETRY_PLANE" : "#/components/schemas/Simulation.SymmetryPlaneBC",
            "CENTRIFUGAL_FORCE" : "#/components/schemas/Simulation.CentrifugalForceBC"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.BoltPreloadBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.ElasticSupportBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.FixedSupportBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.FixedValueBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.PointMassBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.DistributedMassBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.RemoteDisplacementLoadBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.SymmetryPlaneBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.CentrifugalForceBC"
        } ]
      },
      "Simulation.OneOf_IsotropicPlasticHardeningPoissonsRatio" : {
        "title" : "(ν) Poisson's ratio",
        "maximum" : 0.5,
        "exclusiveMaximum" : true,
        "minimum" : -1.0,
        "exclusiveMinimum" : true,
        "description" : "<p>Provide the <i>Poisson's ratio</i> value which describes the compression or elongation of a material transverse to axial strain. <i>Poisson's ratio</i> can have a value within range from -1 to 0.5. </p><br /><b>Important remarks:</b><br /> <ul><li>Value less than 0 means that material is auxetic.</li><li>Most of the metals such as steel and aluminum have value between 0.2 to 0.35 and are considered compressible.<li>Value of 0.5 means that the material is incompressible such as rubber and some types of foams. Please avoid giving this value since it leads to convergence problem. You can give 0.499 rather than 0.5.</li></ul>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "CONSTANT" : "#/components/schemas/Simulation.ConstantFunction",
            "EXPRESSION" : "#/components/schemas/Simulation.ExpressionFunction",
            "POLYNOMIAL" : "#/components/schemas/Simulation.PolynomialFunction",
            "TABLE_DEFINED" : "#/components/schemas/Simulation.TableDefinedFunction"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.ConstantFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.ExpressionFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.PolynomialFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.TableDefinedFunction"
        } ],
        "x-showWhen" : [ "type == DYNAMIC_ANALYSIS", "type == STATIC_ANALYSIS && nonLinearAnalysis == true", "type == THERMAL_MECHANICAL && nonLinearAnalysis == true" ]
      },
      "Simulation.OneOf_AMIRotatingZoneMotionType" : {
        "title" : "Motion type",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "OSCILLATING_ROTATING_MOTION" : "#/components/schemas/Simulation.OscillatingRotatingMotionType",
            "ROTATING_MOTION" : "#/components/schemas/Simulation.RotatingMotionType"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.OscillatingRotatingMotionType"
        }, {
          "$ref" : "#/components/schemas/Simulation.RotatingMotionType"
        } ],
        "default" : {
          "type" : "ROTATING_MOTION"
        }
      },
      "Simulation.OneOf_HarmonicVelocityResultControlItemHarmonicVelocityType" : {
        "title" : "Velocity type",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "ABSOLUTE" : "#/components/schemas/Simulation.AbsoluteHarmonicVelocityType",
            "RELATIVE" : "#/components/schemas/Simulation.RelativeHarmonicVelocityType"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.AbsoluteHarmonicVelocityType"
        }, {
          "$ref" : "#/components/schemas/Simulation.RelativeHarmonicVelocityType"
        } ],
        "default" : {
          "type" : "ABSOLUTE"
        },
        "x-showWhen" : [ "type == HARMONIC_ANALYSIS" ]
      },
      "Simulation.OneOf_MarcForceFieldSelectionForceType" : {
        "title" : "Force type",
        "description" : "<ul><li><b>Reaction force</b>: The forces exerted by constraints (supports) to prevent motion; the sum of reaction forces typically balances the total external load.<li><b>External force</b>: The nodal representation of all applied loads, such as point loads and distributed loads, acting on the structure.</ul>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "REACTION" : "#/components/schemas/Simulation.MarcReactionForceType",
            "EXTERNAL" : "#/components/schemas/Simulation.MarcExternalForceType"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.MarcReactionForceType"
        }, {
          "$ref" : "#/components/schemas/Simulation.MarcExternalForceType"
        } ],
        "default" : {
          "type" : "REACTION"
        }
      },
      "Simulation.OneOf_DimensionalFunction_SpecificTurbulenceDissipationRateValue" : {
        "title" : "Value",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "CONSTANT" : "#/components/schemas/Simulation.ConstantFunction",
            "EXPRESSION" : "#/components/schemas/Simulation.ExpressionFunction",
            "POLYNOMIAL" : "#/components/schemas/Simulation.PolynomialFunction",
            "TABLE_DEFINED" : "#/components/schemas/Simulation.TableDefinedFunction"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.ConstantFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.ExpressionFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.PolynomialFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.TableDefinedFunction"
        } ]
      },
      "Simulation.OneOf_FixedValueRHBCHumidityValue" : {
        "title" : "Humidity type",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "RELATIVE_HUMIDITY_VALUE" : "#/components/schemas/Simulation.RelativeHumidityValue",
            "SPECIFIC_HUMIDITY_VALUE" : "#/components/schemas/Simulation.SpecificHumidityValue",
            "ABSOLUTE_HUMIDITY_VALUE" : "#/components/schemas/Simulation.AbsoluteHumidityValue"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.RelativeHumidityValue"
        }, {
          "$ref" : "#/components/schemas/Simulation.SpecificHumidityValue"
        }, {
          "$ref" : "#/components/schemas/Simulation.AbsoluteHumidityValue"
        } ],
        "default" : {
          "type" : "RELATIVE_HUMIDITY_VALUE"
        }
      },
      "Simulation.OneOf_DimensionalFunction_MassFlowRateValue" : {
        "title" : "Value",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "CONSTANT" : "#/components/schemas/Simulation.ConstantFunction",
            "EXPRESSION" : "#/components/schemas/Simulation.ExpressionFunction",
            "POLYNOMIAL" : "#/components/schemas/Simulation.PolynomialFunction",
            "TABLE_DEFINED" : "#/components/schemas/Simulation.TableDefinedFunction"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.ConstantFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.ExpressionFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.PolynomialFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.TableDefinedFunction"
        } ]
      },
      "Simulation.OneOf_ModalBaseControlEigenfrequencyScope" : {
        "title" : "Eigenfrequency Scope",
        "description" : "<p>Select the method to build the modal base, by controlling the search of the natural frequencies:<br> <li><b>Twice the maximum loading frequency</b>: From zero to twice the maximum excitation frequency defined under <b>Harmonic response</b>.</li><li><b>First modes</b>: The first <i>Number of modes</i> will be searched and computed in the order of low to high frequency.</li><li><b>Frequency range</b>: All the modes within the specified frequency range will be searched and computed. The frequency range is defined by a <i>Start frequency</i> and an <i>End frequency</i>.</li><li><b>Center frequency</b>: Compute the <i>Number of modes</i> closest to the frequency defined by the <i>Center frequency</i>.</li></p>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "TWICE_MAX_LOADING_FREQUENCY" : "#/components/schemas/Simulation.TwiceMaxLoadingFrequency",
            "FIRSTMODE" : "#/components/schemas/Simulation.FirstMode",
            "RANGE" : "#/components/schemas/Simulation.FrequencyRange",
            "CENTER" : "#/components/schemas/Simulation.CenterFrequency"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.TwiceMaxLoadingFrequency"
        }, {
          "$ref" : "#/components/schemas/Simulation.FirstMode"
        }, {
          "$ref" : "#/components/schemas/Simulation.FrequencyRange"
        }, {
          "$ref" : "#/components/schemas/Simulation.CenterFrequency"
        } ],
        "default" : {
          "type" : "TWICE_MAX_LOADING_FREQUENCY"
        }
      },
      "Simulation.OneOf_SpatialDiscretizationSchemesVelocity" : {
        "title" : "(U) Velocity",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "UPWIND_1ST" : "#/components/schemas/Simulation.FirstOrderUpwindSpatialScheme",
            "UPWIND_2ND" : "#/components/schemas/Simulation.SecondOrderUpwindSpatialScheme",
            "CENTRAL_DIFFERENCE" : "#/components/schemas/Simulation.CentralDifferenceSpatialScheme"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.FirstOrderUpwindSpatialScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.SecondOrderUpwindSpatialScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.CentralDifferenceSpatialScheme"
        } ],
        "default" : {
          "type" : "UPWIND_2ND"
        },
        "x-showWhen" : [ "type == SIMERICS_ANALYSIS" ]
      },
      "Simulation.OneOf_SpatialDiscretizationSchemesDensity" : {
        "title" : "(ρ) Density",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "UPWIND_1ST" : "#/components/schemas/Simulation.FirstOrderUpwindSpatialScheme",
            "UPWIND_2ND" : "#/components/schemas/Simulation.SecondOrderUpwindSpatialScheme",
            "CENTRAL_DIFFERENCE" : "#/components/schemas/Simulation.CentralDifferenceSpatialScheme"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.FirstOrderUpwindSpatialScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.SecondOrderUpwindSpatialScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.CentralDifferenceSpatialScheme"
        } ],
        "default" : {
          "type" : "UPWIND_1ST"
        },
        "x-showWhen" : [ "type == SIMERICS_ANALYSIS" ]
      },
      "Simulation.OneOf_SpatialDiscretizationSchemesTurbulentKineticEnergy" : {
        "title" : "(k) Turb. kinetic energy",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "UPWIND_1ST" : "#/components/schemas/Simulation.FirstOrderUpwindSpatialScheme",
            "UPWIND_2ND" : "#/components/schemas/Simulation.SecondOrderUpwindSpatialScheme",
            "CENTRAL_DIFFERENCE" : "#/components/schemas/Simulation.CentralDifferenceSpatialScheme"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.FirstOrderUpwindSpatialScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.SecondOrderUpwindSpatialScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.CentralDifferenceSpatialScheme"
        } ],
        "default" : {
          "type" : "UPWIND_1ST"
        },
        "x-showWhen" : [ "type == SIMERICS_ANALYSIS && turbulenceModel != NONE" ]
      },
      "Simulation.OneOf_SpatialDiscretizationSchemesTurbulentEnergyDissipationRate" : {
        "title" : "(ε) Turb. energy dissipation rate",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "UPWIND_1ST" : "#/components/schemas/Simulation.FirstOrderUpwindSpatialScheme",
            "UPWIND_2ND" : "#/components/schemas/Simulation.SecondOrderUpwindSpatialScheme",
            "CENTRAL_DIFFERENCE" : "#/components/schemas/Simulation.CentralDifferenceSpatialScheme"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.FirstOrderUpwindSpatialScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.SecondOrderUpwindSpatialScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.CentralDifferenceSpatialScheme"
        } ],
        "default" : {
          "type" : "UPWIND_1ST"
        },
        "x-showWhen" : [ "type == SIMERICS_ANALYSIS && turbulenceModel != NONE" ]
      },
      "Simulation.OneOf_SpatialDiscretizationSchemesVolumeOfFluid" : {
        "title" : "(α) Volume of fluid",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "UPWIND_1ST" : "#/components/schemas/Simulation.FirstOrderUpwindSpatialScheme",
            "UPWIND_2ND" : "#/components/schemas/Simulation.SecondOrderUpwindSpatialScheme",
            "CENTRAL_DIFFERENCE" : "#/components/schemas/Simulation.CentralDifferenceSpatialScheme",
            "HIGH_RESOLUTION" : "#/components/schemas/Simulation.HighResolutionSpatialScheme"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.FirstOrderUpwindSpatialScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.SecondOrderUpwindSpatialScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.CentralDifferenceSpatialScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.HighResolutionSpatialScheme"
        } ],
        "default" : {
          "type" : "HIGH_RESOLUTION"
        },
        "x-showWhen" : [ "type == SIMERICS_ANALYSIS && isMultiphase == true" ]
      },
      "Simulation.OneOf_SpatialDiscretizationSchemesInternalEnergy" : {
        "title" : "(e) Internal energy",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "UPWIND_1ST" : "#/components/schemas/Simulation.FirstOrderUpwindSpatialScheme",
            "UPWIND_2ND" : "#/components/schemas/Simulation.SecondOrderUpwindSpatialScheme",
            "CENTRAL_DIFFERENCE" : "#/components/schemas/Simulation.CentralDifferenceSpatialScheme"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.FirstOrderUpwindSpatialScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.SecondOrderUpwindSpatialScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.CentralDifferenceSpatialScheme"
        } ],
        "default" : {
          "type" : "UPWIND_1ST"
        },
        "x-showWhen" : [ "type == SIMERICS_ANALYSIS && isCompressible == true" ]
      },
      "Simulation.OneOf_SpatialDiscretizationSchemesGasMixtureTransport" : {
        "title" : "(ṁ) Gas mixture transport",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "UPWIND_1ST" : "#/components/schemas/Simulation.FirstOrderUpwindSpatialScheme",
            "UPWIND_2ND" : "#/components/schemas/Simulation.SecondOrderUpwindSpatialScheme",
            "CENTRAL_DIFFERENCE" : "#/components/schemas/Simulation.CentralDifferenceSpatialScheme"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.FirstOrderUpwindSpatialScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.SecondOrderUpwindSpatialScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.CentralDifferenceSpatialScheme"
        } ],
        "default" : {
          "type" : "UPWIND_1ST"
        },
        "x-showWhen" : [ "type == SIMERICS_ANALYSIS && isMulticomponent == true" ]
      },
      "Simulation.OneOf_SurfaceRefinementWindComfortNewFineness" : {
        "title" : "Fineness",
        "description" : "<p>This parameter determines the <b>fineness of the mesh</b> and affects the overall number of cells. It is recommended to start with the <i>coarse</i> setting. <a href='https://www.simscale.com/docs/analysis-types/pedestrian-wind-comfort-analysis/mesh-settings/' target='_blank'>Find out more.</a></p><p><b>Note:</b> This setting will impact the accuracy of your results as well as computing time and result size. A finer mesh will be more demanding in terms of machine size and memory but lead to more accurate results in most cases.</p>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "VERY_COARSE" : "#/components/schemas/Simulation.PacefishFinenessVeryCoarse",
            "COARSE" : "#/components/schemas/Simulation.PacefishFinenessCoarse",
            "MODERATE" : "#/components/schemas/Simulation.PacefishFinenessModerate",
            "FINE" : "#/components/schemas/Simulation.PacefishFinenessFine",
            "VERY_FINE" : "#/components/schemas/Simulation.PacefishFinenessVeryFine",
            "TARGET_SIZE" : "#/components/schemas/Simulation.PacefishFinenessTargetSize"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.PacefishFinenessVeryCoarse"
        }, {
          "$ref" : "#/components/schemas/Simulation.PacefishFinenessCoarse"
        }, {
          "$ref" : "#/components/schemas/Simulation.PacefishFinenessModerate"
        }, {
          "$ref" : "#/components/schemas/Simulation.PacefishFinenessFine"
        }, {
          "$ref" : "#/components/schemas/Simulation.PacefishFinenessVeryFine"
        }, {
          "$ref" : "#/components/schemas/Simulation.PacefishFinenessTargetSize"
        } ],
        "default" : {
          "type" : "COARSE"
        }
      },
      "Simulation.OneOf_DimensionalVectorFunction_TorqueValue" : {
        "title" : "Value",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "COMPONENT" : "#/components/schemas/Simulation.ComponentVectorFunction",
            "TABLE_DEFINED" : "#/components/schemas/Simulation.TableDefinedVectorFunction"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.ComponentVectorFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.TableDefinedVectorFunction"
        } ]
      },
      "Simulation.OneOf_FluidResultControlsForcesMoments" : {
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "FORCES_AND_MOMENTS" : "#/components/schemas/Simulation.ForcesMomentsResultControl",
            "FORCE_AND_MOMENT_COEFFICIENTS" : "#/components/schemas/Simulation.ForceMomentCoefficientsResultControl"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.ForcesMomentsResultControl"
        }, {
          "$ref" : "#/components/schemas/Simulation.ForceMomentCoefficientsResultControl"
        } ]
      },
      "Simulation.OneOf_FluidResultControlsSurfaceData" : {
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "AREA_AVERAGE" : "#/components/schemas/Simulation.AreaAverageResultControl",
            "AREA_INTEGRAL" : "#/components/schemas/Simulation.AreaIntegralResultControl",
            "PRESSURE_DIFFERENCE" : "#/components/schemas/Simulation.PressureDifferenceResultControl"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.AreaAverageResultControl"
        }, {
          "$ref" : "#/components/schemas/Simulation.AreaIntegralResultControl"
        }, {
          "$ref" : "#/components/schemas/Simulation.PressureDifferenceResultControl"
        } ]
      },
      "Simulation.OneOf_FluidResultControlsFieldCalculations" : {
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "PRESSURE" : "#/components/schemas/Simulation.FieldCalculationsPressureResultControl",
            "TURBULENCE" : "#/components/schemas/Simulation.FieldCalculationsTurbulenceResultControl",
            "VELOCITY" : "#/components/schemas/Simulation.FieldCalculationsVelocityResultControl",
            "FRICTION_VELOCITY_U_TAU" : "#/components/schemas/Simulation.FieldCalculationsFrictionVelocityResultControl",
            "SURFACE_NORMALS" : "#/components/schemas/Simulation.FieldCalculationsSurfaceNormalsResultControl",
            "WALL_FLUXES" : "#/components/schemas/Simulation.FieldCalculationsWallFluxesResultControl",
            "AGE_OF_FLUID" : "#/components/schemas/Simulation.FieldCalculationsMeanAgeOfFluidResultControl",
            "THERMAL_COMFORT" : "#/components/schemas/Simulation.FieldCalculationsThermalComfortResultControl",
            "ADJOINT_SENSITIVITIES" : "#/components/schemas/Simulation.FieldCalculationsAdjointSensitivitiesResultControl",
            "WALL_HEAT_FLUX" : "#/components/schemas/Simulation.FieldCalculationsWallHeatFluxResultControl",
            "MEAN_RADIANT_TEMPERATURE" : "#/components/schemas/Simulation.FieldCalculationsMeanRadiantTemperatureResultControl",
            "OPERATIVE_TEMPERATURE" : "#/components/schemas/Simulation.FieldCalculationsOperativeTemperatureResultControl",
            "RESOLVED_TURBULENT_KINETIC_ENERGY" : "#/components/schemas/Simulation.FieldCalculationsResolvedTKEResultControl",
            "TOTAL_TURBULENT_KINETIC_ENERGY" : "#/components/schemas/Simulation.FieldCalculationsTotalTKEResultControl",
            "MODELED_TURBULENCE_INTENSITY" : "#/components/schemas/Simulation.FieldCalculationsModeledTIResultControl",
            "RESOLVED_TURBULENCE_INTENSITY" : "#/components/schemas/Simulation.FieldCalculationsResolvedTIResultControl",
            "TOTAL_TURBULENCE_INTENSITY" : "#/components/schemas/Simulation.FieldCalculationsTotalTIResultControl"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.FieldCalculationsPressureResultControl"
        }, {
          "$ref" : "#/components/schemas/Simulation.FieldCalculationsTurbulenceResultControl"
        }, {
          "$ref" : "#/components/schemas/Simulation.FieldCalculationsVelocityResultControl"
        }, {
          "$ref" : "#/components/schemas/Simulation.FieldCalculationsFrictionVelocityResultControl"
        }, {
          "$ref" : "#/components/schemas/Simulation.FieldCalculationsSurfaceNormalsResultControl"
        }, {
          "$ref" : "#/components/schemas/Simulation.FieldCalculationsWallFluxesResultControl"
        }, {
          "$ref" : "#/components/schemas/Simulation.FieldCalculationsMeanAgeOfFluidResultControl"
        }, {
          "$ref" : "#/components/schemas/Simulation.FieldCalculationsThermalComfortResultControl"
        }, {
          "$ref" : "#/components/schemas/Simulation.FieldCalculationsAdjointSensitivitiesResultControl"
        }, {
          "$ref" : "#/components/schemas/Simulation.FieldCalculationsWallHeatFluxResultControl"
        }, {
          "$ref" : "#/components/schemas/Simulation.FieldCalculationsMeanRadiantTemperatureResultControl"
        }, {
          "$ref" : "#/components/schemas/Simulation.FieldCalculationsOperativeTemperatureResultControl"
        }, {
          "$ref" : "#/components/schemas/Simulation.FieldCalculationsResolvedTKEResultControl"
        }, {
          "$ref" : "#/components/schemas/Simulation.FieldCalculationsTotalTKEResultControl"
        }, {
          "$ref" : "#/components/schemas/Simulation.FieldCalculationsModeledTIResultControl"
        }, {
          "$ref" : "#/components/schemas/Simulation.FieldCalculationsResolvedTIResultControl"
        }, {
          "$ref" : "#/components/schemas/Simulation.FieldCalculationsTotalTIResultControl"
        } ]
      },
      "Simulation.OneOf_MarcSimulationControlTimestepDefinition" : {
        "title" : "Time step definition",
        "description" : "<p>Choose between an automatic and a manual method to define the time increments during the simulation.</p><ul><li><b>Automatic:</b> The solver dynamically adjusts the time step size based on convergence behavior and error tolerances. This is recommended for most nonlinear simulations to ensure stability during complex events like contact changes or material yielding.</li><li><b>Manual:</b> Specifies a fixed time step size for the duration of the simulation or specific intervals defined via a table. Use this option when the loading rate is constant and well-understood, or when a specific temporal resolution is required regardless of convergence ease. Cut-backs of the time steps are still allowed in case of non-convergence, up to the max number set by the user.</li></ul>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "AUTOMATIC" : "#/components/schemas/Simulation.AutomaticTimeStepDefintion",
            "MANUAL" : "#/components/schemas/Simulation.ManualTimeStepDefintion"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.AutomaticTimeStepDefintion"
        }, {
          "$ref" : "#/components/schemas/Simulation.ManualTimeStepDefintion"
        } ],
        "default" : {
          "type" : "AUTOMATIC"
        }
      },
      "Simulation.OneOf_PorousTreeTreeType" : {
        "title" : "Type of tree",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "CUSTOM_TREE" : "#/components/schemas/Simulation.CustomTree",
            "PLANE_TREE" : "#/components/schemas/Simulation.PlaneTree",
            "OAK" : "#/components/schemas/Simulation.Oak",
            "SYCAMORE" : "#/components/schemas/Simulation.Sycamore",
            "SILVER_BIRCH" : "#/components/schemas/Simulation.SilverBirch",
            "CHESTNUT" : "#/components/schemas/Simulation.Chestnut"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.CustomTree"
        }, {
          "$ref" : "#/components/schemas/Simulation.PlaneTree"
        }, {
          "$ref" : "#/components/schemas/Simulation.Oak"
        }, {
          "$ref" : "#/components/schemas/Simulation.Sycamore"
        }, {
          "$ref" : "#/components/schemas/Simulation.SilverBirch"
        }, {
          "$ref" : "#/components/schemas/Simulation.Chestnut"
        } ],
        "default" : {
          "type" : "CUSTOM_TREE"
        }
      },
      "Simulation.OneOf_FlowRateStableOutletVBCFlowRate" : {
        "title" : "Flow rate type",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "MASS" : "#/components/schemas/Simulation.MassFlow",
            "VOLUMETRIC" : "#/components/schemas/Simulation.VolumetricFlow"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.MassFlow"
        }, {
          "$ref" : "#/components/schemas/Simulation.VolumetricFlow"
        } ],
        "default" : {
          "type" : "MASS"
        }
      },
      "Simulation.OneOf_MarcContactFieldSelectionContactType" : {
        "title" : "Contact result type",
        "description" : "<ul><li><b>Normal stress</b>: The contact pressure distributed over the interface area, acting perpendicular to the surfaces.<li><b>Friction stress</b>: The shear stress distributed over the contact interface resulting from friction.<li><b>Gap</b>: The physical distance between two potential contact surfaces; a value of zero (or a very small tolerance) indicates the surfaces are in contact.<li><b>State</b>: A status indicator showing whether a contact pair is open (no contact), closed (sticking), or sliding.<li><b>Pressure</b>: The magnitude of the normal compressive stress exerted by one body onto another at the contact interface.</ul>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "NORMAL_STRESS" : "#/components/schemas/Simulation.MarcContactNormalStressType",
            "FRICTION_STRESS" : "#/components/schemas/Simulation.MarcContactFrictionStressType",
            "GAP" : "#/components/schemas/Simulation.MarcContactGapType",
            "STATUS" : "#/components/schemas/Simulation.MarcContactStatusType",
            "PRESSURE" : "#/components/schemas/Simulation.MarcContactPressureType"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.MarcContactNormalStressType"
        }, {
          "$ref" : "#/components/schemas/Simulation.MarcContactFrictionStressType"
        }, {
          "$ref" : "#/components/schemas/Simulation.MarcContactGapType"
        }, {
          "$ref" : "#/components/schemas/Simulation.MarcContactStatusType"
        }, {
          "$ref" : "#/components/schemas/Simulation.MarcContactPressureType"
        } ]
      },
      "Simulation.OneOf_TimeHarmonicMagneticsTimeDependency" : {
        "title" : "Time dependency",
        "description" : "<p><strong>Steady-state</strong>: Steady-state simulations are time-independent. That is, the magnetic and thermal field are constant during the simulation.</p><p><strong>Transient</strong>: Transient simulations account for time-dependent effects where the magnetic and thermal field can change with time (e.g. due to Ohmic heating or boundary conditions).</p>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "TRANSIENT" : "#/components/schemas/Simulation.TransientTimeDependency",
            "STATIONARY" : "#/components/schemas/Simulation.StationaryTimeDependency"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.TransientTimeDependency"
        }, {
          "$ref" : "#/components/schemas/Simulation.StationaryTimeDependency"
        } ],
        "default" : {
          "type" : "STATIONARY"
        }
      },
      "Simulation.OneOf_AdvancedModellingPorousObjects" : {
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "GENERAL_POROSITY" : "#/components/schemas/Simulation.GeneralDarcyForchheimerPacefish",
            "POROUS_TREE" : "#/components/schemas/Simulation.PorousTree"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.GeneralDarcyForchheimerPacefish"
        }, {
          "$ref" : "#/components/schemas/Simulation.PorousTree"
        } ]
      },
      "Simulation.OneOf_SolidSimulationControlTimestepDefinition" : {
        "title" : "Time step definition",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "AUTOMATIC_V27" : "#/components/schemas/Simulation.AutoTimestepDefinition",
            "MANUAL_V19" : "#/components/schemas/Simulation.ManualTimestepDefinition"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.AutoTimestepDefinition"
        }, {
          "$ref" : "#/components/schemas/Simulation.ManualTimestepDefinition"
        } ],
        "default" : {
          "type" : "AUTOMATIC_V27"
        },
        "x-showWhen" : [ "type == STATIC_ANALYSIS && nonLinearAnalysis == true", "type == DYNAMIC_ANALYSIS", "type == THERMAL_MECHANICAL && timeDependency.type == TRANSIENT && nonLinearAnalysis == true" ]
      },
      "Simulation.OneOf_SolidSimulationControlPseudoTimeStepping" : {
        "title" : "Pseudo time stepping",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "SINGLE_STEP" : "#/components/schemas/Simulation.SingleStepPseudoTimeStepping",
            "STEPPING_LIST_V18" : "#/components/schemas/Simulation.SteppingListPseudoTimeStepping"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.SingleStepPseudoTimeStepping"
        }, {
          "$ref" : "#/components/schemas/Simulation.SteppingListPseudoTimeStepping"
        } ],
        "default" : {
          "type" : "SINGLE_STEP"
        },
        "x-showWhen" : [ "type == STATIC_ANALYSIS && nonLinearAnalysis == false", "type == HEAT_TRANSFER && timeDependency.type == TRANSIENT", "type == THERMAL_MECHANICAL && nonLinearAnalysis == false && inertiaEffect == STATIC && timeDependency.type == TRANSIENT" ]
      },
      "Simulation.OneOf_SolidSimulationControlWriteControlDefinition" : {
        "title" : "Write control definition",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "WRITE_INTERVAL" : "#/components/schemas/Simulation.WriteIntervalWriteControl",
            "ALL_COMPUTED" : "#/components/schemas/Simulation.AllComputedWriteControl",
            "INITIAL" : "#/components/schemas/Simulation.InitialTimestepsWriteControl",
            "USER_DEFINED_V21" : "#/components/schemas/Simulation.UserDefinedWriteControl"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.WriteIntervalWriteControl"
        }, {
          "$ref" : "#/components/schemas/Simulation.AllComputedWriteControl"
        }, {
          "$ref" : "#/components/schemas/Simulation.InitialTimestepsWriteControl"
        }, {
          "$ref" : "#/components/schemas/Simulation.UserDefinedWriteControl"
        } ],
        "default" : {
          "type" : "INITIAL"
        },
        "x-showWhen" : [ "type == STATIC_ANALYSIS && nonLinearAnalysis == true", "type == DYNAMIC_ANALYSIS", "type == HEAT_TRANSFER && timeDependency.type == TRANSIENT", "type == THERMAL_MECHANICAL && timeDependency.type == TRANSIENT" ]
      },
      "Simulation.OneOf_SolidSimulationControlExcitationFrequencies" : {
        "title" : "Excitation frequencies",
        "description" : "<p>Set the frequencies for the harmonic excitation. Setting it to <b>single frequency</b> will only compute harmonic excitation on that frequency. To have harmonic excitations on multiple frequencies, please choose <b>frequency list</b>. </p>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "SINGLE" : "#/components/schemas/Simulation.SingleFrequency",
            "LIST_V20" : "#/components/schemas/Simulation.FrequencyList"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.SingleFrequency"
        }, {
          "$ref" : "#/components/schemas/Simulation.FrequencyList"
        } ],
        "default" : {
          "type" : "SINGLE"
        },
        "x-showWhen" : [ "type == HARMONIC_ANALYSIS && numerics.harmonicSolutionMethod == DIRECT" ]
      },
      "Simulation.OneOf_SolidSimulationControlEigenfrequencyScope" : {
        "title" : "Eigenfrequency Scope",
        "description" : "<p>Select how you want to control natural frequencies to be computed:<br> <li><b>First modes</b>: The first <i>Number of modes</i> will be searched and computed, in the order of low to high frequency.</li><li><b>Frequency range</b>: All the modes within the range of frequencies will be searched and computed. The frequency range is specified by a <i>Start frequency</i> and an <i>End frequency</i>.</li><li><b>Center frequency</b>: Compute the <i>Number of modes</i> closest to the frequency defined by <i>Center frequency</i>.</li></p>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "FIRSTMODE" : "#/components/schemas/Simulation.FirstMode",
            "RANGE" : "#/components/schemas/Simulation.FrequencyRange",
            "CENTER" : "#/components/schemas/Simulation.CenterFrequency"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.FirstMode"
        }, {
          "$ref" : "#/components/schemas/Simulation.FrequencyRange"
        }, {
          "$ref" : "#/components/schemas/Simulation.CenterFrequency"
        } ],
        "default" : {
          "type" : "FIRSTMODE"
        },
        "x-showWhen" : [ "type == FREQUENCY_ANALYSIS" ]
      },
      "Simulation.OneOf_ManualSimericsMeshSettingsRefinements" : {
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "REGION_REFINEMENT_SIMERICS" : "#/components/schemas/Simulation.RegionRefinementSimerics",
            "SURFACE_REFINEMENT_SIMERICS" : "#/components/schemas/Simulation.SurfaceRefinementSimerics"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.RegionRefinementSimerics"
        }, {
          "$ref" : "#/components/schemas/Simulation.SurfaceRefinementSimerics"
        } ]
      },
      "Simulation.OneOf_ManualSimericsMeshSettingsCellSizeSpecification" : {
        "title" : "Cell size specification",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "RELATIVE_TO_ALL_CAD_SURFACES" : "#/components/schemas/Simulation.RelativeToAllCadSurfacesSettings",
            "ABSOLUTE_TO_ALL_CAD_SURFACES" : "#/components/schemas/Simulation.AbsoluteToAllCadSurfacesSettings"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.RelativeToAllCadSurfacesSettings"
        }, {
          "$ref" : "#/components/schemas/Simulation.AbsoluteToAllCadSurfacesSettings"
        } ]
      },
      "Simulation.OneOf_MarcConnectionGroupConnections" : {
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "BONDED" : "#/components/schemas/Simulation.MarcBondedContactConnection",
            "TOUCHING" : "#/components/schemas/Simulation.MarcTouchingContactConnection",
            "BONDED_AND_TOUCHING" : "#/components/schemas/Simulation.MarcBondedAndTouchingContactConnection"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.MarcBondedContactConnection"
        }, {
          "$ref" : "#/components/schemas/Simulation.MarcTouchingContactConnection"
        }, {
          "$ref" : "#/components/schemas/Simulation.MarcBondedAndTouchingContactConnection"
        } ]
      },
      "Simulation.OneOf_DimensionalFunction_ThermalTransmittanceValue" : {
        "title" : "Value",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "CONSTANT" : "#/components/schemas/Simulation.ConstantFunction",
            "EXPRESSION" : "#/components/schemas/Simulation.ExpressionFunction",
            "POLYNOMIAL" : "#/components/schemas/Simulation.PolynomialFunction",
            "TABLE_DEFINED" : "#/components/schemas/Simulation.TableDefinedFunction"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.ConstantFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.ExpressionFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.PolynomialFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.TableDefinedFunction"
        } ]
      },
      "Simulation.OneOf_HarmonicAccelerationResultControlItemHarmonicAccelerationType" : {
        "title" : "Acceleration type",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "ABSOLUTE" : "#/components/schemas/Simulation.AbsoluteHarmonicAccelerationType",
            "RELATIVE" : "#/components/schemas/Simulation.RelativeHarmonicAccelerationType"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.AbsoluteHarmonicAccelerationType"
        }, {
          "$ref" : "#/components/schemas/Simulation.RelativeHarmonicAccelerationType"
        } ],
        "default" : {
          "type" : "ABSOLUTE"
        },
        "x-showWhen" : [ "type == HARMONIC_ANALYSIS" ]
      },
      "Simulation.OneOf_SimericsMaterialsFluids" : {
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "INCOMPRESSIBLE" : "#/components/schemas/Simulation.IncompressibleMaterial",
            "COMPRESSIBLE" : "#/components/schemas/Simulation.FluidCompressibleMaterial"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.IncompressibleMaterial"
        }, {
          "$ref" : "#/components/schemas/Simulation.FluidCompressibleMaterial"
        } ]
      },
      "Simulation.OneOf_SimericsAnalysisTimeDependency" : {
        "title" : "Time dependency",
        "description" : "<p><strong>Steady-state</strong>: Steady-state simulations are time-independent, that is, the equations solved do not include time derivatives. If you are only interested in the converged solution, consider a steady-state simulation.</p><p><strong>Transient</strong>: Transient simulations account for time-dependent effects, that is, the associated flow variables vary with respect to time.</p>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "TRANSIENT" : "#/components/schemas/Simulation.TransientTimeDependency",
            "STATIONARY" : "#/components/schemas/Simulation.StationaryTimeDependency"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.TransientTimeDependency"
        }, {
          "$ref" : "#/components/schemas/Simulation.StationaryTimeDependency"
        } ],
        "default" : {
          "type" : "STATIONARY"
        }
      },
      "Simulation.OneOf_SimericsAnalysisBoundaryConditions" : {
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "VELOCITY_INLET_V3" : "#/components/schemas/Simulation.VelocityInletBC",
            "VELOCITY_OUTLET_V7" : "#/components/schemas/Simulation.VelocityOutletBC",
            "PRESSURE_INLET_V31" : "#/components/schemas/Simulation.PressureInletBC",
            "PRESSURE_OUTLET_V30" : "#/components/schemas/Simulation.PressureOutletBC",
            "WALL_V34" : "#/components/schemas/Simulation.WallBC",
            "SYMMETRY" : "#/components/schemas/Simulation.SymmetryBC"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.VelocityInletBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.VelocityOutletBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.PressureInletBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.PressureOutletBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.WallBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.SymmetryBC"
        } ]
      },
      "Simulation.OneOf_SimericsAnalysisMeshSettings" : {
        "title" : "Mesh settings",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "AUTOMATIC_SETTINGS" : "#/components/schemas/Simulation.AutomaticSimericsMeshSettings",
            "MANUAL_SETTINGS" : "#/components/schemas/Simulation.ManualSimericsMeshSettings"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.AutomaticSimericsMeshSettings"
        }, {
          "$ref" : "#/components/schemas/Simulation.ManualSimericsMeshSettings"
        } ],
        "default" : {
          "type" : "AUTOMATIC_SETTINGS"
        }
      },
      "Simulation.OneOf_DimensionalFunction_ThermalConductivityValue" : {
        "title" : "Value",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "CONSTANT" : "#/components/schemas/Simulation.ConstantFunction",
            "EXPRESSION" : "#/components/schemas/Simulation.ExpressionFunction",
            "POLYNOMIAL" : "#/components/schemas/Simulation.PolynomialFunction",
            "TABLE_DEFINED" : "#/components/schemas/Simulation.TableDefinedFunction"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.ConstantFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.ExpressionFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.PolynomialFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.TableDefinedFunction"
        } ]
      },
      "Simulation.OneOf_FieldChangeRetimingEventFieldSelection" : {
        "title" : "Field selection",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "DISPLACEMENT" : "#/components/schemas/Simulation.DisplacementField",
            "CAUCHY_STRESS_TENSOR" : "#/components/schemas/Simulation.CauchyStressTensorField",
            "INTERN_VARIABLES" : "#/components/schemas/Simulation.InternVariablesField"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.DisplacementField"
        }, {
          "$ref" : "#/components/schemas/Simulation.CauchyStressTensorField"
        }, {
          "$ref" : "#/components/schemas/Simulation.InternVariablesField"
        } ],
        "default" : {
          "type" : "DISPLACEMENT"
        }
      },
      "Simulation.OneOf_FieldChangeRetimingEventTimestepCalculationType" : {
        "title" : "Time step calculation",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "MIXED" : "#/components/schemas/Simulation.MixedTimestepCalculationType",
            "FIELD_CHANGE_TARGET" : "#/components/schemas/Simulation.FieldChangeTargetCalculationType"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.MixedTimestepCalculationType"
        }, {
          "$ref" : "#/components/schemas/Simulation.FieldChangeTargetCalculationType"
        } ],
        "default" : {
          "type" : "FIELD_CHANGE_TARGET"
        }
      },
      "Simulation.OneOf_AutoTimestepDefinitionRetimingEvent" : {
        "title" : "Retiming event",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "ERROR" : "#/components/schemas/Simulation.ErrorRetimingEvent",
            "COLLISION" : "#/components/schemas/Simulation.CollisionRetimingEvent",
            "FIELD_CHANGE" : "#/components/schemas/Simulation.FieldChangeRetimingEvent",
            "NON_MONOTOMOUS_RESIDUAL" : "#/components/schemas/Simulation.NonMonotomousResidualRetimingEvent"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.ErrorRetimingEvent"
        }, {
          "$ref" : "#/components/schemas/Simulation.CollisionRetimingEvent"
        }, {
          "$ref" : "#/components/schemas/Simulation.FieldChangeRetimingEvent"
        }, {
          "$ref" : "#/components/schemas/Simulation.NonMonotomousResidualRetimingEvent"
        } ],
        "default" : {
          "type" : "ERROR"
        }
      },
      "Simulation.OneOf_DivergenceSchemesForDefault" : {
        "title" : "Default",
        "description" : "<p>With this option, you can choose your desired divergence scheme.</p>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "GAUSS_LINEAR" : "#/components/schemas/Simulation.GaussLinearDivergenceScheme",
            "GAUSS_LINEARUPWINDV_UNLIMITED" : "#/components/schemas/Simulation.GaussLinearUpwindVUnlimitedDivergenceScheme"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.GaussLinearDivergenceScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussLinearUpwindVUnlimitedDivergenceScheme"
        } ],
        "default" : {
          "type" : "GAUSS_LINEAR"
        },
        "x-showWhen" : [ "type in [INCOMPRESSIBLE,MULTIPHASE,CONVECTIVE_HEAT_TRANSFER,CONJUGATE_HEAT_TRANSFER]", "type == COMPRESSIBLE && turbulenceModel != NONE", "type == COMPRESSIBLE && timeDependency.type == STATIONARY", "type == COMPRESSIBLE && turbulenceModel == NONE && timeDependency.type == TRANSIENT" ]
      },
      "Simulation.OneOf_DivergenceSchemesDiv_Phi_velocity" : {
        "title" : "div(phi,U)",
        "description" : "<p>With this option, you can choose your desired divergence scheme.</p>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "GAUSS_LINEAR" : "#/components/schemas/Simulation.GaussLinearDivergenceScheme",
            "GAUSS_LINEARUPWINDV_UNLIMITED" : "#/components/schemas/Simulation.GaussLinearUpwindVUnlimitedDivergenceScheme",
            "GAUSS_LINEARUPWIND_UNLIMITED" : "#/components/schemas/Simulation.GaussLinearUpwindUnlimitedDivergenceScheme",
            "GAUSS_LINEARUPWIND_LIMITEDGRAD" : "#/components/schemas/Simulation.GaussLinearUpwindLimitedGradDivergenceScheme",
            "GAUSS_LIMITEDLINEAR_1" : "#/components/schemas/Simulation.GaussLimitedLinear1DivergenceScheme",
            "GAUSS_LIMITEDLINEARV_1" : "#/components/schemas/Simulation.GaussLimitedLinearV1DivergenceScheme",
            "BOUNDED_GAUSS_UPWIND" : "#/components/schemas/Simulation.BoundedGaussUpwindDivergenceScheme",
            "GAUSS_UPWIND" : "#/components/schemas/Simulation.GaussUpwindDivergenceScheme",
            "GAUSS_VANLEER" : "#/components/schemas/Simulation.GaussVanleerDivergenceScheme",
            "GAUSS_LINEARUPWINDV_GRAD_U_" : "#/components/schemas/Simulation.GaussLinearUpwindVGradUDivergenceScheme"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.GaussLinearDivergenceScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussLinearUpwindVUnlimitedDivergenceScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussLinearUpwindUnlimitedDivergenceScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussLinearUpwindLimitedGradDivergenceScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussLimitedLinear1DivergenceScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussLimitedLinearV1DivergenceScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.BoundedGaussUpwindDivergenceScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussUpwindDivergenceScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussVanleerDivergenceScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussLinearUpwindVGradUDivergenceScheme"
        } ],
        "default" : {
          "type" : "BOUNDED_GAUSS_UPWIND"
        },
        "x-showWhen" : [ "type in [INCOMPRESSIBLE,CONVECTIVE_HEAT_TRANSFER,CONJUGATE_HEAT_TRANSFER]", "type == COMPRESSIBLE && turbulenceModel != NONE", "type == COMPRESSIBLE && timeDependency.type == STATIONARY", "type == COMPRESSIBLE && turbulenceModel == NONE && timeDependency.type == TRANSIENT" ],
        "x-conditionalDefaults" : [ {
          "when" : [ "type == INCOMPRESSIBLE" ],
          "default" : {
            "type" : "GAUSS_LINEARUPWINDV_GRAD_U_"
          }
        } ]
      },
      "Simulation.OneOf_DivergenceSchemesDiv_Phi_kineticEnergy" : {
        "title" : "div(phi,K)",
        "description" : "<p>With this option, you can choose your desired divergence scheme.</p>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "GAUSS_LINEAR" : "#/components/schemas/Simulation.GaussLinearDivergenceScheme",
            "GAUSS_LINEARUPWIND_UNLIMITED" : "#/components/schemas/Simulation.GaussLinearUpwindUnlimitedDivergenceScheme",
            "GAUSS_LINEARUPWIND_LIMITEDGRAD" : "#/components/schemas/Simulation.GaussLinearUpwindLimitedGradDivergenceScheme",
            "GAUSS_LIMITEDLINEAR_1" : "#/components/schemas/Simulation.GaussLimitedLinear1DivergenceScheme",
            "BOUNDED_GAUSS_UPWIND" : "#/components/schemas/Simulation.BoundedGaussUpwindDivergenceScheme",
            "GAUSS_UPWIND" : "#/components/schemas/Simulation.GaussUpwindDivergenceScheme",
            "GAUSS_VANLEER" : "#/components/schemas/Simulation.GaussVanleerDivergenceScheme"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.GaussLinearDivergenceScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussLinearUpwindUnlimitedDivergenceScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussLinearUpwindLimitedGradDivergenceScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussLimitedLinear1DivergenceScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.BoundedGaussUpwindDivergenceScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussUpwindDivergenceScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussVanleerDivergenceScheme"
        } ],
        "default" : {
          "type" : "BOUNDED_GAUSS_UPWIND"
        },
        "x-showWhen" : [ "type == CONJUGATE_HEAT_TRANSFER", "type == COMPRESSIBLE && turbulenceModel != NONE", "type == COMPRESSIBLE && timeDependency.type == STATIONARY", "type == COMPRESSIBLE && turbulenceModel == NONE && timeDependency.type == TRANSIENT", "type == CONVECTIVE_HEAT_TRANSFER && isCompressible == true" ],
        "x-conditionalDefaults" : [ {
          "when" : [ "type == COMPRESSIBLE" ],
          "default" : {
            "type" : "GAUSS_LINEAR"
          }
        } ]
      },
      "Simulation.OneOf_DivergenceSchemesDiv_Phi_enthalpy" : {
        "title" : "div(phi,h)",
        "description" : "<p>With this option, you can choose your desired divergence scheme.</p>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "GAUSS_LINEAR" : "#/components/schemas/Simulation.GaussLinearDivergenceScheme",
            "GAUSS_LINEARUPWIND_UNLIMITED" : "#/components/schemas/Simulation.GaussLinearUpwindUnlimitedDivergenceScheme",
            "GAUSS_LINEARUPWIND_LIMITEDGRAD" : "#/components/schemas/Simulation.GaussLinearUpwindLimitedGradDivergenceScheme",
            "GAUSS_LIMITEDLINEAR_1" : "#/components/schemas/Simulation.GaussLimitedLinear1DivergenceScheme",
            "BOUNDED_GAUSS_UPWIND" : "#/components/schemas/Simulation.BoundedGaussUpwindDivergenceScheme",
            "GAUSS_UPWIND" : "#/components/schemas/Simulation.GaussUpwindDivergenceScheme",
            "GAUSS_VANLEER" : "#/components/schemas/Simulation.GaussVanleerDivergenceScheme"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.GaussLinearDivergenceScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussLinearUpwindUnlimitedDivergenceScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussLinearUpwindLimitedGradDivergenceScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussLimitedLinear1DivergenceScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.BoundedGaussUpwindDivergenceScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussUpwindDivergenceScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussVanleerDivergenceScheme"
        } ],
        "default" : {
          "type" : "BOUNDED_GAUSS_UPWIND"
        },
        "x-showWhen" : [ "type == CONJUGATE_HEAT_TRANSFER", "type == COMPRESSIBLE && turbulenceModel != NONE", "type == COMPRESSIBLE && timeDependency.type == STATIONARY", "type == COMPRESSIBLE && turbulenceModel == NONE && timeDependency.type == TRANSIENT", "type == CONVECTIVE_HEAT_TRANSFER && isCompressible == true" ],
        "x-conditionalDefaults" : [ {
          "when" : [ "type == COMPRESSIBLE" ],
          "default" : {
            "type" : "GAUSS_UPWIND"
          }
        } ]
      },
      "Simulation.OneOf_DivergenceSchemesDiv_Phi_internalEnergy" : {
        "title" : "div(phi,e)",
        "description" : "<p>With this option, you can choose your desired divergence scheme.</p>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "GAUSS_LINEAR" : "#/components/schemas/Simulation.GaussLinearDivergenceScheme",
            "GAUSS_LINEARUPWIND_UNLIMITED" : "#/components/schemas/Simulation.GaussLinearUpwindUnlimitedDivergenceScheme",
            "GAUSS_LINEARUPWIND_LIMITEDGRAD" : "#/components/schemas/Simulation.GaussLinearUpwindLimitedGradDivergenceScheme",
            "GAUSS_LIMITEDLINEAR_1" : "#/components/schemas/Simulation.GaussLimitedLinear1DivergenceScheme",
            "BOUNDED_GAUSS_UPWIND" : "#/components/schemas/Simulation.BoundedGaussUpwindDivergenceScheme",
            "GAUSS_UPWIND" : "#/components/schemas/Simulation.GaussUpwindDivergenceScheme",
            "GAUSS_VANLEER" : "#/components/schemas/Simulation.GaussVanleerDivergenceScheme"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.GaussLinearDivergenceScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussLinearUpwindUnlimitedDivergenceScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussLinearUpwindLimitedGradDivergenceScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussLimitedLinear1DivergenceScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.BoundedGaussUpwindDivergenceScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussUpwindDivergenceScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussVanleerDivergenceScheme"
        } ],
        "default" : {
          "type" : "BOUNDED_GAUSS_UPWIND"
        },
        "x-showWhen" : [ "type == CONJUGATE_HEAT_TRANSFER", "type == COMPRESSIBLE && turbulenceModel != NONE", "type == COMPRESSIBLE && timeDependency.type == STATIONARY", "type == COMPRESSIBLE && turbulenceModel == NONE && timeDependency.type == TRANSIENT", "type == CONVECTIVE_HEAT_TRANSFER && isCompressible == true" ]
      },
      "Simulation.OneOf_DivergenceSchemesDiv_Phiv_pressure" : {
        "title" : "div(phiv,p)",
        "description" : "<p>With this option, you can choose your desired divergence scheme.</p>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "GAUSS_LINEAR" : "#/components/schemas/Simulation.GaussLinearDivergenceScheme",
            "GAUSS_LINEARUPWIND_UNLIMITED" : "#/components/schemas/Simulation.GaussLinearUpwindUnlimitedDivergenceScheme",
            "GAUSS_LINEARUPWIND_LIMITEDGRAD" : "#/components/schemas/Simulation.GaussLinearUpwindLimitedGradDivergenceScheme",
            "GAUSS_LIMITEDLINEAR_1" : "#/components/schemas/Simulation.GaussLimitedLinear1DivergenceScheme",
            "BOUNDED_GAUSS_UPWIND" : "#/components/schemas/Simulation.BoundedGaussUpwindDivergenceScheme",
            "GAUSS_UPWIND" : "#/components/schemas/Simulation.GaussUpwindDivergenceScheme",
            "GAUSS_VANLEER" : "#/components/schemas/Simulation.GaussVanleerDivergenceScheme"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.GaussLinearDivergenceScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussLinearUpwindUnlimitedDivergenceScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussLinearUpwindLimitedGradDivergenceScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussLimitedLinear1DivergenceScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.BoundedGaussUpwindDivergenceScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussUpwindDivergenceScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussVanleerDivergenceScheme"
        } ],
        "default" : {
          "type" : "BOUNDED_GAUSS_UPWIND"
        },
        "x-showWhen" : [ "type == CONJUGATE_HEAT_TRANSFER", "type == COMPRESSIBLE && timeDependency.type == TRANSIENT && turbulenceModel != NONE", "type == COMPRESSIBLE && timeDependency.type == TRANSIENT" ]
      },
      "Simulation.OneOf_DivergenceSchemesDiv_Phi_turbulentKineticEnergy" : {
        "title" : "div(phi,k)",
        "description" : "<p>With this option, you can choose your desired divergence scheme.</p>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "GAUSS_LINEAR" : "#/components/schemas/Simulation.GaussLinearDivergenceScheme",
            "GAUSS_LINEARUPWIND_UNLIMITED" : "#/components/schemas/Simulation.GaussLinearUpwindUnlimitedDivergenceScheme",
            "GAUSS_LINEARUPWIND_LIMITEDGRAD" : "#/components/schemas/Simulation.GaussLinearUpwindLimitedGradDivergenceScheme",
            "GAUSS_LIMITEDLINEAR_1" : "#/components/schemas/Simulation.GaussLimitedLinear1DivergenceScheme",
            "BOUNDED_GAUSS_UPWIND" : "#/components/schemas/Simulation.BoundedGaussUpwindDivergenceScheme",
            "GAUSS_UPWIND" : "#/components/schemas/Simulation.GaussUpwindDivergenceScheme",
            "GAUSS_VANLEER" : "#/components/schemas/Simulation.GaussVanleerDivergenceScheme"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.GaussLinearDivergenceScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussLinearUpwindUnlimitedDivergenceScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussLinearUpwindLimitedGradDivergenceScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussLimitedLinear1DivergenceScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.BoundedGaussUpwindDivergenceScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussUpwindDivergenceScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussVanleerDivergenceScheme"
        } ],
        "default" : {
          "type" : "BOUNDED_GAUSS_UPWIND"
        },
        "x-showWhen" : [ "type == INCOMPRESSIBLE && turbulenceModel in [KEPSILON,KOMEGA,KOMEGASST,REALIZABLEKE]", "type == MULTIPHASE && turbulenceModel in [KEPSILON,KOMEGA,KOMEGASST]", "type in [COMPRESSIBLE,CONJUGATE_HEAT_TRANSFER,CONVECTIVE_HEAT_TRANSFER] && turbulenceModel in [KEPSILON,KOMEGASST]" ]
      },
      "Simulation.OneOf_DivergenceSchemesDiv_Phi_omegaDissipationRate" : {
        "title" : "div(phi,omega)",
        "description" : "<p>With this option, you can choose your desired divergence scheme.</p>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "GAUSS_LINEAR" : "#/components/schemas/Simulation.GaussLinearDivergenceScheme",
            "GAUSS_LINEARUPWIND_UNLIMITED" : "#/components/schemas/Simulation.GaussLinearUpwindUnlimitedDivergenceScheme",
            "GAUSS_LINEARUPWIND_LIMITEDGRAD" : "#/components/schemas/Simulation.GaussLinearUpwindLimitedGradDivergenceScheme",
            "GAUSS_LIMITEDLINEAR_1" : "#/components/schemas/Simulation.GaussLimitedLinear1DivergenceScheme",
            "BOUNDED_GAUSS_UPWIND" : "#/components/schemas/Simulation.BoundedGaussUpwindDivergenceScheme",
            "GAUSS_UPWIND" : "#/components/schemas/Simulation.GaussUpwindDivergenceScheme",
            "GAUSS_VANLEER" : "#/components/schemas/Simulation.GaussVanleerDivergenceScheme"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.GaussLinearDivergenceScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussLinearUpwindUnlimitedDivergenceScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussLinearUpwindLimitedGradDivergenceScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussLimitedLinear1DivergenceScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.BoundedGaussUpwindDivergenceScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussUpwindDivergenceScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussVanleerDivergenceScheme"
        } ],
        "default" : {
          "type" : "BOUNDED_GAUSS_UPWIND"
        },
        "x-showWhen" : [ "type in [INCOMPRESSIBLE,MULTIPHASE] && turbulenceModel in [KOMEGA,KOMEGASST]", "type in [COMPRESSIBLE,CONJUGATE_HEAT_TRANSFER,CONVECTIVE_HEAT_TRANSFER] && turbulenceModel == KOMEGASST" ]
      },
      "Simulation.OneOf_DivergenceSchemesDiv_Phi_epsilonDissipationRate" : {
        "title" : "div(phi,epsilon)",
        "description" : "<p>With this option, you can choose your desired divergence scheme.</p>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "GAUSS_LINEAR" : "#/components/schemas/Simulation.GaussLinearDivergenceScheme",
            "GAUSS_LINEARUPWIND_UNLIMITED" : "#/components/schemas/Simulation.GaussLinearUpwindUnlimitedDivergenceScheme",
            "GAUSS_LINEARUPWIND_LIMITEDGRAD" : "#/components/schemas/Simulation.GaussLinearUpwindLimitedGradDivergenceScheme",
            "GAUSS_LIMITEDLINEAR_1" : "#/components/schemas/Simulation.GaussLimitedLinear1DivergenceScheme",
            "BOUNDED_GAUSS_UPWIND" : "#/components/schemas/Simulation.BoundedGaussUpwindDivergenceScheme",
            "GAUSS_UPWIND" : "#/components/schemas/Simulation.GaussUpwindDivergenceScheme",
            "GAUSS_VANLEER" : "#/components/schemas/Simulation.GaussVanleerDivergenceScheme"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.GaussLinearDivergenceScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussLinearUpwindUnlimitedDivergenceScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussLinearUpwindLimitedGradDivergenceScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussLimitedLinear1DivergenceScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.BoundedGaussUpwindDivergenceScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussUpwindDivergenceScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussVanleerDivergenceScheme"
        } ],
        "default" : {
          "type" : "BOUNDED_GAUSS_UPWIND"
        },
        "x-showWhen" : [ "type == INCOMPRESSIBLE && turbulenceModel in [KEPSILON,REALIZABLEKE]", "type in [COMPRESSIBLE,CONJUGATE_HEAT_TRANSFER,MULTIPHASE] && turbulenceModel == KEPSILON", "type == CONVECTIVE_HEAT_TRANSFER && turbulenceModel == KEPSILON && timeDependency.type == STATIONARY", "type == CONVECTIVE_HEAT_TRANSFER && turbulenceModel == KEPSILON && timeDependency.type == TRANSIENT && isCompressible == false" ]
      },
      "Simulation.OneOf_DivergenceSchemesDiv_R" : {
        "title" : "div(R)",
        "description" : "<p>With this option, you can choose your desired divergence scheme.</p>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "GAUSS_LINEAR" : "#/components/schemas/Simulation.GaussLinearDivergenceScheme",
            "GAUSS_LINEARUPWINDV_UNLIMITED" : "#/components/schemas/Simulation.GaussLinearUpwindVUnlimitedDivergenceScheme"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.GaussLinearDivergenceScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussLinearUpwindVUnlimitedDivergenceScheme"
        } ],
        "default" : {
          "type" : "GAUSS_LINEAR"
        },
        "x-showWhen" : [ "type == INCOMPRESSIBLE && turbulenceModel in [SMAGORINSKY,SPALARTALLMARAS,NONE,KEPSILON] && algorithm in [PISO,SIMPLE]" ]
      },
      "Simulation.OneOf_DivergenceSchemesDiv_Phi_R" : {
        "title" : "div(phi,R)",
        "description" : "<p>With this option, you can choose your desired divergence scheme.</p>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "GAUSS_LINEAR" : "#/components/schemas/Simulation.GaussLinearDivergenceScheme",
            "GAUSS_LINEARUPWIND_UNLIMITED" : "#/components/schemas/Simulation.GaussLinearUpwindUnlimitedDivergenceScheme",
            "GAUSS_LINEARUPWIND_LIMITEDGRAD" : "#/components/schemas/Simulation.GaussLinearUpwindLimitedGradDivergenceScheme",
            "GAUSS_LIMITEDLINEAR_1" : "#/components/schemas/Simulation.GaussLimitedLinear1DivergenceScheme",
            "BOUNDED_GAUSS_UPWIND" : "#/components/schemas/Simulation.BoundedGaussUpwindDivergenceScheme",
            "GAUSS_UPWIND" : "#/components/schemas/Simulation.GaussUpwindDivergenceScheme",
            "GAUSS_VANLEER" : "#/components/schemas/Simulation.GaussVanleerDivergenceScheme"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.GaussLinearDivergenceScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussLinearUpwindUnlimitedDivergenceScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussLinearUpwindLimitedGradDivergenceScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussLimitedLinear1DivergenceScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.BoundedGaussUpwindDivergenceScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussUpwindDivergenceScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussVanleerDivergenceScheme"
        } ],
        "default" : {
          "type" : "BOUNDED_GAUSS_UPWIND"
        },
        "x-showWhen" : [ "type == INCOMPRESSIBLE && turbulenceModel in [SMAGORINSKY,SPALARTALLMARAS,NONE,KEPSILON] && algorithm in [PISO,SIMPLE]" ]
      },
      "Simulation.OneOf_DivergenceSchemesDiv_Phi_nuTilda" : {
        "title" : "div(phi,nuTilda)",
        "description" : "<p>With this option, you can choose your desired divergence scheme.</p>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "GAUSS_LINEAR" : "#/components/schemas/Simulation.GaussLinearDivergenceScheme",
            "GAUSS_LINEARUPWIND_UNLIMITED" : "#/components/schemas/Simulation.GaussLinearUpwindUnlimitedDivergenceScheme",
            "GAUSS_LINEARUPWIND_LIMITEDGRAD" : "#/components/schemas/Simulation.GaussLinearUpwindLimitedGradDivergenceScheme",
            "GAUSS_LIMITEDLINEAR_1" : "#/components/schemas/Simulation.GaussLimitedLinear1DivergenceScheme",
            "BOUNDED_GAUSS_UPWIND" : "#/components/schemas/Simulation.BoundedGaussUpwindDivergenceScheme",
            "GAUSS_UPWIND" : "#/components/schemas/Simulation.GaussUpwindDivergenceScheme",
            "GAUSS_VANLEER" : "#/components/schemas/Simulation.GaussVanleerDivergenceScheme"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.GaussLinearDivergenceScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussLinearUpwindUnlimitedDivergenceScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussLinearUpwindLimitedGradDivergenceScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussLimitedLinear1DivergenceScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.BoundedGaussUpwindDivergenceScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussUpwindDivergenceScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussVanleerDivergenceScheme"
        } ],
        "x-showWhen" : [ "type == INCOMPRESSIBLE && turbulenceModel == SPALARTALLMARAS", "type == INCOMPRESSIBLE && turbulenceModel in [SMAGORINSKY,NONE,KEPSILON] && algorithm in [PISO,SIMPLE]", "type in [COMPRESSIBLE,CONVECTIVE_HEAT_TRANSFER,MULTIPHASE] && turbulenceModel == SPALARTALLMARAS" ],
        "x-conditionalDefaults" : [ {
          "when" : [ "type == INCOMPRESSIBLE && numOfPassiveSpecies > 0" ],
          "default" : {
            "type" : "GAUSS_UPWIND"
          }
        }, {
          "when" : [ "type == INCOMPRESSIBLE && numOfPassiveSpecies == 0 && algorithm != PIMPLE && turbulenceModel != SPALARTALLMARAS" ],
          "default" : {
            "type" : "BOUNDED_GAUSS_UPWIND"
          }
        }, {
          "when" : [ "type == INCOMPRESSIBLE && numOfPassiveSpecies == 0 && algorithm == PIMPLE && turbulenceModel == SPALARTALLMARAS" ],
          "default" : {
            "type" : "GAUSS_LINEAR"
          }
        }, {
          "when" : [ "type in [COMPRESSIBLE,CONVECTIVE_HEAT_TRANSFER,MULTIPHASE]" ],
          "default" : {
            "type" : "GAUSS_LINEAR"
          }
        } ]
      },
      "Simulation.OneOf_DivergenceSchemesDiv_Phi_temperature" : {
        "title" : "div(phi,T)",
        "description" : "<p>With this option, you can choose your desired divergence scheme.</p>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "GAUSS_LINEAR" : "#/components/schemas/Simulation.GaussLinearDivergenceScheme",
            "GAUSS_LINEARUPWIND_UNLIMITED" : "#/components/schemas/Simulation.GaussLinearUpwindUnlimitedDivergenceScheme",
            "GAUSS_LINEARUPWIND_LIMITEDGRAD" : "#/components/schemas/Simulation.GaussLinearUpwindLimitedGradDivergenceScheme",
            "GAUSS_LIMITEDLINEAR_1" : "#/components/schemas/Simulation.GaussLimitedLinear1DivergenceScheme",
            "BOUNDED_GAUSS_UPWIND" : "#/components/schemas/Simulation.BoundedGaussUpwindDivergenceScheme",
            "GAUSS_UPWIND" : "#/components/schemas/Simulation.GaussUpwindDivergenceScheme",
            "GAUSS_VANLEER" : "#/components/schemas/Simulation.GaussVanleerDivergenceScheme"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.GaussLinearDivergenceScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussLinearUpwindUnlimitedDivergenceScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussLinearUpwindLimitedGradDivergenceScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussLimitedLinear1DivergenceScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.BoundedGaussUpwindDivergenceScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussUpwindDivergenceScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussVanleerDivergenceScheme"
        } ],
        "default" : {
          "type" : "BOUNDED_GAUSS_UPWIND"
        },
        "x-showWhen" : [ "type == CONVECTIVE_HEAT_TRANSFER && isCompressible == false" ]
      },
      "Simulation.OneOf_DivergenceSchemesDiv_Phi_passiveScalar" : {
        "title" : "div(phi,T*)",
        "description" : "<p>With this option, you can choose your desired divergence scheme.</p>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "GAUSS_LINEAR" : "#/components/schemas/Simulation.GaussLinearDivergenceScheme",
            "GAUSS_LINEARUPWIND_UNLIMITED" : "#/components/schemas/Simulation.GaussLinearUpwindUnlimitedDivergenceScheme",
            "GAUSS_LINEARUPWIND_LIMITEDGRAD" : "#/components/schemas/Simulation.GaussLinearUpwindLimitedGradDivergenceScheme",
            "GAUSS_LIMITEDLINEAR_1" : "#/components/schemas/Simulation.GaussLimitedLinear1DivergenceScheme",
            "BOUNDED_GAUSS_UPWIND" : "#/components/schemas/Simulation.BoundedGaussUpwindDivergenceScheme",
            "GAUSS_UPWIND" : "#/components/schemas/Simulation.GaussUpwindDivergenceScheme",
            "GAUSS_VANLEER" : "#/components/schemas/Simulation.GaussVanleerDivergenceScheme"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.GaussLinearDivergenceScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussLinearUpwindUnlimitedDivergenceScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussLinearUpwindLimitedGradDivergenceScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussLimitedLinear1DivergenceScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.BoundedGaussUpwindDivergenceScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussUpwindDivergenceScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussVanleerDivergenceScheme"
        } ],
        "default" : {
          "type" : "BOUNDED_GAUSS_UPWIND"
        },
        "x-showWhen" : [ "type == INCOMPRESSIBLE && numOfPassiveSpecies > 0", "type == CONVECTIVE_HEAT_TRANSFER && numOfPassiveSpecies > 0" ]
      },
      "Simulation.OneOf_DivergenceSchemesDiv_tauMC" : {
        "title" : "div(tauMC)",
        "description" : "<p>With this option, you can choose your desired divergence scheme.</p>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "GAUSS_LINEAR" : "#/components/schemas/Simulation.GaussLinearDivergenceScheme",
            "GAUSS_LINEARUPWINDV_UNLIMITED" : "#/components/schemas/Simulation.GaussLinearUpwindVUnlimitedDivergenceScheme"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.GaussLinearDivergenceScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussLinearUpwindVUnlimitedDivergenceScheme"
        } ],
        "default" : {
          "type" : "GAUSS_LINEAR"
        },
        "x-showWhen" : [ "type == COMPRESSIBLE && timeDependency.type == TRANSIENT && turbulenceModel == NONE" ]
      },
      "Simulation.OneOf_DivergenceSchemesDiv_phid_pressure" : {
        "title" : "div(phid,p)",
        "description" : "<p>With this option, you can choose your desired divergence scheme.</p>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "GAUSS_LINEAR" : "#/components/schemas/Simulation.GaussLinearDivergenceScheme",
            "GAUSS_LINEARUPWIND_UNLIMITED" : "#/components/schemas/Simulation.GaussLinearUpwindUnlimitedDivergenceScheme",
            "GAUSS_LINEARUPWIND_LIMITEDGRAD" : "#/components/schemas/Simulation.GaussLinearUpwindLimitedGradDivergenceScheme",
            "GAUSS_LIMITEDLINEAR_1" : "#/components/schemas/Simulation.GaussLimitedLinear1DivergenceScheme",
            "BOUNDED_GAUSS_UPWIND" : "#/components/schemas/Simulation.BoundedGaussUpwindDivergenceScheme",
            "GAUSS_UPWIND" : "#/components/schemas/Simulation.GaussUpwindDivergenceScheme",
            "GAUSS_VANLEER" : "#/components/schemas/Simulation.GaussVanleerDivergenceScheme"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.GaussLinearDivergenceScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussLinearUpwindUnlimitedDivergenceScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussLinearUpwindLimitedGradDivergenceScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussLimitedLinear1DivergenceScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.BoundedGaussUpwindDivergenceScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussUpwindDivergenceScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussVanleerDivergenceScheme"
        } ],
        "default" : {
          "type" : "GAUSS_UPWIND"
        },
        "x-showWhen" : [ "type == COMPRESSIBLE && timeDependency.type == TRANSIENT && turbulenceModel != NONE", "type == COMPRESSIBLE && timeDependency.type == TRANSIENT" ]
      },
      "Simulation.OneOf_DivergenceSchemesDiv_velocity" : {
        "title" : "div(U)",
        "description" : "<p>With this option, you can choose your desired divergence scheme.</p>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "GAUSS_LINEAR" : "#/components/schemas/Simulation.GaussLinearDivergenceScheme",
            "GAUSS_LINEARUPWINDV_UNLIMITED" : "#/components/schemas/Simulation.GaussLinearUpwindVUnlimitedDivergenceScheme"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.GaussLinearDivergenceScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussLinearUpwindVUnlimitedDivergenceScheme"
        } ],
        "default" : {
          "type" : "GAUSS_LINEAR"
        },
        "x-showWhen" : [ "type == COMPRESSIBLE && timeDependency.type == TRANSIENT && turbulenceModel != NONE", "type == COMPRESSIBLE && timeDependency.type == TRANSIENT" ]
      },
      "Simulation.OneOf_DivergenceSchemesDiv_phi_Ekp" : {
        "title" : "div(phi,Ekp)",
        "description" : "<p>With this option, you can choose your desired divergence scheme.</p>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "GAUSS_LINEAR" : "#/components/schemas/Simulation.GaussLinearDivergenceScheme",
            "GAUSS_LINEARUPWIND_UNLIMITED" : "#/components/schemas/Simulation.GaussLinearUpwindUnlimitedDivergenceScheme",
            "GAUSS_LINEARUPWIND_LIMITEDGRAD" : "#/components/schemas/Simulation.GaussLinearUpwindLimitedGradDivergenceScheme",
            "GAUSS_LIMITEDLINEAR_1" : "#/components/schemas/Simulation.GaussLimitedLinear1DivergenceScheme",
            "BOUNDED_GAUSS_UPWIND" : "#/components/schemas/Simulation.BoundedGaussUpwindDivergenceScheme",
            "GAUSS_UPWIND" : "#/components/schemas/Simulation.GaussUpwindDivergenceScheme",
            "GAUSS_VANLEER" : "#/components/schemas/Simulation.GaussVanleerDivergenceScheme"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.GaussLinearDivergenceScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussLinearUpwindUnlimitedDivergenceScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussLinearUpwindLimitedGradDivergenceScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussLimitedLinear1DivergenceScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.BoundedGaussUpwindDivergenceScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussUpwindDivergenceScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussVanleerDivergenceScheme"
        } ],
        "default" : {
          "type" : "BOUNDED_GAUSS_UPWIND"
        },
        "x-showWhen" : [ "type == COMPRESSIBLE && timeDependency.type == STATIONARY", "type == CONVECTIVE_HEAT_TRANSFER && isCompressible == true" ]
      },
      "Simulation.OneOf_DivergenceSchemesDiv_phirb_alpha" : {
        "title" : "div(phirb,alpha)",
        "description" : "<p>With this option, you can choose your desired divergence scheme.</p>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "GAUSS_VANLEER" : "#/components/schemas/Simulation.GaussVanleerDivergenceScheme",
            "GAUSS_INTERFACECOMPRESSION" : "#/components/schemas/Simulation.GaussInterfaceCompressionDivergenceScheme"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.GaussVanleerDivergenceScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussInterfaceCompressionDivergenceScheme"
        } ],
        "default" : {
          "type" : "GAUSS_INTERFACECOMPRESSION"
        },
        "x-showWhen" : [ "type == MULTIPHASE" ]
      },
      "Simulation.OneOf_DivergenceSchemesDiv_phi_alpha" : {
        "title" : "div(phi,alpha)",
        "description" : "<p>With this option, you can choose your desired divergence scheme.</p>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "GAUSS_VANLEER" : "#/components/schemas/Simulation.GaussVanleerDivergenceScheme",
            "GAUSS_INTERFACECOMPRESSION" : "#/components/schemas/Simulation.GaussInterfaceCompressionDivergenceScheme"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.GaussVanleerDivergenceScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussInterfaceCompressionDivergenceScheme"
        } ],
        "default" : {
          "type" : "GAUSS_VANLEER"
        },
        "x-showWhen" : [ "type == MULTIPHASE" ]
      },
      "Simulation.OneOf_DivergenceSchemesDiv_rhoPhi_velocity" : {
        "title" : "div(rhoPhi,U)",
        "description" : "<p>With this option, you can choose your desired divergence scheme.</p>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "GAUSS_LINEAR" : "#/components/schemas/Simulation.GaussLinearDivergenceScheme",
            "GAUSS_LINEARUPWIND_UNLIMITED" : "#/components/schemas/Simulation.GaussLinearUpwindUnlimitedDivergenceScheme",
            "GAUSS_LINEARUPWIND_LIMITEDGRAD" : "#/components/schemas/Simulation.GaussLinearUpwindLimitedGradDivergenceScheme",
            "GAUSS_LIMITEDLINEAR_1" : "#/components/schemas/Simulation.GaussLimitedLinear1DivergenceScheme",
            "GAUSS_LIMITEDLINEARV_1" : "#/components/schemas/Simulation.GaussLimitedLinearV1DivergenceScheme",
            "BOUNDED_GAUSS_UPWIND" : "#/components/schemas/Simulation.BoundedGaussUpwindDivergenceScheme",
            "GAUSS_UPWIND" : "#/components/schemas/Simulation.GaussUpwindDivergenceScheme",
            "GAUSS_VANLEER" : "#/components/schemas/Simulation.GaussVanleerDivergenceScheme",
            "GAUSS_LINEARUPWINDV_GRAD_U_" : "#/components/schemas/Simulation.GaussLinearUpwindVGradUDivergenceScheme"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.GaussLinearDivergenceScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussLinearUpwindUnlimitedDivergenceScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussLinearUpwindLimitedGradDivergenceScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussLimitedLinear1DivergenceScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussLimitedLinearV1DivergenceScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.BoundedGaussUpwindDivergenceScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussUpwindDivergenceScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussVanleerDivergenceScheme"
        }, {
          "$ref" : "#/components/schemas/Simulation.GaussLinearUpwindVGradUDivergenceScheme"
        } ],
        "default" : {
          "type" : "GAUSS_LIMITEDLINEAR_1"
        },
        "x-showWhen" : [ "type == MULTIPHASE" ]
      },
      "Simulation.OneOf_DimensionalVectorFunction_VolumeForceValue" : {
        "title" : "Value",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "COMPONENT" : "#/components/schemas/Simulation.ComponentVectorFunction",
            "TABLE_DEFINED" : "#/components/schemas/Simulation.TableDefinedVectorFunction"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.ComponentVectorFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.TableDefinedVectorFunction"
        } ]
      },
      "Simulation.OneOf_FrictionContactContactSolutionMethod" : {
        "title" : "Solution method",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "AUGMENTED_LAGRANGE" : "#/components/schemas/Simulation.AugmentedLagrangeMethod",
            "PENALTY_METHOD" : "#/components/schemas/Simulation.PenaltyMethod"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.AugmentedLagrangeMethod"
        }, {
          "$ref" : "#/components/schemas/Simulation.PenaltyMethod"
        } ],
        "default" : {
          "type" : "PENALTY_METHOD"
        }
      },
      "Simulation.OneOf_FrictionContactFrictionCoefficient" : {
        "title" : "Friction coefficient",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "FRICTION_AUGMENTATION_COEF" : "#/components/schemas/Simulation.FrictionAugmentedLagrangeCoef",
            "FRICTION_PENALTY_COEF" : "#/components/schemas/Simulation.FrictionPenaltyCoef"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.FrictionAugmentedLagrangeCoef"
        }, {
          "$ref" : "#/components/schemas/Simulation.FrictionPenaltyCoef"
        } ],
        "default" : {
          "type" : "FRICTION_PENALTY_COEF"
        },
        "x-showWhen" : [ "type in [STATIC_ANALYSIS,DYNAMIC_ANALYSIS,THERMAL_MECHANICAL]" ]
      },
      "Simulation.OneOf_FrictionContactFictitiousClearance" : {
        "title" : "Fictitious clearance",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "NO_FICTITIOUS_CLEARANCE" : "#/components/schemas/Simulation.NoFictitiousClearance",
            "WITH_FICTITIOUS_CLEARANCE" : "#/components/schemas/Simulation.WithFictitiousClearance"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.NoFictitiousClearance"
        }, {
          "$ref" : "#/components/schemas/Simulation.WithFictitiousClearance"
        } ],
        "default" : {
          "type" : "NO_FICTITIOUS_CLEARANCE"
        },
        "x-showWhen" : [ "type in [STATIC_ANALYSIS,DYNAMIC_ANALYSIS,THERMAL_MECHANICAL]" ]
      },
      "Simulation.OneOf_FieldCalculationsTurbulenceResultControlResultType" : {
        "title" : "Result type",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "DIMENSIONLESS_WALL_DISTANCE_YPLUS" : "#/components/schemas/Simulation.YPlusRASResultType",
            "REYNOLDS_STRESS_TENSOR" : "#/components/schemas/Simulation.ReynoldsStressResultType"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.YPlusRASResultType"
        }, {
          "$ref" : "#/components/schemas/Simulation.ReynoldsStressResultType"
        } ],
        "default" : {
          "type" : "DIMENSIONLESS_WALL_DISTANCE_YPLUS"
        }
      },
      "Simulation.OneOf_FlowRateOutletVBCFlowRate" : {
        "title" : "Flow rate type",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "MASS" : "#/components/schemas/Simulation.MassFlow",
            "VOLUMETRIC" : "#/components/schemas/Simulation.VolumetricFlow"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.MassFlow"
        }, {
          "$ref" : "#/components/schemas/Simulation.VolumetricFlow"
        } ],
        "default" : {
          "type" : "MASS"
        }
      },
      "Simulation.OneOf_MarcMaterialMarcMaterialBehavior" : {
        "title" : "Behavior",
        "description" : "<ul><li><b>Linear elastic</b>: This behavior assumes a linear relationship between stress and strain according to Hooke's Law, where the material returns to its original shape upon unloading. It is defined by constant values for Young's modulus and Poisson's ratio and is typically used for materials experiencing small deformations below their yield point.</li><li><b>Hyperelastic</b>: Hyperelastic models describe materials like rubber or elastomers that can undergo very large, recoverable (elastic) strains. These models are defined through strain energy functions (e.g., Mooney-Rivlin or Ogden) to capture non-linear elastic behavior and near-incompressibility.</li><li><b>Elastoplastic</b>: This behavior models materials that deform elastically until a specific yield stress is reached, after which permanent (plastic) deformation occurs. It utilizes a yield criterion (such as von Mises) and a hardening rule to define how the material's strength increases with continued plastic straining. This behavior is typically used to model materials like metals or structural alloys.</li><li><b>Viscoplastic</b>: This multi-network model utilizes a parallel combination of hyperelastic, viscoelastic, and viscoplastic elements to capture the complex, rate-dependent response of polymers like thermoplastics and elastomers. It is specifically designed to simulate phenomena such as creep, stress relaxation, and stiffness degradation (damage) under cyclic loading conditions. It is the ideal choice for thermoplastics and elastomers.</li></ul>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "LINEAR_ELASTIC_MARC" : "#/components/schemas/Simulation.LinearElasticMarcMaterialBehavior",
            "HYPERELASTIC_MARC" : "#/components/schemas/Simulation.HyperelasticMarcMaterialBehavior",
            "ELASTOPLASTIC_MARC" : "#/components/schemas/Simulation.ElastoplasticMarcMaterialBehavior",
            "VISCOPLASTIC_MARC" : "#/components/schemas/Simulation.ViscoplasticMarcMaterialBehavior"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.LinearElasticMarcMaterialBehavior"
        }, {
          "$ref" : "#/components/schemas/Simulation.HyperelasticMarcMaterialBehavior"
        }, {
          "$ref" : "#/components/schemas/Simulation.ElastoplasticMarcMaterialBehavior"
        }, {
          "$ref" : "#/components/schemas/Simulation.ViscoplasticMarcMaterialBehavior"
        } ],
        "default" : {
          "type" : "LINEAR_ELASTIC_MARC"
        }
      },
      "Simulation.OneOf_AreaAverageResultControlWriteControl" : {
        "title" : "Write control",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "TIME_STEP" : "#/components/schemas/Simulation.TimeStepWriteControl",
            "OUTPUT_TIME" : "#/components/schemas/Simulation.SynchronizeWithFieldOutputWriteControl",
            "NUMBER_OF_ITERATIONS_STEADY_STATE" : "#/components/schemas/Simulation.NumberIterationsWriteControl"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.TimeStepWriteControl"
        }, {
          "$ref" : "#/components/schemas/Simulation.SynchronizeWithFieldOutputWriteControl"
        }, {
          "$ref" : "#/components/schemas/Simulation.NumberIterationsWriteControl"
        } ],
        "x-showWhen" : [ "type in [COMPRESSIBLE,INCOMPRESSIBLE,CONVECTIVE_HEAT_TRANSFER]", "type in [CONJUGATE_HEAT_TRANSFER,COUPLED_CONJUGATE_HEAT_TRANSFER,EMBEDDED_BOUNDARY,MULTIPHASE]" ],
        "x-conditionalDefaults" : [ {
          "when" : [ "type == SIMERICS_ANALYSIS" ],
          "default" : {
            "type" : "NUMBER_OF_ITERATIONS_STEADY_STATE"
          }
        }, {
          "when" : [ "type in [COMPRESSIBLE,INCOMPRESSIBLE,MULTIPHASE,CONVECTIVE_HEAT_TRANSFER]", "type in [CONJUGATE_HEAT_TRANSFER,COUPLED_CONJUGATE_HEAT_TRANSFER,EMBEDDED_BOUNDARY]" ],
          "default" : {
            "type" : "TIME_STEP"
          }
        } ]
      },
      "Simulation.OneOf_NaturalConvectionInletOutletBCPressureRgh" : {
        "title" : "(P) Modified pressure",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "AMBIENT_PRESSURE" : "#/components/schemas/Simulation.AmbientPBC",
            "HYDROSTATIC_ISOTHERMAL_TOTAL_PRESSURE" : "#/components/schemas/Simulation.HydrostaticIsothermalTotalPBC"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.AmbientPBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.HydrostaticIsothermalTotalPBC"
        } ],
        "default" : {
          "type" : "HYDROSTATIC_ISOTHERMAL_TOTAL_PRESSURE"
        },
        "x-conditionalHelp" : [ {
          "when" : [ "1/pressureRgh/type == AMBIENT_PRESSURE" ]
        }, {
          "when" : [ "1/pressureRgh/type == HYDROSTATIC_ISOTHERMAL_TOTAL_PRESSURE" ]
        } ],
        "x-showWhen" : [ "type == CONVECTIVE_HEAT_TRANSFER && isCompressible == true", "type in [COUPLED_CONJUGATE_HEAT_TRANSFER,EMBEDDED_BOUNDARY] && isCompressible == true", "type == CONJUGATE_HEAT_TRANSFER" ]
      },
      "Simulation.OneOf_NaturalConvectionInletOutletBCTurbulence" : {
        "title" : "Ambient turbulence",
        "description" : "These options specify <b>inlet</b> boundary conditions for <b>turbulence quantities</b>: </p><ul><li><p><b>Automatic</b> considers a value of <i>0.05</i> for <b>turbulent intensity</b> (<i>I</i>). The <b>turbulent mixing length </b>(<i>L</i>) is calculated as <i>0.07D<sub>h</sub></i>, where <i>D<sub>h</sub></i> is the <b>hydraulic diameter</b> of the boundary face.</p><li><p><b>Turbulent intensity and mixing length</b> allows to specify these values directly.</p><li><p><b>Fixed value</b> allows to specify the values of the <b>turbulent kinetic energy </b>(<i>k</i>) and the <b>turbulent dissipation rate</b> (&#120656) or the <b>specific dissipation rate</b> (&#969).</p></ul>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "AUTOMATIC_TURBULENCE" : "#/components/schemas/Simulation.AutomaticTurbulence",
            "TURBULENT_INTENSITY_AND_REFERENCE_LENGTH_TURBULENCE" : "#/components/schemas/Simulation.TurbulentIntensityAndReferenceLengthTurbulence",
            "FIXED_VALUE_TURBULENCE" : "#/components/schemas/Simulation.FixedValueTurbulence"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.AutomaticTurbulence"
        }, {
          "$ref" : "#/components/schemas/Simulation.TurbulentIntensityAndReferenceLengthTurbulence"
        }, {
          "$ref" : "#/components/schemas/Simulation.FixedValueTurbulence"
        } ],
        "default" : {
          "type" : "AUTOMATIC_TURBULENCE"
        },
        "x-showWhen" : [ "type in [INCOMPRESSIBLE,COMPRESSIBLE,CONJUGATE_HEAT_TRANSFER,CONVECTIVE_HEAT_TRANSFER,COUPLED_CONJUGATE_HEAT_TRANSFER,EMBEDDED_BOUNDARY] && turbulenceModel in [KEPSILON,KOMEGA,KOMEGASST,REALIZABLEKE]" ]
      },
      "Simulation.OneOf_NaturalConvectionInletOutletBCNetRadiativeHeatFlux" : {
        "title" : "Radiative behaviour",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "GREYBODY_DIFFUSIVE" : "#/components/schemas/Simulation.GreybodyDiffusiveRSBC",
            "OPEN_WINDOW" : "#/components/schemas/Simulation.OpenWindowRSBC"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.GreybodyDiffusiveRSBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.OpenWindowRSBC"
        } ],
        "default" : {
          "type" : "OPEN_WINDOW"
        },
        "x-showWhen" : [ "type == CONVECTIVE_HEAT_TRANSFER && enableRadiation == true", "type == CONJUGATE_HEAT_TRANSFER && enableRadiation == true" ]
      },
      "Simulation.OneOf_IRAMSorensenSubspaceSettings" : {
        "title" : "Subspace settings",
        "description" : "<p>Specify the subspace used by the eigensolver. This setting should only be changed if the errors during the solution procedure occur that recommend to change it. In general, the more frequencies are computed, the larger the subspace should be.<br> <li><b>Automatic</b>: The solver selects an appropriate subspace itself based on the model and other inputs.</li><li><b>Dimension</b>: Directly specify the subspace dimension. This should be only done after checking the error log, which gives hints on selecting this setting.</li><li><b>Coefficient</b>: Multiplier for setting the subspace dimension proportional to the number of computed frequencies</li></p>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "AUTOMATIC" : "#/components/schemas/Simulation.AutomaticSubspaceSettings",
            "SUBSPACE_DIMENSION" : "#/components/schemas/Simulation.SubspaceDimension",
            "SUBSPACE_COEFFICIENT" : "#/components/schemas/Simulation.SubspaceCoefficient"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.AutomaticSubspaceSettings"
        }, {
          "$ref" : "#/components/schemas/Simulation.SubspaceDimension"
        }, {
          "$ref" : "#/components/schemas/Simulation.SubspaceCoefficient"
        } ],
        "default" : {
          "type" : "AUTOMATIC"
        }
      },
      "Simulation.OneOf_TrueSemiImplicitSolver" : {
        "title" : "Solver",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "PBICG" : "#/components/schemas/Simulation.PBICGSolver",
            "SMOOTH" : "#/components/schemas/Simulation.SmoothSolver"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.PBICGSolver"
        }, {
          "$ref" : "#/components/schemas/Simulation.SmoothSolver"
        } ],
        "default" : {
          "type" : "SMOOTH"
        }
      },
      "Simulation.OneOf_DimensionalFunction_VolumetricPowerValue" : {
        "title" : "Value",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "CONSTANT" : "#/components/schemas/Simulation.ConstantFunction",
            "EXPRESSION" : "#/components/schemas/Simulation.ExpressionFunction",
            "POLYNOMIAL" : "#/components/schemas/Simulation.PolynomialFunction",
            "TABLE_DEFINED" : "#/components/schemas/Simulation.TableDefinedFunction"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.ConstantFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.ExpressionFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.PolynomialFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.TableDefinedFunction"
        } ]
      },
      "Simulation.OneOf_IsotropicSpringStiffnessStiffnessDefinition" : {
        "title" : "Stiffness definition",
        "description" : "<p>The resulting stiffness of the elastic support can be defined either via the <b>total stiffness</b> expressed as force per length or the <b>distributed stiffness</b> expressed as force per length per area.</p>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "TOTAL_ISOTROPIC" : "#/components/schemas/Simulation.TotalIsotropicStiffnessDefinition",
            "DISTRIBUTED_ISOTROPIC" : "#/components/schemas/Simulation.DistributedIsotropicStiffnessDefinition"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.TotalIsotropicStiffnessDefinition"
        }, {
          "$ref" : "#/components/schemas/Simulation.DistributedIsotropicStiffnessDefinition"
        } ],
        "default" : {
          "type" : "TOTAL_ISOTROPIC"
        }
      },
      "Simulation.OneOf_BilinearModelMarcHardeningModel" : {
        "title" : "Hardening model",
        "description" : "Choose <b>Perfectly plastic</b> if the material maintains a constant stress level after yielding, or <b>Strain hardening</b> if the material's strength increases as it undergoes further plastic deformation.",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "PERFECT_PLASTICITY" : "#/components/schemas/Simulation.PerfectPlasticityModelMarc",
            "STRAIN_HARDENING" : "#/components/schemas/Simulation.StrainHardeningModelMarc"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.PerfectPlasticityModelMarc"
        }, {
          "$ref" : "#/components/schemas/Simulation.StrainHardeningModelMarc"
        } ],
        "default" : {
          "type" : "PERFECT_PLASTICITY"
        }
      },
      "Simulation.OneOf_BilinearModelMarcHardeningRule" : {
        "title" : "Hardening rule",
        "description" : "This determines how the yield surface evolves during cyclic loading; <b>Isotropic</b> expands the surface uniformly, <b>Kinematic</b> shifts it to account for the Bauschinger effect, and <b>Combined</b> utilizes both behaviors for maximum accuracy.",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "ISOTROPIC" : "#/components/schemas/Simulation.IsotropicPlasticHardeningMarc",
            "KINEMATIC" : "#/components/schemas/Simulation.KinematicPlasticHardeningMarc",
            "COMBINED" : "#/components/schemas/Simulation.CombinedPlasticHardeningMarc"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.IsotropicPlasticHardeningMarc"
        }, {
          "$ref" : "#/components/schemas/Simulation.KinematicPlasticHardeningMarc"
        }, {
          "$ref" : "#/components/schemas/Simulation.CombinedPlasticHardeningMarc"
        } ],
        "default" : {
          "type" : "ISOTROPIC"
        },
        "x-showWhen" : [ "1/hardeningModel/type == STRAIN_HARDENING" ]
      },
      "Simulation.OneOf_EmbeddedBoundaryExternalFlowBoundaryCondition" : {
        "title" : "External flow bc",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "WALL_V34" : "#/components/schemas/Simulation.WallBC",
            "NATURAL_CONVECTION_INLET_OUTLET" : "#/components/schemas/Simulation.NaturalConvectionInletOutletBC"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.WallBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.NaturalConvectionInletOutletBC"
        } ],
        "default" : {
          "type" : "NATURAL_CONVECTION_INLET_OUTLET"
        },
        "x-showWhen" : [ "allowExternalFlow == true" ]
      },
      "Simulation.OneOf_EmbeddedBoundaryBoundaryConditions" : {
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "VELOCITY_INLET_V3" : "#/components/schemas/Simulation.VelocityInletBC",
            "VELOCITY_OUTLET_V7" : "#/components/schemas/Simulation.VelocityOutletBC",
            "PRESSURE_INLET_V31" : "#/components/schemas/Simulation.PressureInletBC",
            "PRESSURE_OUTLET_V30" : "#/components/schemas/Simulation.PressureOutletBC",
            "WALL_V34" : "#/components/schemas/Simulation.WallBC",
            "FAN" : "#/components/schemas/Simulation.FanBC",
            "SYMMETRY" : "#/components/schemas/Simulation.SymmetryBC",
            "NATURAL_CONVECTION_INLET_OUTLET" : "#/components/schemas/Simulation.NaturalConvectionInletOutletBC"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.VelocityInletBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.VelocityOutletBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.PressureInletBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.PressureOutletBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.WallBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.FanBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.SymmetryBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.NaturalConvectionInletOutletBC"
        } ]
      },
      "Simulation.OneOf_EmbeddedBoundaryTimeDependency" : {
        "title" : "Time dependency",
        "description" : "<p><strong>Steady-state</strong>: Steady-state simulations are time-independent, that is, the equations solved do not include time derivatives. If you are only interested in the converged solution, consider a steady-state simulation.</p><p><strong>Transient</strong>: Transient simulations account for time-dependent effects, that is, the associated flow variables vary with respect to time.</p>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "TRANSIENT" : "#/components/schemas/Simulation.TransientTimeDependency",
            "STATIONARY" : "#/components/schemas/Simulation.StationaryTimeDependency"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.TransientTimeDependency"
        }, {
          "$ref" : "#/components/schemas/Simulation.StationaryTimeDependency"
        } ],
        "default" : {
          "type" : "STATIONARY"
        }
      },
      "Simulation.OneOf_MarcForceResultControlItemForceType" : {
        "title" : "Force type",
        "description" : "<ul><li><b>Reaction force</b>: The forces exerted by constraints (supports) to prevent motion; the sum of reaction forces typically balances the total external load.<li><b>External force</b>: The nodal representation of all applied loads, such as point loads and distributed loads, acting on the structure.</ul>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "REACTION" : "#/components/schemas/Simulation.ReactionForce",
            "EXTERNAL" : "#/components/schemas/Simulation.ExternalForce"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.ReactionForce"
        }, {
          "$ref" : "#/components/schemas/Simulation.ExternalForce"
        } ],
        "default" : {
          "type" : "REACTION"
        }
      },
      "Simulation.OneOf_ErrorRetimingEventTimestepCalculationType" : {
        "title" : "Time step calculation",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "NEWTON_ITERATION" : "#/components/schemas/Simulation.NewtonIterationTimestepCalculationType",
            "MANUAL" : "#/components/schemas/Simulation.ManualTimestepCalculationType"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.NewtonIterationTimestepCalculationType"
        }, {
          "$ref" : "#/components/schemas/Simulation.ManualTimestepCalculationType"
        } ],
        "default" : {
          "type" : "MANUAL"
        }
      },
      "Simulation.OneOf_HarmonicDisplacementResultControlItemHarmonicDisplacementType" : {
        "title" : "Displacement type",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "ABSOLUTE" : "#/components/schemas/Simulation.AbsoluteHarmonicDisplacementType",
            "RELATIVE" : "#/components/schemas/Simulation.RelativeHarmonicDisplacementType"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.AbsoluteHarmonicDisplacementType"
        }, {
          "$ref" : "#/components/schemas/Simulation.RelativeHarmonicDisplacementType"
        } ],
        "default" : {
          "type" : "ABSOLUTE"
        },
        "x-showWhen" : [ "type == HARMONIC_ANALYSIS" ]
      },
      "Simulation.OneOf_StressFieldSelectionStressType" : {
        "title" : "Stress type",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "TRESCA" : "#/components/schemas/Simulation.TrescaStressType",
            "CAUCHY" : "#/components/schemas/Simulation.CauchyStressType",
            "PRINCIPAL" : "#/components/schemas/Simulation.PrincipalStressType",
            "VON_MISES" : "#/components/schemas/Simulation.VonMisesStressType",
            "SIGNED_VON_MISES" : "#/components/schemas/Simulation.SignedVonMisesStressType"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.TrescaStressType"
        }, {
          "$ref" : "#/components/schemas/Simulation.CauchyStressType"
        }, {
          "$ref" : "#/components/schemas/Simulation.PrincipalStressType"
        }, {
          "$ref" : "#/components/schemas/Simulation.VonMisesStressType"
        }, {
          "$ref" : "#/components/schemas/Simulation.SignedVonMisesStressType"
        } ],
        "default" : {
          "type" : "CAUCHY"
        }
      },
      "Simulation.OneOf_NoSlipVBCNoSlipWallRoughnessType" : {
        "title" : "Surface roughness type",
        "description" : "<p>Define a surface roughness on the wall of the virtual wind tunnel. The roughness value can be defined in two ways: <ul><li><b>Equivalent sand grain</b> roughness k<sub>s</sub>. This method is used to represent the actual roughness of specific materials that influence the flow close to the surface. Typical values reach from 0.00005 m for steel to 0.003 m for concrete.</li><li><b>Aerodynamic</b> roughness z<sub>0</sub>. Here, the roughness value is used to model the larger scale effects of non-modeled obstacles (such as vegetation, buildings etc.) on the atmospheric boundary layer flow. Typical values range from 0.0002 m for open sea to 1 m for dense urban areas.</li></ul> The roughness value will only be applied to the floor of the wind tunnel and not to potential terrain surfaces. <a href='https://www.simscale.com/docs/analysis-types/pedestrian-wind-comfort-analysis/advanced-modelling/#surface-roughness' target='_blank'>Learn more</a>.</p>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "NO_SLIP_WALL_EQUIVALENT_SAND_ROUGHNESS" : "#/components/schemas/Simulation.NoSlipWallEquivalentSandRoughness",
            "NO_SLIP_WALL_AERODYNAMIC_ROUGHNESS" : "#/components/schemas/Simulation.NoSlipWallAerodynamicRoughness"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.NoSlipWallEquivalentSandRoughness"
        }, {
          "$ref" : "#/components/schemas/Simulation.NoSlipWallAerodynamicRoughness"
        } ],
        "default" : {
          "type" : "NO_SLIP_WALL_EQUIVALENT_SAND_ROUGHNESS"
        },
        "x-showWhen" : [ "type == INCOMPRESSIBLE_PACEFISH" ]
      },
      "Simulation.OneOf_DimensionalFunction_PressureValue" : {
        "title" : "Value",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "CONSTANT" : "#/components/schemas/Simulation.ConstantFunction",
            "EXPRESSION" : "#/components/schemas/Simulation.ExpressionFunction",
            "POLYNOMIAL" : "#/components/schemas/Simulation.PolynomialFunction",
            "TABLE_DEFINED" : "#/components/schemas/Simulation.TableDefinedFunction"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.ConstantFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.ExpressionFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.PolynomialFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.TableDefinedFunction"
        } ]
      },
      "Simulation.OneOf_MarcContactResultControlItemContactType" : {
        "title" : "Contact result type",
        "description" : "<ul><li><b>Normal force</b>: The compressive force acting perpendicular to the contact interface between two bodies.<li><b>Friction force</b>: The tangential shear force generated at a contact interface that resists relative sliding between two bodies due to friction.<li><b>Normal stress</b>: The contact pressure distributed over the interface area, acting perpendicular to the surfaces.<li><b>Friction stress</b>: The shear stress distributed over the contact interface resulting from friction.<li><b>Gap</b>: The physical distance between two potential contact surfaces; a value of zero (or a very small tolerance) indicates the surfaces are in contact.<li><b>State</b>: A status indicator showing whether a contact pair is open (no contact), closed (sticking), or sliding.<li><b>Pressure</b>: The magnitude of the normal compressive stress exerted by one body onto another at the contact interface.</ul>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "NORMAL_FORCE" : "#/components/schemas/Simulation.MarcContactNormalForce",
            "FRICTION_FORCE" : "#/components/schemas/Simulation.MarcContactFrictionForce",
            "NORMAL_STRESS" : "#/components/schemas/Simulation.MarcContactNormalStress",
            "FRICTION_STRESS" : "#/components/schemas/Simulation.MarcContactFrictionStress",
            "GAP" : "#/components/schemas/Simulation.MarcContactGap",
            "STATUS" : "#/components/schemas/Simulation.MarcContactStatus",
            "PRESSURE" : "#/components/schemas/Simulation.MarcContactPressure"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.MarcContactNormalForce"
        }, {
          "$ref" : "#/components/schemas/Simulation.MarcContactFrictionForce"
        }, {
          "$ref" : "#/components/schemas/Simulation.MarcContactNormalStress"
        }, {
          "$ref" : "#/components/schemas/Simulation.MarcContactFrictionStress"
        }, {
          "$ref" : "#/components/schemas/Simulation.MarcContactGap"
        }, {
          "$ref" : "#/components/schemas/Simulation.MarcContactStatus"
        }, {
          "$ref" : "#/components/schemas/Simulation.MarcContactPressure"
        } ],
        "default" : {
          "type" : "NORMAL_FORCE"
        }
      },
      "Simulation.OneOf_DimensionalFunction_MagneticFluxDensityValue" : {
        "title" : "Value",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "CONSTANT" : "#/components/schemas/Simulation.ConstantFunction",
            "EXPRESSION" : "#/components/schemas/Simulation.ExpressionFunction",
            "POLYNOMIAL" : "#/components/schemas/Simulation.PolynomialFunction",
            "TABLE_DEFINED" : "#/components/schemas/Simulation.TableDefinedFunction"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.ConstantFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.ExpressionFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.PolynomialFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.TableDefinedFunction"
        } ]
      },
      "Simulation.OneOf_ElectromagneticAnalysisModel" : {
        "title" : "Model",
        "description" : "<ul><li><strong>Electrostatics</strong><br>Use for problems where <em>electric fields</em> and charges are stationary, and no time-varying electromagnetic fields are present.</li><li><strong>Magnetostatics</strong><br>Use for problems where <em>magnetic fields</em> are constant over time and thus no eddy currents are present.</li> <li><strong>Time-Harmonic Magnetics</strong><br>Use for problems where <em>magnetic fields and electric currents</em> are sinusoidally varying.</li> <li><strong>Time-Transient Magnetics</strong><br>Use for problems where <em>magnetic fields and electric currents</em> are time-dependent.</li></ul><a href= https://www.simscale.com/docs/analysis-types/electromagnetics/' target='_blank'>Learn more</a>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "ELECTROSTATICS" : "#/components/schemas/Simulation.Electrostatics",
            "TIME_HARMONIC_ELECTRICS" : "#/components/schemas/Simulation.TimeHarmonicElectrics",
            "MAGNETOSTATICS" : "#/components/schemas/Simulation.Magnetostatics",
            "TIME_HARMONIC_MAGNETICS" : "#/components/schemas/Simulation.TimeHarmonicMagnetics",
            "TIME_TRANSIENT_MAGNETICS" : "#/components/schemas/Simulation.TimeTransientMagnetics"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.Electrostatics"
        }, {
          "$ref" : "#/components/schemas/Simulation.TimeHarmonicElectrics"
        }, {
          "$ref" : "#/components/schemas/Simulation.Magnetostatics"
        }, {
          "$ref" : "#/components/schemas/Simulation.TimeHarmonicMagnetics"
        }, {
          "$ref" : "#/components/schemas/Simulation.TimeTransientMagnetics"
        } ],
        "default" : {
          "type" : "MAGNETOSTATICS"
        }
      },
      "Simulation.OneOf_ElectromagneticAnalysisBoundaryConditions" : {
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "MAGNETIC_FIELD_NORMAL" : "#/components/schemas/Simulation.MagneticFieldNormal",
            "MAGNETIC_FLUX_TANGENTIAL" : "#/components/schemas/Simulation.MagneticFluxTangential",
            "FIXED_POTENTIAL" : "#/components/schemas/Simulation.FixedPotential",
            "FLOATING_POTENTIAL" : "#/components/schemas/Simulation.FloatingPotential",
            "CHARGE_DENSITY" : "#/components/schemas/Simulation.ChargeDensity",
            "TOTAL_CHARGE" : "#/components/schemas/Simulation.TotalCharge",
            "FIXED_TEMPERATURE" : "#/components/schemas/Simulation.FixedTemperature",
            "SURFACE_HEAT_FLUX" : "#/components/schemas/Simulation.SurfaceHeatFlux",
            "VOLUME_HEAT_FLUX" : "#/components/schemas/Simulation.VolumeHeatFlux",
            "CONVECTIVE_HEAT_FLUX" : "#/components/schemas/Simulation.ConvectiveHeatFlux",
            "RADIATION_HEAT_FLUX" : "#/components/schemas/Simulation.RadiationHeatFlux"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.MagneticFieldNormal"
        }, {
          "$ref" : "#/components/schemas/Simulation.MagneticFluxTangential"
        }, {
          "$ref" : "#/components/schemas/Simulation.FixedPotential"
        }, {
          "$ref" : "#/components/schemas/Simulation.FloatingPotential"
        }, {
          "$ref" : "#/components/schemas/Simulation.ChargeDensity"
        }, {
          "$ref" : "#/components/schemas/Simulation.TotalCharge"
        }, {
          "$ref" : "#/components/schemas/Simulation.FixedTemperature"
        }, {
          "$ref" : "#/components/schemas/Simulation.SurfaceHeatFlux"
        }, {
          "$ref" : "#/components/schemas/Simulation.VolumeHeatFlux"
        }, {
          "$ref" : "#/components/schemas/Simulation.ConvectiveHeatFlux"
        }, {
          "$ref" : "#/components/schemas/Simulation.RadiationHeatFlux"
        } ]
      },
      "Simulation.OneOf_RestrictedDimensionalFunction_TimeValue" : {
        "title" : "Value",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "CONSTANT" : "#/components/schemas/Simulation.ConstantFunction",
            "EXPRESSION" : "#/components/schemas/Simulation.ExpressionFunction",
            "POLYNOMIAL" : "#/components/schemas/Simulation.PolynomialFunction",
            "RESTRICTED_TABLE_DEFINED" : "#/components/schemas/Simulation.RestrictedTableDefinedFunction"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.ConstantFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.ExpressionFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.PolynomialFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.RestrictedTableDefinedFunction"
        } ]
      },
      "Simulation.OneOf_TangentJacobianMatrixChangeJacobianMatrix" : {
        "title" : "Change jacobian matrix",
        "description" : "<p>Choose if the Jacobian matrix should automatically change from tangent stiffnes matrix to elastic matrix if the time increment is falling below a given threshold. On the assumption that below a given time increment value the nonlinearities are not evolving within the time step one can strongly save computation time by switching to the elastic matrix.</p>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "TRUE" : "#/components/schemas/Simulation.TrueChangeJacobianMatrix",
            "FALSE" : "#/components/schemas/Simulation.FalseChangeJacobianMatrix"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.TrueChangeJacobianMatrix"
        }, {
          "$ref" : "#/components/schemas/Simulation.FalseChangeJacobianMatrix"
        } ],
        "default" : {
          "type" : "FALSE"
        },
        "x-showWhen" : [ "type in [STATIC_ANALYSIS,DYNAMIC_ANALYSIS]", "type == THERMAL_MECHANICAL && 2# == mechanicalResolutionType" ]
      },
      "Simulation.OneOf_PenaltyMethodContactStiffness" : {
        "title" : "Contact stiffness",
        "description" : "<p>Define the stiffness for the contact pair. A higher stiffness reduces interpenetration but may also lead to numerical instabilities and divergence. The independence of the results from this parameter should be checked.</p>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "LOW_CONTACT_STIFFNESS" : "#/components/schemas/Simulation.LowContactStiffness",
            "MODERATE_CONTACT_STIFFNESS" : "#/components/schemas/Simulation.ModerateContactStiffness",
            "HIGH_CONTACT_STIFFNESS" : "#/components/schemas/Simulation.HighContactStiffness",
            "CUSTOM_CONTACT_STIFFNESS" : "#/components/schemas/Simulation.CustomContactStiffness"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.LowContactStiffness"
        }, {
          "$ref" : "#/components/schemas/Simulation.ModerateContactStiffness"
        }, {
          "$ref" : "#/components/schemas/Simulation.HighContactStiffness"
        }, {
          "$ref" : "#/components/schemas/Simulation.CustomContactStiffness"
        } ],
        "default" : {
          "type" : "LOW_CONTACT_STIFFNESS"
        }
      },
      "Simulation.OneOf_VelocityOutletBCVelocity" : {
        "title" : "Velocity type",
        "description" : "Please choose the type of velocity boundary condition. <a href='https://www.simscale.com/docs/simulation-setup/boundary-conditions/velocity-inlet-and-velocity-outlet/' target='_blank'>Learn more</a>.",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "FIXED_VALUE" : "#/components/schemas/Simulation.FixedValueVBC",
            "FIXED_MEAN" : "#/components/schemas/Simulation.MeanValueVBC",
            "FREESTREAM" : "#/components/schemas/Simulation.FreestreamVBC",
            "OUTLET_MEAN_PHASE" : "#/components/schemas/Simulation.OutletMeanPhaseVBC",
            "FLOW_RATE_OUTLET_VELOCITY" : "#/components/schemas/Simulation.FlowRateOutletVBC",
            "FLOW_RATE_MEAN_OUTLET_VELOCITY" : "#/components/schemas/Simulation.FlowRateMeanOutletVBC",
            "FLOW_RATE_STABLE_OUTLET_VELOCITY" : "#/components/schemas/Simulation.FlowRateStableOutletVBC",
            "MEAN_VALUE_OUTLET_VELOCITY" : "#/components/schemas/Simulation.MeanValueOutletVBC"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.FixedValueVBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.MeanValueVBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.FreestreamVBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.OutletMeanPhaseVBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.FlowRateOutletVBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.FlowRateMeanOutletVBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.FlowRateStableOutletVBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.MeanValueOutletVBC"
        } ],
        "x-conditionalDefaults" : [ {
          "when" : [ "type == MULTIPHASE" ],
          "default" : {
            "type" : "FIXED_VALUE"
          }
        }, {
          "when" : [ "type in [SIMERICS_ANALYSIS,COUPLED_CONJUGATE_HEAT_TRANSFER,EMBEDDED_BOUNDARY]" ],
          "default" : {
            "type" : "FLOW_RATE_STABLE_OUTLET_VELOCITY"
          }
        }, {
          "when" : [ "type in [INCOMPRESSIBLE,COMPRESSIBLE,CONJUGATE_HEAT_TRANSFER,CONVECTIVE_HEAT_TRANSFER]" ],
          "default" : {
            "type" : "MEAN_VALUE_OUTLET_VELOCITY"
          }
        } ]
      },
      "Simulation.OneOf_VelocityOutletBCPhaseFraction" : {
        "title" : "Phase fraction",
        "description" : "Please choose a boundary condition for phase fraction (alpha).",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "FIXED_VALUE" : "#/components/schemas/Simulation.FixedValuePFBC",
            "FLOW_DEPENDENT_VALUE" : "#/components/schemas/Simulation.FlowDependentValuePFBC"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.FixedValuePFBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.FlowDependentValuePFBC"
        } ],
        "default" : {
          "type" : "FIXED_VALUE"
        },
        "x-showWhen" : [ "type == MULTIPHASE" ]
      },
      "Simulation.OneOf_VelocityOutletBCPhaseFractionsV2" : {
        "title" : "Phase fraction type",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "OUTLET_BACK_FLOW_PF_VALUES" : "#/components/schemas/Simulation.OutletBackFlowPFValues",
            "OUTLET_FLOW_DRIVEN_PF" : "#/components/schemas/Simulation.OutletFlowDrivenPF"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.OutletBackFlowPFValues"
        }, {
          "$ref" : "#/components/schemas/Simulation.OutletFlowDrivenPF"
        } ],
        "default" : {
          "type" : "OUTLET_FLOW_DRIVEN_PF"
        },
        "x-showWhen" : [ "type == SIMERICS_ANALYSIS && isMultiphase == true" ]
      },
      "Simulation.OneOf_VelocityOutletBCNetRadiativeHeatFlux" : {
        "title" : "Radiative behaviour",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "GREYBODY_DIFFUSIVE" : "#/components/schemas/Simulation.GreybodyDiffusiveRSBC",
            "OPEN_WINDOW" : "#/components/schemas/Simulation.OpenWindowRSBC"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.GreybodyDiffusiveRSBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.OpenWindowRSBC"
        } ],
        "default" : {
          "type" : "OPEN_WINDOW"
        },
        "x-showWhen" : [ "type == CONVECTIVE_HEAT_TRANSFER && enableRadiation == true", "type == CONJUGATE_HEAT_TRANSFER && enableRadiation == true" ]
      },
      "Simulation.OneOf_VelocityOutletBCRadiativeIntensityRay" : {
        "title" : "Radiative behaviour",
        "description" : "<p><b>Radiative behaviour of the wall</b>. The Kirchhoff's law of thermal radiation is applied in all options. This means that the <b>absorptivity of the surface is equal to its emissivity</b>. <br> <ul><li><b>Opaque</b> is applied to surfaces with transmissivity equal to 0. The radiation that hits the surface will be absorbed and reflected, but not transmitted, e.g.: brick or concrete walls.</li><li><b>Transparent</b> is applied to surfaces with transmissivity equal to 1. The radiation that hits the surface will be fully transmitted to the other side, e.g.: inlets, outlets or regular windows.</li><li><b>Semi-transparent</b> is applied to non-fully transparent surfaces. The radiation that hits the surface will be absorbed, reflected and transmitted, e.g. some stained glass windows.</li></ul></p>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "GREYBODY_DIFFUSIVE_RAY" : "#/components/schemas/Simulation.GreybodyDiffusiveRayBC",
            "OPEN_BOUNDARY_RAY" : "#/components/schemas/Simulation.OpenBoundaryRayBC",
            "SEMI_OPEN_BOUNDARY_RAY" : "#/components/schemas/Simulation.SemiOpenBoundaryRayBC"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.GreybodyDiffusiveRayBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.OpenBoundaryRayBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.SemiOpenBoundaryRayBC"
        } ],
        "default" : {
          "type" : "OPEN_BOUNDARY_RAY"
        },
        "x-showWhen" : [ "type == COUPLED_CONJUGATE_HEAT_TRANSFER && enableRadiation == true", "type == COUPLED_CONJUGATE_HEAT_TRANSFER && enableSolarLoad == true", "type == EMBEDDED_BOUNDARY && enableRadiation == true", "type == EMBEDDED_BOUNDARY && enableSolarLoad == true" ]
      },
      "Simulation.OneOf_StrainResultControlItemStrainType" : {
        "title" : "(ε) Strain type",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "TOTAL_NONLINEAR" : "#/components/schemas/Simulation.GlobalTotalNonlinearStrainType",
            "TOTAL_EQUI_PLASTIC" : "#/components/schemas/Simulation.GlobalTotalEquivalentPlasticStrainType",
            "UNELASTIC" : "#/components/schemas/Simulation.GlobalUnelasticStrainType",
            "TOTAL" : "#/components/schemas/Simulation.GlobalTotalStrainType",
            "PRINCIPAL" : "#/components/schemas/Simulation.GlobalPrincipalStrainType",
            "PRINCIPAL_GREEN_LAGRANGE" : "#/components/schemas/Simulation.GlobalPrincipalGreenLagrangeStrainType"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.GlobalTotalNonlinearStrainType"
        }, {
          "$ref" : "#/components/schemas/Simulation.GlobalTotalEquivalentPlasticStrainType"
        }, {
          "$ref" : "#/components/schemas/Simulation.GlobalUnelasticStrainType"
        }, {
          "$ref" : "#/components/schemas/Simulation.GlobalTotalStrainType"
        }, {
          "$ref" : "#/components/schemas/Simulation.GlobalPrincipalStrainType"
        }, {
          "$ref" : "#/components/schemas/Simulation.GlobalPrincipalGreenLagrangeStrainType"
        } ],
        "x-showWhen" : [ "type in [STATIC_ANALYSIS,DYNAMIC_ANALYSIS,HARMONIC_ANALYSIS,THERMAL_MECHANICAL]" ],
        "x-conditionalDefaults" : [ {
          "when" : [ "type in [DYNAMIC_ANALYSIS,HARMONIC_ANALYSIS]" ],
          "default" : {
            "type" : "TOTAL_NONLINEAR"
          }
        }, {
          "when" : [ "type == STATIC_ANALYSIS && nonLinearAnalysis == true", "type == THERMAL_MECHANICAL && nonLinearAnalysis == true" ],
          "default" : {
            "type" : "TOTAL_NONLINEAR"
          }
        }, {
          "when" : [ "type == STATIC_ANALYSIS && nonLinearAnalysis == false", "type == THERMAL_MECHANICAL && nonLinearAnalysis == false" ],
          "default" : {
            "type" : "TOTAL"
          }
        } ]
      },
      "Simulation.OneOf_StaticAnalysisConnectionGroups" : {
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "CONTACT" : "#/components/schemas/Simulation.Contact",
            "PHYSICAL_CONTACT_V36" : "#/components/schemas/Simulation.PhysicalContact"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.Contact"
        }, {
          "$ref" : "#/components/schemas/Simulation.PhysicalContact"
        } ]
      },
      "Simulation.OneOf_StaticAnalysisConnectors" : {
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "PIN_CONNECTOR" : "#/components/schemas/Simulation.PinConnector",
            "BOLT_CONNECTOR" : "#/components/schemas/Simulation.BoltConnector"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.PinConnector"
        }, {
          "$ref" : "#/components/schemas/Simulation.BoltConnector"
        } ]
      },
      "Simulation.OneOf_StaticAnalysisBoundaryConditions" : {
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "BOLT_PRELOAD" : "#/components/schemas/Simulation.BoltPreloadBC",
            "ELASTIC_SUPPORT" : "#/components/schemas/Simulation.ElasticSupportBC",
            "FIXED_SUPPORT" : "#/components/schemas/Simulation.FixedSupportBC",
            "FIXED_VALUE" : "#/components/schemas/Simulation.FixedValueBC",
            "POINT_MASS" : "#/components/schemas/Simulation.PointMassBC",
            "DISTRIBUTED_MASS" : "#/components/schemas/Simulation.DistributedMassBC",
            "REMOTE_DISPLACEMENT_LOAD" : "#/components/schemas/Simulation.RemoteDisplacementLoadBC",
            "ROTATING_MOTION" : "#/components/schemas/Simulation.RotatingMotionBC",
            "SYMMETRY_PLANE" : "#/components/schemas/Simulation.SymmetryPlaneBC",
            "CYCLIC_SYMMETRY" : "#/components/schemas/Simulation.CyclicSymmetryBC",
            "CENTRIFUGAL_FORCE" : "#/components/schemas/Simulation.CentrifugalForceBC",
            "FOLLOWER_PRESSURE" : "#/components/schemas/Simulation.FollowerPressureBC",
            "FORCE_LOAD" : "#/components/schemas/Simulation.ForceLoadBC",
            "NODAL_LOAD" : "#/components/schemas/Simulation.NodalLoadBC",
            "PRESSURE" : "#/components/schemas/Simulation.PressureBC",
            "REMOTE_FORCE_LOAD" : "#/components/schemas/Simulation.RemoteForceLoadBC",
            "SURFACE_LOAD" : "#/components/schemas/Simulation.SurfaceLoadBC",
            "VOLUME_LOAD" : "#/components/schemas/Simulation.VolumeLoadBC",
            "HINGE_CONSTRAINT" : "#/components/schemas/Simulation.HingeConstraintBC"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.BoltPreloadBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.ElasticSupportBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.FixedSupportBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.FixedValueBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.PointMassBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.DistributedMassBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.RemoteDisplacementLoadBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.RotatingMotionBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.SymmetryPlaneBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.CyclicSymmetryBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.CentrifugalForceBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.FollowerPressureBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.ForceLoadBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.NodalLoadBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.PressureBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.RemoteForceLoadBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.SurfaceLoadBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.VolumeLoadBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.HingeConstraintBC"
        } ]
      },
      "Simulation.OneOf_PowerLawMediumPorousMediaHeatTransfer" : {
        "title" : "Heat transfer",
        "description" : "The heat transfer modelling inside the porous media matrix:<br><li><b>Fluid only</b>: This model uses exclusively the fluid thermal properties in the porous media region. <li><b>Effective conductivity</b>: This model takes the effective thermal conductivity for the fluid-solid porous matrix as a constant value or a tabulated velocity function.",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "FLUID_ONLY_HEAT_TRANSFER" : "#/components/schemas/Simulation.FluidOnlyHeatTransfer",
            "EFFECTIVE_CONDUCTIVITY_HEAT_TRANSFER" : "#/components/schemas/Simulation.EffectiveConductivityHeatTransfer"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.FluidOnlyHeatTransfer"
        }, {
          "$ref" : "#/components/schemas/Simulation.EffectiveConductivityHeatTransfer"
        } ],
        "default" : {
          "type" : "FLUID_ONLY_HEAT_TRANSFER"
        },
        "x-showWhen" : [ "type in [COUPLED_CONJUGATE_HEAT_TRANSFER,EMBEDDED_BOUNDARY]" ]
      },
      "Simulation.OneOf_LinearElasticMaterialBehaviorDirectionalDependency" : {
        "title" : "Directional dependency",
        "description" : "<p>Choose the directional dependency for this property:<br /><ul><li><i>Isotropic material</i>: all the material properties <b>are the same in all directions</li><li><i>Orthotropic material</i>: <b>different material properties</b> in <b>different orthogonal directions</b> (e.g. glass-reinforced plastic, or wood)</li></ul></p>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "ISOTROPIC" : "#/components/schemas/Simulation.IsotropicDirectionalDependency",
            "ORTHOTROPIC" : "#/components/schemas/Simulation.OrthotropicDirectionalDependency"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.IsotropicDirectionalDependency"
        }, {
          "$ref" : "#/components/schemas/Simulation.OrthotropicDirectionalDependency"
        } ],
        "default" : {
          "type" : "ISOTROPIC"
        },
        "x-showWhen" : [ "type in [STATIC_ANALYSIS,DYNAMIC_ANALYSIS,HARMONIC_ANALYSIS,FREQUENCY_ANALYSIS,THERMAL_MECHANICAL]" ]
      },
      "Simulation.OneOf_LinearElasticMaterialBehaviorDamping" : {
        "title" : "Damping",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "NONE" : "#/components/schemas/Simulation.NoneDamping",
            "RAYLEIGH" : "#/components/schemas/Simulation.RayleighDamping",
            "HYSTERETIC" : "#/components/schemas/Simulation.HystereticDamping",
            "GLOBAL_DAMPING_VALUE" : "#/components/schemas/Simulation.GlobalDampingValue"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.NoneDamping"
        }, {
          "$ref" : "#/components/schemas/Simulation.RayleighDamping"
        }, {
          "$ref" : "#/components/schemas/Simulation.HystereticDamping"
        }, {
          "$ref" : "#/components/schemas/Simulation.GlobalDampingValue"
        } ],
        "x-conditionalHelp" : [ {
          "when" : [ "type == HARMONIC_ANALYSIS && globalPhysics.enableGlobalDamping == true && numerics.harmonicSolutionMethod == DIRECT" ]
        }, {
          "when" : [ "type == HARMONIC_ANALYSIS && globalPhysics.enableGlobalDamping == false && numerics.harmonicSolutionMethod == DIRECT" ]
        }, {
          "when" : [ "type == HARMONIC_ANALYSIS && globalPhysics.enableGlobalDamping == true && numerics.harmonicSolutionMethod == MODAL_BASED" ]
        }, {
          "when" : [ "type == HARMONIC_ANALYSIS && globalPhysics.enableGlobalDamping == false && numerics.harmonicSolutionMethod == MODAL_BASED" ]
        }, {
          "when" : [ "type in [DYNAMIC_ANALYSIS,THERMAL_MECHANICAL]" ]
        } ],
        "x-showWhen" : [ "type in [HARMONIC_ANALYSIS,DYNAMIC_ANALYSIS]", "type == THERMAL_MECHANICAL && inertiaEffect == DYNAMIC" ],
        "x-conditionalDefaults" : [ {
          "when" : [ "type in [DYNAMIC_ANALYSIS,THERMAL_MECHANICAL]", "type == HARMONIC_ANALYSIS && globalPhysics.enableGlobalDamping == false" ],
          "default" : {
            "type" : "NONE"
          }
        }, {
          "when" : [ "type == HARMONIC_ANALYSIS && globalPhysics.enableGlobalDamping == true" ],
          "default" : {
            "type" : "GLOBAL_DAMPING_VALUE"
          }
        } ]
      },
      "Simulation.OneOf_LinearElasticMaterialBehaviorCreepFormulation" : {
        "title" : "Creep formulation",
        "description" : "<p>Define the Creep formulation. Three different formulations are available: <b>Norton</b>, <b>Strain Hardening</b> or <b>Time Hardening</b>.<br>They are based on the <b>Power Law</b>:<br><b>&epsilon;&#775 = m*A*&sigma;<sup>n</sup>*t<sup>m-1</sup></b></p>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "NORTON" : "#/components/schemas/Simulation.NortonCreepFormulation",
            "NO_CREEP" : "#/components/schemas/Simulation.NoCreepFormulation",
            "STRAIN_HARDENING" : "#/components/schemas/Simulation.StrainHardeningCreepFormulation",
            "TIME_HARDENING" : "#/components/schemas/Simulation.TimeHardeningCreepFormulation"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.NortonCreepFormulation"
        }, {
          "$ref" : "#/components/schemas/Simulation.NoCreepFormulation"
        }, {
          "$ref" : "#/components/schemas/Simulation.StrainHardeningCreepFormulation"
        }, {
          "$ref" : "#/components/schemas/Simulation.TimeHardeningCreepFormulation"
        } ],
        "default" : {
          "type" : "NO_CREEP"
        },
        "x-showWhen" : [ "type == STATIC_ANALYSIS && nonLinearAnalysis == true", "type == THERMAL_MECHANICAL && nonLinearAnalysis == true", "type == DYNAMIC_ANALYSIS" ]
      },
      "Simulation.OneOf_BondedContactPositionTolerance" : {
        "title" : "Position tolerance",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "SET_VALUE" : "#/components/schemas/Simulation.SetValuePositionTolerance",
            "OFF" : "#/components/schemas/Simulation.OffPositionTolerance"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.SetValuePositionTolerance"
        }, {
          "$ref" : "#/components/schemas/Simulation.OffPositionTolerance"
        } ],
        "default" : {
          "type" : "SET_VALUE"
        }
      },
      "Simulation.OneOf_MultilinearModelMarcHardeningRule" : {
        "title" : "Hardening rule",
        "description" : "This determines how the yield surface evolves during cyclic loading; <b>Isotropic</b> expands the surface uniformly, <b>Kinematic</b> shifts it to account for the Bauschinger effect, and <b>Combined</b> utilizes both behaviors for maximum accuracy.",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "ISOTROPIC" : "#/components/schemas/Simulation.IsotropicPlasticHardeningMarc",
            "KINEMATIC" : "#/components/schemas/Simulation.KinematicPlasticHardeningMarc",
            "COMBINED" : "#/components/schemas/Simulation.CombinedPlasticHardeningMarc"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.IsotropicPlasticHardeningMarc"
        }, {
          "$ref" : "#/components/schemas/Simulation.KinematicPlasticHardeningMarc"
        }, {
          "$ref" : "#/components/schemas/Simulation.CombinedPlasticHardeningMarc"
        } ],
        "default" : {
          "type" : "ISOTROPIC"
        }
      },
      "Simulation.OneOf_DimensionalVectorFunction_PressureValue" : {
        "title" : "Value",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "COMPONENT" : "#/components/schemas/Simulation.ComponentVectorFunction",
            "TABLE_DEFINED" : "#/components/schemas/Simulation.TableDefinedVectorFunction"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.ComponentVectorFunction"
        }, {
          "$ref" : "#/components/schemas/Simulation.TableDefinedVectorFunction"
        } ]
      },
      "Simulation.OneOf_RegionInterfaceInterfaceThermal" : {
        "title" : "Interface type",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "COUPLED" : "#/components/schemas/Simulation.CoupledInterfaceThermal",
            "ADIABATIC" : "#/components/schemas/Simulation.AdiabaticInterfaceThermal",
            "TOTAL_RESISTANCE" : "#/components/schemas/Simulation.TotalResistanceInterfaceThermal",
            "SPECIFIC_CONDUCTANCE" : "#/components/schemas/Simulation.SpecificConductanceInterfaceThermal",
            "CONTACT_INTERFACE_MATERIAL" : "#/components/schemas/Simulation.ContactInterfaceMaterialInterfaceThermal"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.CoupledInterfaceThermal"
        }, {
          "$ref" : "#/components/schemas/Simulation.AdiabaticInterfaceThermal"
        }, {
          "$ref" : "#/components/schemas/Simulation.TotalResistanceInterfaceThermal"
        }, {
          "$ref" : "#/components/schemas/Simulation.SpecificConductanceInterfaceThermal"
        }, {
          "$ref" : "#/components/schemas/Simulation.ContactInterfaceMaterialInterfaceThermal"
        } ],
        "default" : {
          "type" : "COUPLED"
        },
        "x-conditionalHelp" : [ {
          "when" : [ "type == COUPLED_CONJUGATE_HEAT_TRANSFER" ]
        } ]
      },
      "Simulation.OneOf_IncompressiblePacefishMeshSettingsNew" : {
        "title" : "Mesh settings",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "PACEFISH_MESH_LEGACY" : "#/components/schemas/Simulation.PacefishMeshLegacy",
            "PACEFISH_AUTOMESH" : "#/components/schemas/Simulation.PacefishAutomesh"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.PacefishMeshLegacy"
        }, {
          "$ref" : "#/components/schemas/Simulation.PacefishAutomesh"
        } ],
        "default" : {
          "type" : "PACEFISH_AUTOMESH"
        }
      },
      "Simulation.OneOf_MultiphaseBoundaryConditions" : {
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "VELOCITY_INLET_V3" : "#/components/schemas/Simulation.VelocityInletBC",
            "VELOCITY_OUTLET_V7" : "#/components/schemas/Simulation.VelocityOutletBC",
            "PRESSURE_INLET_V31" : "#/components/schemas/Simulation.PressureInletBC",
            "PRESSURE_OUTLET_V30" : "#/components/schemas/Simulation.PressureOutletBC",
            "WALL_V34" : "#/components/schemas/Simulation.WallBC",
            "SYMMETRY" : "#/components/schemas/Simulation.SymmetryBC",
            "PERIODIC" : "#/components/schemas/Simulation.PeriodicBC",
            "WEDGE" : "#/components/schemas/Simulation.WedgeBC",
            "CUSTOM_V37" : "#/components/schemas/Simulation.CustomFluidBC",
            "EMPTY_2D" : "#/components/schemas/Simulation.Empty2DBC"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.VelocityInletBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.VelocityOutletBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.PressureInletBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.PressureOutletBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.WallBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.SymmetryBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.PeriodicBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.WedgeBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.CustomFluidBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.Empty2DBC"
        } ]
      },
      "Simulation.OneOf_VelocityInletBCVelocity" : {
        "title" : "Velocity type",
        "description" : "Please choose the type of velocity boundary condition. <a href='https://www.simscale.com/docs/simulation-setup/boundary-conditions/velocity-inlet-and-velocity-outlet/' target='_blank'>Learn more</a>.",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "FIXED_VALUE" : "#/components/schemas/Simulation.FixedValueVBC",
            "FIXED_MEAN" : "#/components/schemas/Simulation.MeanValueVBC",
            "FIXED_VALUE_NO_EXPRESSION" : "#/components/schemas/Simulation.FixedMagnitudeVBC",
            "FLOW_RATE_INLET_VELOCITY" : "#/components/schemas/Simulation.FlowRateInletVBC",
            "FLOW_RATE_MEAN_INLET_VELOCITY" : "#/components/schemas/Simulation.FlowRateMeanInletVBC",
            "FREESTREAM" : "#/components/schemas/Simulation.FreestreamVBC"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.FixedValueVBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.MeanValueVBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.FixedMagnitudeVBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.FlowRateInletVBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.FlowRateMeanInletVBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.FreestreamVBC"
        } ],
        "default" : {
          "type" : "FIXED_VALUE"
        }
      },
      "Simulation.OneOf_VelocityInletBCTurbulence" : {
        "title" : "Turbulence",
        "description" : "These options specify <b>inlet</b> boundary conditions for <b>turbulence quantities</b>: </p><ul><li><p><b>Automatic</b> considers a value of <i>0.05</i> for <b>turbulent intensity</b> (<i>I</i>). The <b>turbulent mixing length </b>(<i>L</i>) is calculated as <i>0.07D<sub>h</sub></i>, where <i>D<sub>h</sub></i> is the <b>hydraulic diameter</b> of the boundary face.</p><li><p><b>Turbulent intensity and mixing length</b> allows to specify these values directly.</p><li><p><b>Fixed value</b> allows to specify the values of the <b>turbulent kinetic energy </b>(<i>k</i>) and the <b>turbulent dissipation rate</b> (&#120656) or the <b>specific dissipation rate</b> (&#969).</p></ul>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "AUTOMATIC_TURBULENCE" : "#/components/schemas/Simulation.AutomaticTurbulence",
            "TURBULENT_INTENSITY_AND_REFERENCE_LENGTH_TURBULENCE" : "#/components/schemas/Simulation.TurbulentIntensityAndReferenceLengthTurbulence",
            "FIXED_VALUE_TURBULENCE" : "#/components/schemas/Simulation.FixedValueTurbulence"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.AutomaticTurbulence"
        }, {
          "$ref" : "#/components/schemas/Simulation.TurbulentIntensityAndReferenceLengthTurbulence"
        }, {
          "$ref" : "#/components/schemas/Simulation.FixedValueTurbulence"
        } ],
        "default" : {
          "type" : "AUTOMATIC_TURBULENCE"
        },
        "x-showWhen" : [ "type in [INCOMPRESSIBLE,COMPRESSIBLE,CONJUGATE_HEAT_TRANSFER,CONVECTIVE_HEAT_TRANSFER,COUPLED_CONJUGATE_HEAT_TRANSFER,EMBEDDED_BOUNDARY] && turbulenceModel in [KEPSILON,KOMEGA,KOMEGASST,REALIZABLEKE]" ]
      },
      "Simulation.OneOf_VelocityInletBCTemperature" : {
        "title" : "(T) Temperature",
        "description" : "Please choose a boundary condition for temperature (T).",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "FIXED_VALUE" : "#/components/schemas/Simulation.FixedValueTBC",
            "TOTAL_TEMPERATURE" : "#/components/schemas/Simulation.TotalTBC"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.FixedValueTBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.TotalTBC"
        } ],
        "x-showWhen" : [ "type in [COMPRESSIBLE,CONJUGATE_HEAT_TRANSFER,CONVECTIVE_HEAT_TRANSFER,COUPLED_CONJUGATE_HEAT_TRANSFER,EMBEDDED_BOUNDARY]", "type == SIMERICS_ANALYSIS && isCompressible == true" ],
        "x-conditionalDefaults" : [ {
          "when" : [ "type in [COMPRESSIBLE,CONJUGATE_HEAT_TRANSFER,CONVECTIVE_HEAT_TRANSFER,COUPLED_CONJUGATE_HEAT_TRANSFER,EMBEDDED_BOUNDARY]" ],
          "default" : {
            "type" : "FIXED_VALUE"
          }
        }, {
          "when" : [ "type == SIMERICS_ANALYSIS" ],
          "default" : {
            "type" : "TOTAL_TEMPERATURE"
          }
        } ]
      },
      "Simulation.OneOf_VelocityInletBCTurbulenceIntensity" : {
        "title" : "Turbulence type",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "FIXED_VALUE" : "#/components/schemas/Simulation.TurbulenceIntensityTIBC",
            "TURBULENCE_KINETIC_ENERGY" : "#/components/schemas/Simulation.TurbulenceKineticEnergyTIBC"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.TurbulenceIntensityTIBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.TurbulenceKineticEnergyTIBC"
        } ],
        "default" : {
          "type" : "FIXED_VALUE"
        },
        "x-showWhen" : [ "type == INCOMPRESSIBLE_PACEFISH && turbulenceModel in [KOMEGASST,KOMEGASST_DDES,KOMEGASST_IDDES]" ]
      },
      "Simulation.OneOf_VelocityInletBCDissipationType" : {
        "title" : "Dissipation type",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "AUTOMATIC_DISSIPATION" : "#/components/schemas/Simulation.AutomaticOmegaDissipation",
            "CUSTOM_DISSIPATION" : "#/components/schemas/Simulation.CustomOmegaDissipation"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.AutomaticOmegaDissipation"
        }, {
          "$ref" : "#/components/schemas/Simulation.CustomOmegaDissipation"
        } ],
        "default" : {
          "type" : "AUTOMATIC_DISSIPATION"
        },
        "x-showWhen" : [ "type == INCOMPRESSIBLE_PACEFISH && turbulenceModel in [KOMEGASST,KOMEGASST_DDES,KOMEGASST_IDDES]" ]
      },
      "Simulation.OneOf_VelocityInletBCNetRadiativeHeatFlux" : {
        "title" : "Radiative behaviour",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "GREYBODY_DIFFUSIVE" : "#/components/schemas/Simulation.GreybodyDiffusiveRSBC",
            "OPEN_WINDOW" : "#/components/schemas/Simulation.OpenWindowRSBC"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.GreybodyDiffusiveRSBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.OpenWindowRSBC"
        } ],
        "default" : {
          "type" : "OPEN_WINDOW"
        },
        "x-showWhen" : [ "type == CONVECTIVE_HEAT_TRANSFER && enableRadiation == true", "type == CONJUGATE_HEAT_TRANSFER && enableRadiation == true" ]
      },
      "Simulation.OneOf_VelocityInletBCRadiativeIntensityRay" : {
        "title" : "Radiative behaviour",
        "description" : "<p><b>Radiative behaviour of the wall</b>. The Kirchhoff's law of thermal radiation is applied in all options. This means that the <b>absorptivity of the surface is equal to its emissivity</b>. <br> <ul><li><b>Opaque</b> is applied to surfaces with transmissivity equal to 0. The radiation that hits the surface will be absorbed and reflected, but not transmitted, e.g.: brick or concrete walls.</li><li><b>Transparent</b> is applied to surfaces with transmissivity equal to 1. The radiation that hits the surface will be fully transmitted to the other side, e.g.: inlets, outlets or regular windows.</li><li><b>Semi-transparent</b> is applied to non-fully transparent surfaces. The radiation that hits the surface will be absorbed, reflected and transmitted, e.g. some stained glass windows.</li></ul></p>",
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "GREYBODY_DIFFUSIVE_RAY" : "#/components/schemas/Simulation.GreybodyDiffusiveRayBC",
            "OPEN_BOUNDARY_RAY" : "#/components/schemas/Simulation.OpenBoundaryRayBC",
            "SEMI_OPEN_BOUNDARY_RAY" : "#/components/schemas/Simulation.SemiOpenBoundaryRayBC"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Simulation.GreybodyDiffusiveRayBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.OpenBoundaryRayBC"
        }, {
          "$ref" : "#/components/schemas/Simulation.SemiOpenBoundaryRayBC"
        } ],
        "default" : {
          "type" : "OPEN_BOUNDARY_RAY"
        },
        "x-showWhen" : [ "type == COUPLED_CONJUGATE_HEAT_TRANSFER && enableRadiation == true", "type == COUPLED_CONJUGATE_HEAT_TRANSFER && enableSolarLoad == true", "type == EMBEDDED_BOUNDARY && enableRadiation == true", "type == EMBEDDED_BOUNDARY && enableSolarLoad == true" ]
      },
      "Reporting.DataType" : {
        "type" : "string",
        "enum" : [ "POINT", "CELL" ]
      },
      "Reporting.RenderMode" : {
        "type" : "string",
        "enum" : [ "SURFACES_WITH_WIREFRAME", "WIREFRAME", "SURFACES", "SURFACES_WITH_MESH", "MESH" ]
      },
      "Reporting.Color" : {
        "required" : [ "b", "g", "r" ],
        "type" : "object",
        "properties" : {
          "r" : {
            "maximum" : 1.0,
            "exclusiveMaximum" : false,
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "format" : "double"
          },
          "g" : {
            "maximum" : 1.0,
            "exclusiveMaximum" : false,
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "format" : "double"
          },
          "b" : {
            "maximum" : 1.0,
            "exclusiveMaximum" : false,
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "format" : "double"
          }
        }
      },
      "Reporting.CuttingPlane" : {
        "required" : [ "center", "clipping", "name", "normal", "projectVectorsOntoPlane" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string"
          },
          "center" : {
            "$ref" : "#/components/schemas/Reporting.Vector3D"
          },
          "normal" : {
            "$ref" : "#/components/schemas/Reporting.Vector3D"
          },
          "opacity" : {
            "$ref" : "#/components/schemas/Reporting.Opacity"
          },
          "clipping" : {
            "type" : "boolean",
            "default" : true
          },
          "vectorGridSpacing" : {
            "maximum" : 0.04,
            "exclusiveMaximum" : false,
            "minimum" : 0.0,
            "exclusiveMinimum" : true,
            "type" : "number",
            "description" : "This field is required if projectVectorsOntoPlane is set to true.",
            "format" : "double",
            "default" : 0.02
          },
          "scalarField" : {
            "$ref" : "#/components/schemas/Reporting.ScalarField"
          },
          "vectorField" : {
            "$ref" : "#/components/schemas/Reporting.VectorField"
          },
          "solidColor" : {
            "$ref" : "#/components/schemas/Reporting.Color"
          },
          "projectVectorsOntoPlane" : {
            "type" : "boolean",
            "description" : "If a vectorField is provided, this flag will project the vector field onto the cutting plane.",
            "default" : false
          },
          "renderMode" : {
            "$ref" : "#/components/schemas/Reporting.RenderMode"
          }
        }
      },
      "Reporting.IsoSurface" : {
        "properties" : {
          "isoScalar" : {
            "$ref" : "#/components/schemas/Reporting.ScalarField"
          },
          "isoValue" : {
            "type" : "number",
            "description" : "The iso scalar value. Should be within the selected scalar range. Default value is the average between the min and max in the range.",
            "format" : "float"
          },
          "scalarField" : {
            "$ref" : "#/components/schemas/Reporting.ScalarField"
          },
          "solidColor" : {
            "$ref" : "#/components/schemas/Reporting.Color"
          },
          "vectorField" : {
            "$ref" : "#/components/schemas/Reporting.VectorField"
          },
          "opacity" : {
            "$ref" : "#/components/schemas/Reporting.Opacity"
          }
        }
      },
      "Reporting.IsoVolume" : {
        "properties" : {
          "isoScalar" : {
            "$ref" : "#/components/schemas/Reporting.ScalarField"
          },
          "minimumIsoValue" : {
            "type" : "number",
            "description" : "The iso scalar minimum value. Should be within the selected scalar range and smaller than the maximumIsoValue. Default value is the third of the range between min and max.",
            "format" : "float"
          },
          "maximumIsoValue" : {
            "type" : "number",
            "description" : "The iso scalar maximum value. Should be within the selected scalar range and larger than the minimumIsoValue. Default value is 2 thirds of the range between min and max.",
            "format" : "float"
          },
          "scalarField" : {
            "$ref" : "#/components/schemas/Reporting.ScalarField"
          },
          "solidColor" : {
            "$ref" : "#/components/schemas/Reporting.Color"
          },
          "vectorField" : {
            "$ref" : "#/components/schemas/Reporting.VectorField"
          },
          "opacity" : {
            "$ref" : "#/components/schemas/Reporting.Opacity"
          }
        }
      },
      "Reporting.Displacement" : {
        "required" : [ "field", "scaleFactor" ],
        "type" : "object",
        "properties" : {
          "field" : {
            "$ref" : "#/components/schemas/Reporting.VectorField"
          },
          "scaleFactor" : {
            "minimum" : 0.01,
            "exclusiveMinimum" : false,
            "type" : "number",
            "format" : "double",
            "default" : 1.0
          }
        }
      },
      "Reporting.ParticleTrace" : {
        "required" : [ "seedSettings", "traceBothDirections", "visualizationStyle" ],
        "type" : "object",
        "properties" : {
          "seedSettings" : {
            "$ref" : "#/components/schemas/Reporting.SeedSettings"
          },
          "visualizationStyle" : {
            "$ref" : "#/components/schemas/Reporting.OneOfVisualizationStyle"
          },
          "traceBothDirections" : {
            "type" : "boolean",
            "description" : "If set to true, the trace will be computed both forwards and backwards from the seed points.",
            "default" : true
          },
          "scalarField" : {
            "$ref" : "#/components/schemas/Reporting.ScalarField"
          },
          "solidColor" : {
            "$ref" : "#/components/schemas/Reporting.Color"
          }
        }
      },
      "Reporting.SeedSettings" : {
        "required" : [ "center", "horizontalDimension", "normal", "verticalDimension" ],
        "properties" : {
          "center" : {
            "$ref" : "#/components/schemas/Reporting.Vector3D"
          },
          "normal" : {
            "$ref" : "#/components/schemas/Reporting.Vector3D"
          },
          "horizontalDimension" : {
            "maximum" : 500,
            "minimum" : 1,
            "type" : "integer",
            "description" : "Number of seed points in the horizontal direction.",
            "default" : 10
          },
          "verticalDimension" : {
            "maximum" : 500,
            "minimum" : 1,
            "type" : "integer",
            "description" : "Number of seed points in the vertical direction.",
            "default" : 10
          },
          "spacing" : {
            "type" : "number",
            "description" : "The distance between the seed points. Default is size * 4.",
            "format" : "float"
          },
          "size" : {
            "type" : "number",
            "description" : "The radius of the particle trace geometry (cylinder, sphere, comet). Default is the extent of the bounding box of the moddel divided by 800.",
            "format" : "float"
          }
        }
      },
      "Reporting.OneOfVisualizationStyle" : {
        "discriminator" : {
          "propertyName" : "representation",
          "mapping" : {
            "CYLINDERS" : "#/components/schemas/Reporting.CylindersVisualizationStyle",
            "SPHERES" : "#/components/schemas/Reporting.SpheresVisualizationStyle",
            "COMETS" : "#/components/schemas/Reporting.CometsVisualizationStyle"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Reporting.CylindersVisualizationStyle"
        }, {
          "$ref" : "#/components/schemas/Reporting.SpheresVisualizationStyle"
        }, {
          "$ref" : "#/components/schemas/Reporting.CometsVisualizationStyle"
        } ]
      },
      "Reporting.CylindersVisualizationStyle" : {
        "required" : [ "representation" ],
        "type" : "object",
        "properties" : {
          "representation" : {
            "type" : "string",
            "description" : "The representation to use for particle traces.",
            "default" : "CYLINDERS"
          }
        }
      },
      "Reporting.SpheresVisualizationStyle" : {
        "required" : [ "numPulses", "representation" ],
        "type" : "object",
        "properties" : {
          "representation" : {
            "type" : "string",
            "description" : "The representation to use for particle traces.",
            "default" : "SPHERES"
          },
          "numPulses" : {
            "maximum" : 200,
            "minimum" : 5,
            "type" : "integer",
            "description" : "This value specifies how many pulses there should be in the model.",
            "default" : 15
          }
        }
      },
      "Reporting.CometsVisualizationStyle" : {
        "required" : [ "numPulses", "relativeCometLength", "representation" ],
        "type" : "object",
        "properties" : {
          "representation" : {
            "type" : "string",
            "description" : "The representation to use for particle traces.",
            "default" : "COMETS"
          },
          "numPulses" : {
            "maximum" : 200,
            "minimum" : 5,
            "type" : "integer",
            "description" : "This value specifies how many pulses there should be in the model.",
            "default" : 15
          },
          "relativeCometLength" : {
            "maximum" : 0.1,
            "exclusiveMaximum" : false,
            "minimum" : 1.0E-5,
            "exclusiveMinimum" : false,
            "type" : "number",
            "description" : "The length of the tail of the comets. It is specified in time and is a fraction of the global total time range for all particles in this particle trace. For example, if the total trace time is 2, and the relativeCometLength is 0.01, then the length of the tail will be 0.02.",
            "format" : "double",
            "default" : 1.0E-5
          }
        }
      },
      "Reporting.Filters" : {
        "type" : "object",
        "properties" : {
          "cuttingPlanes" : {
            "minItems" : 1,
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Reporting.CuttingPlane"
            }
          },
          "isoSurfaces" : {
            "minItems" : 1,
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Reporting.IsoSurface"
            }
          },
          "isoVolumes" : {
            "minItems" : 1,
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Reporting.IsoVolume"
            }
          },
          "displacement" : {
            "$ref" : "#/components/schemas/Reporting.Displacement"
          },
          "particleTraces" : {
            "minItems" : 1,
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Reporting.ParticleTrace"
            }
          }
        }
      },
      "Reporting.ModelSettings" : {
        "required" : [ "hideSelectedParts" ],
        "type" : "object",
        "properties" : {
          "parts" : {
            "type" : "array",
            "description" : "The parts to show or hide in the report (see hideSelectedParts).",
            "items" : {
              "$ref" : "#/components/schemas/Reporting.Part"
            }
          },
          "hideSelectedParts" : {
            "type" : "boolean",
            "description" : "If set to true, the parts array indicates the hidden parts, while the rest of the model parts are visible (blacklist). On the other hand, if set to false, then the parts array indicate the visible parts while the rest of the model parts are hidden (whitelist). If the parts array is empty, then setting this value to true will hide all the model parts, while setting it to false will show all the model parts.",
            "default" : false
          },
          "showVolumes" : {
            "type" : "boolean",
            "description" : "If set to false, then volumes will be hidden unless they are mentioned explicitly, i.e. when a volume is included in the parts array, and hideSelectedParts is set to false.",
            "default" : false
          },
          "scalarField" : {
            "$ref" : "#/components/schemas/Reporting.ScalarField"
          },
          "scalarSettings" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/Reporting.ScalarSettings"
            }
          },
          "vectorSettings" : {
            "type" : "array",
            "description" : "The settings for the different vectors of the model.",
            "items" : {
              "$ref" : "#/components/schemas/Reporting.VectorSettings"
            }
          },
          "opacity" : {
            "$ref" : "#/components/schemas/Reporting.Opacity"
          },
          "renderMode" : {
            "$ref" : "#/components/schemas/Reporting.RenderMode"
          },
          "solidColor" : {
            "$ref" : "#/components/schemas/Reporting.Color"
          }
        }
      },
      "Reporting.OneOfCameraSettings" : {
        "discriminator" : {
          "propertyName" : "settingType",
          "mapping" : {
            "USER_INPUT" : "#/components/schemas/Reporting.UserInputCameraSettings",
            "TOP_VIEW" : "#/components/schemas/Reporting.TopViewPredefinedCameraSettings",
            "FORTY_FIVE_FORTY_FIVE_VIEW" : "#/components/schemas/Reporting.FortyFiveViewPredefinedCameraSettings"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Reporting.UserInputCameraSettings"
        }, {
          "$ref" : "#/components/schemas/Reporting.TopViewPredefinedCameraSettings"
        }, {
          "$ref" : "#/components/schemas/Reporting.FortyFiveViewPredefinedCameraSettings"
        } ]
      },
      "Reporting.OneOfAnimationOutputSettings" : {
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "TIME_STEP" : "#/components/schemas/Reporting.TimeStepAnimationOutputSettings",
            "PARTICLE_TRACE" : "#/components/schemas/Reporting.ParticleTraceAnimationOutputSettings",
            "SHAPE" : "#/components/schemas/Reporting.ShapeAnimationOutputSettings"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Reporting.TimeStepAnimationOutputSettings"
        }, {
          "$ref" : "#/components/schemas/Reporting.ParticleTraceAnimationOutputSettings"
        }, {
          "$ref" : "#/components/schemas/Reporting.ShapeAnimationOutputSettings"
        } ]
      },
      "Reporting.AnimationOutputSettings" : {
        "required" : [ "format", "frameRate", "name", "resolution", "showCube", "showLegend" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string"
          },
          "format" : {
            "type" : "string",
            "default" : "GIF",
            "enum" : [ "GIF", "MP4" ]
          },
          "resolution" : {
            "$ref" : "#/components/schemas/Reporting.ResolutionInfo"
          },
          "frameRate" : {
            "maximum" : 60,
            "minimum" : 1,
            "type" : "integer",
            "default" : 20
          },
          "showLegend" : {
            "type" : "boolean",
            "default" : true
          },
          "showCube" : {
            "type" : "boolean",
            "default" : true
          },
          "backgroundColor" : {
            "$ref" : "#/components/schemas/Reporting.Color"
          }
        }
      },
      "Reporting.TimeStepAnimationOutputSettings" : {
        "allOf" : [ {
          "$ref" : "#/components/schemas/Reporting.AnimationOutputSettings"
        }, {
          "required" : [ "fromFrameIndex", "skipFrames", "type" ],
          "type" : "object",
          "properties" : {
            "type" : {
              "type" : "string",
              "default" : "TIME_STEP"
            },
            "fromFrameIndex" : {
              "minimum" : 0,
              "type" : "integer",
              "default" : 0
            },
            "toFrameIndex" : {
              "minimum" : 0,
              "type" : "integer",
              "description" : "Index of the last frame to include (inclusive). Defaults to the last available frame when not provided."
            },
            "skipFrames" : {
              "minimum" : 0,
              "type" : "integer",
              "default" : 0
            }
          }
        } ]
      },
      "Reporting.ParticleTraceAnimationOutputSettings" : {
        "allOf" : [ {
          "$ref" : "#/components/schemas/Reporting.AnimationOutputSettings"
        }, {
          "required" : [ "steps", "type" ],
          "type" : "object",
          "properties" : {
            "type" : {
              "type" : "string",
              "default" : "PARTICLE_TRACE"
            },
            "frameIndex" : {
              "minimum" : 0,
              "type" : "integer",
              "description" : "Default is the last frame (time step) in the result."
            },
            "steps" : {
              "maximum" : 10000,
              "minimum" : 1,
              "type" : "integer",
              "description" : "The number of steps to generate for the particle trace animation.",
              "default" : 300
            }
          }
        } ]
      },
      "Reporting.ShapeAnimationOutputSettings" : {
        "allOf" : [ {
          "$ref" : "#/components/schemas/Reporting.AnimationOutputSettings"
        }, {
          "required" : [ "range", "steps" ],
          "type" : "object",
          "properties" : {
            "type" : {
              "type" : "string",
              "default" : "SHAPE"
            },
            "frameIndex" : {
              "minimum" : 0,
              "type" : "integer",
              "description" : "Frame (or frequency) for which to create a mode shape animation.Default is the last frame in the result."
            },
            "steps" : {
              "maximum" : 100,
              "minimum" : 1,
              "type" : "integer",
              "description" : "The number of steps to generate for the shape animation",
              "default" : 30
            },
            "range" : {
              "type" : "string",
              "description" : "How to deform the model for the animation. FULL implies animating from the original, undeformed shape to the maximum displaced position, then back to original shape; do the same for the negative maximum deformation, then back (x_0 -> +x_max -> x_0 -> -x_max -> x_0). HALF implies animating from the original, undeformed shape to the maximum displaced position, then back to original shape (x_0 -> +x_max -> x_0). QUARTER implies animating from the original, undeformed shape to the maxiumum displaced position (x_0 -> +x_max)",
              "default" : "FULL",
              "enum" : [ "FULL", "HALF", "QUARTER" ]
            },
            "backgroundColor" : {
              "$ref" : "#/components/schemas/Reporting.Color"
            }
          }
        } ]
      },
      "Reporting.ScreenshotOutputSettings" : {
        "required" : [ "format", "name", "resolution", "showCube", "showLegend" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string"
          },
          "format" : {
            "type" : "string",
            "default" : "PNG",
            "enum" : [ "PNG" ]
          },
          "resolution" : {
            "$ref" : "#/components/schemas/Reporting.ResolutionInfo"
          },
          "frameIndex" : {
            "minimum" : 0,
            "type" : "integer",
            "description" : "Default to the last timestep or frame in the result."
          },
          "showLegend" : {
            "type" : "boolean",
            "default" : true
          },
          "showCube" : {
            "type" : "boolean",
            "default" : true
          },
          "backgroundColor" : {
            "$ref" : "#/components/schemas/Reporting.Color"
          }
        }
      },
      "Reporting.Part" : {
        "required" : [ "partIdentifier" ],
        "type" : "object",
        "properties" : {
          "partIdentifier" : {
            "type" : "string",
            "description" : "The identifier of the part in the result."
          },
          "parentIdentifier" : {
            "type" : "string",
            "description" : "The identifier of the parent of the part in the result. This value is necessary in cases where multiple parts appear in the result with the same name/identifier."
          },
          "opacity" : {
            "$ref" : "#/components/schemas/Reporting.Opacity"
          },
          "renderMode" : {
            "$ref" : "#/components/schemas/Reporting.RenderMode"
          },
          "solidColor" : {
            "$ref" : "#/components/schemas/Reporting.Color"
          }
        }
      },
      "Reporting.ReportProperties" : {
        "discriminator" : {
          "propertyName" : "reportType",
          "mapping" : {
            "ANIMATION" : "#/components/schemas/Reporting.AnimationReportProperties",
            "SCREENSHOT" : "#/components/schemas/Reporting.ScreenshotReportProperties",
            "STATISTICS" : "#/components/schemas/Reporting.StatisticsReportProperties",
            "STATISTICS_GLOBAL_MIN_MAX" : "#/components/schemas/Reporting.StatisticsGlobalMinMaxReportProperties"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Reporting.AnimationReportProperties"
        }, {
          "$ref" : "#/components/schemas/Reporting.ScreenshotReportProperties"
        }, {
          "$ref" : "#/components/schemas/Reporting.StatisticsReportProperties"
        }, {
          "$ref" : "#/components/schemas/Reporting.StatisticsGlobalMinMaxReportProperties"
        } ]
      },
      "Reporting.ReportPropertiesPublic" : {
        "description" : "Public counterpart of ReportProperties whose STATISTICS variant omits the server-resolved resolution hints (cadAssociations, topologyLabelByName). Used by the public ReportResponse; the report request and the internal report representation use ReportProperties, which carries those fields.\n",
        "discriminator" : {
          "propertyName" : "reportType",
          "mapping" : {
            "ANIMATION" : "#/components/schemas/Reporting.AnimationReportProperties",
            "SCREENSHOT" : "#/components/schemas/Reporting.ScreenshotReportProperties",
            "STATISTICS" : "#/components/schemas/Reporting.StatisticsReportPropertiesPublic",
            "STATISTICS_GLOBAL_MIN_MAX" : "#/components/schemas/Reporting.StatisticsGlobalMinMaxReportPropertiesPublic"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Reporting.AnimationReportProperties"
        }, {
          "$ref" : "#/components/schemas/Reporting.ScreenshotReportProperties"
        }, {
          "$ref" : "#/components/schemas/Reporting.StatisticsReportPropertiesPublic"
        }, {
          "$ref" : "#/components/schemas/Reporting.StatisticsGlobalMinMaxReportPropertiesPublic"
        } ]
      },
      "Reporting.StepSelector" : {
        "required" : [ "selection" ],
        "type" : "object",
        "properties" : {
          "selection" : {
            "type" : "string",
            "enum" : [ "FIRST", "LAST", "ALL", "INDICES" ]
          },
          "indices" : {
            "type" : "array",
            "description" : "The 0-based step indices to scan; used only when selection is INDICES.",
            "items" : {
              "minimum" : 0,
              "type" : "integer"
            }
          }
        },
        "description" : "Selects which solution steps to scan. A step is one entry in the result sequence: a time-step for a transient analysis, or a frequency for a harmonic analysis. Set selection to FIRST or LAST for a single boundary step, ALL for every step, or INDICES for a specific set given in indices (0-based). indices applies only when selection is INDICES.\n"
      },
      "Reporting.StatisticsGlobalMinMaxReportProperties" : {
        "required" : [ "reportType", "scalarField", "steps" ],
        "type" : "object",
        "properties" : {
          "reportType" : {
            "type" : "string",
            "default" : "STATISTICS_GLOBAL_MIN_MAX"
          },
          "scalarField" : {
            "$ref" : "#/components/schemas/Reporting.ScalarField"
          },
          "steps" : {
            "$ref" : "#/components/schemas/Reporting.StepSelector"
          },
          "topologyLabelByName" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "description" : "Mesh-part-name to user-facing label mapping, used to report the extreme's part by label rather than internal mesh name."
          }
        },
        "description" : "Configuration for a global min/max report: find the smallest and largest value of one scalar field across the entire model, over the selected steps, reporting each extreme's value, coordinates, part, and the step it occurred at.\n"
      },
      "Reporting.StatisticsGlobalMinMaxReportPropertiesPublic" : {
        "required" : [ "reportType", "scalarField", "steps" ],
        "type" : "object",
        "properties" : {
          "reportType" : {
            "type" : "string",
            "default" : "STATISTICS_GLOBAL_MIN_MAX"
          },
          "scalarField" : {
            "$ref" : "#/components/schemas/Reporting.ScalarField"
          },
          "steps" : {
            "$ref" : "#/components/schemas/Reporting.StepSelector"
          }
        },
        "description" : "The global min/max report configuration as returned in a report response: the scalar field whose extremes were sought and the solution steps that were scanned.\n"
      },
      "Reporting.AnimationReportProperties" : {
        "required" : [ "cameraSettings", "modelSettings", "outputSettings", "reportType" ],
        "type" : "object",
        "properties" : {
          "reportType" : {
            "type" : "string",
            "default" : "ANIMATION"
          },
          "modelSettings" : {
            "$ref" : "#/components/schemas/Reporting.ModelSettings"
          },
          "filters" : {
            "$ref" : "#/components/schemas/Reporting.Filters"
          },
          "cameraSettings" : {
            "$ref" : "#/components/schemas/Reporting.OneOfCameraSettings"
          },
          "outputSettings" : {
            "$ref" : "#/components/schemas/Reporting.OneOfAnimationOutputSettings"
          }
        }
      },
      "Reporting.ScreenshotReportProperties" : {
        "required" : [ "cameraSettings", "modelSettings", "outputSettings", "reportType" ],
        "type" : "object",
        "properties" : {
          "reportType" : {
            "type" : "string",
            "default" : "SCREENSHOT"
          },
          "modelSettings" : {
            "$ref" : "#/components/schemas/Reporting.ModelSettings"
          },
          "filters" : {
            "$ref" : "#/components/schemas/Reporting.Filters"
          },
          "cameraSettings" : {
            "$ref" : "#/components/schemas/Reporting.OneOfCameraSettings"
          },
          "outputSettings" : {
            "$ref" : "#/components/schemas/Reporting.ScreenshotOutputSettings"
          }
        }
      },
      "Reporting.StatisticsReportPropertiesPublic" : {
        "required" : [ "reportType", "scalarField" ],
        "type" : "object",
        "properties" : {
          "reportType" : {
            "type" : "string",
            "default" : "STATISTICS"
          },
          "partIdentifiers" : {
            "minItems" : 1,
            "type" : "array",
            "description" : "Names of individual model parts for which to compute statistics independently. Each name must exactly match a part name present in the simulation result. Each part produces a separate entry in the statisticsResult, keyed by part name.\n",
            "items" : {
              "type" : "string"
            }
          },
          "partGroupIdentifiers" : {
            "minItems" : 1,
            "type" : "array",
            "description" : "Named groups of parts whose bulk values are aggregated into a single combined result entry. Useful when several parts form a logical unit (e.g. all wall patches) and a single aggregated metric is needed. Each group produces one entry in the statisticsResult, keyed by the group identifier.\n",
            "items" : {
              "$ref" : "#/components/schemas/Reporting.StatisticsPartGroup"
            }
          },
          "cuttingPlanes" : {
            "minItems" : 1,
            "type" : "array",
            "description" : "Cutting planes for which to compute statistics. A cutting plane is an infinite plane defined by a point and a normal vector that slices through the model. Statistics are computed over the intersection geometry. Each plane produces one entry in the statisticsResult, keyed by the plane identifier.\n",
            "items" : {
              "$ref" : "#/components/schemas/Reporting.StatisticsCuttingPlane"
            }
          },
          "scalarField" : {
            "$ref" : "#/components/schemas/Reporting.ScalarField"
          },
          "frameIndex" : {
            "minimum" : 0,
            "type" : "integer",
            "description" : "Zero-based time step index at which to evaluate the field. When not provided, statistics are computed at the last available time step.\n"
          }
        },
        "description" : "Configuration for a statistics (bulk calculation) report. Computes scalar field statistics (minimum, maximum, average, integral, and area/volume-weighted equivalents) over model geometry at a chosen time step.\nAt least one of partIdentifiers, partGroupIdentifiers, or cuttingPlanes must be provided.\nParts are named surfaces or volumes that exist in the simulation result (e.g. wall patches in a CFD model or solid bodies in a structural model). Use partIdentifiers to get independent results per part, or partGroupIdentifiers to combine several parts into one aggregated result.\nCutting planes are user-defined infinite planes that slice through the model geometry. They are specified by a point on the plane and a normal vector, and statistics are computed over the intersection.\n",
        "anyOf" : [ {
          "required" : [ "partIdentifiers" ]
        }, {
          "required" : [ "partGroupIdentifiers" ]
        }, {
          "required" : [ "cuttingPlanes" ]
        } ]
      },
      "Reporting.StatisticsReportProperties" : {
        "required" : [ "reportType", "scalarField" ],
        "type" : "object",
        "properties" : {
          "reportType" : {
            "type" : "string",
            "default" : "STATISTICS"
          },
          "partIdentifiers" : {
            "minItems" : 1,
            "type" : "array",
            "description" : "Names of individual model parts for which to compute statistics independently. Each name must exactly match a part name present in the simulation result model. Each part produces a separate entry in the statisticsResult, keyed by part name.\n",
            "items" : {
              "type" : "string"
            }
          },
          "partGroupIdentifiers" : {
            "minItems" : 1,
            "type" : "array",
            "description" : "Named groups of parts whose bulk values are aggregated into a single combined result entry. Useful when several parts form a logical unit (e.g. all wall patches) and a single aggregated metric is needed. Each group produces one entry in the statisticsResult, keyed by the group identifier.\n",
            "items" : {
              "$ref" : "#/components/schemas/Reporting.StatisticsPartGroup"
            }
          },
          "cuttingPlanes" : {
            "minItems" : 1,
            "type" : "array",
            "description" : "Cutting planes for which to compute statistics. A cutting plane is an infinite plane defined by a point and a normal vector that slices through the model. Statistics are computed over the intersection geometry. Each plane produces one entry in the statisticsResult, keyed by the plane identifier.\n",
            "items" : {
              "$ref" : "#/components/schemas/Reporting.StatisticsCuttingPlane"
            }
          },
          "scalarField" : {
            "$ref" : "#/components/schemas/Reporting.ScalarField"
          },
          "frameIndex" : {
            "minimum" : 0,
            "type" : "integer",
            "description" : "Zero-based time step index at which to evaluate the field. When not provided, statistics are computed at the last available time step.\n"
          },
          "cadAssociations" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "array",
              "items" : {
                "type" : "string"
              }
            },
            "description" : "Filtered CAD-Mesh name mapping for the requested parts only. Each key is a CAD entity name provided by the user and each value is the list of mesh names it maps to. A value of \"<defeatured>\" means the CAD entity has no mesh equivalent. Absent when no CAD-Mesh mapping is available or when all requested names are already mesh names.\n"
          },
          "topologyLabelByName" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "description" : "Mesh-part-name to user-facing label mapping for the mesh topology, used to label cutting-plane regions with a human-readable name (e.g. \"region4\" -> \"Air domain\"). Populated only for cutting-plane requests; absent otherwise.\n"
          }
        },
        "description" : "Configuration for a statistics (bulk calculation) report. Computes scalar field statistics (minimum, maximum, average, integral, and area/volume-weighted equivalents) over model geometry at a chosen time step. Also carries the server-resolved resolution hints (cadAssociations, topologyLabelByName) that postproc-manager populates and postproc-result-query consumes; these hints are stripped from the public API response, which uses the reduced StatisticsReportPropertiesPublic projection.\nAt least one of partIdentifiers, partGroupIdentifiers, or cuttingPlanes must be provided.\n",
        "anyOf" : [ {
          "required" : [ "partIdentifiers" ]
        }, {
          "required" : [ "partGroupIdentifiers" ]
        }, {
          "required" : [ "cuttingPlanes" ]
        } ]
      },
      "Reporting.StatisticsPartGroup" : {
        "required" : [ "identifier", "partNames" ],
        "type" : "object",
        "properties" : {
          "identifier" : {
            "type" : "string",
            "description" : "Unique label for this group. Used as the key for this group's entry in the statisticsResult map returned when the report is finished.\n"
          },
          "partNames" : {
            "minItems" : 1,
            "type" : "array",
            "description" : "Names of the model parts to include in this group. Each name must exactly match a part name present in the simulation result. Parts not found in the model are skipped.\n",
            "items" : {
              "type" : "string"
            }
          }
        },
        "description" : "A named group of model parts whose bulk values are aggregated into a single result entry. All parts in the group are combined before computing statistics, so the result reflects the collective geometry rather than individual parts.\n"
      },
      "Reporting.StatisticsCuttingPlane" : {
        "required" : [ "identifier", "normal", "position" ],
        "type" : "object",
        "properties" : {
          "identifier" : {
            "type" : "string",
            "description" : "Unique label for this cutting plane. Used as the key for this plane's entry in the statisticsResult map returned when the report is finished.\n"
          },
          "position" : {
            "$ref" : "#/components/schemas/Reporting.Vector3D"
          },
          "normal" : {
            "$ref" : "#/components/schemas/Reporting.Vector3D"
          }
        },
        "description" : "A cutting plane defined by a point and a normal vector. The plane is infinite and slices through the model geometry; statistics are computed over the resulting intersection.\n"
      },
      "Reporting.StatisticsMetric" : {
        "description" : "A scalar statistics metric value paired with its unit. The value is null when the metric could not be computed. Integral metrics carry a composite unit (fieldUnit x surfaceAreaUnit or fieldUnit x volumeUnit); all other metrics carry the plain scalar field unit.\n",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Reporting.MeasuredScalar"
        } ]
      },
      "Reporting.StatisticsCentroidMetric" : {
        "description" : "Centroid [x, y, z] coordinates paired with their length unit.\n",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Reporting.MeasuredVector"
        } ]
      },
      "Reporting.StatisticsBulkValues" : {
        "type" : "object",
        "properties" : {
          "elementMin" : {
            "$ref" : "#/components/schemas/Reporting.StatisticsMetric"
          },
          "elementMax" : {
            "$ref" : "#/components/schemas/Reporting.StatisticsMetric"
          },
          "elementAverage" : {
            "$ref" : "#/components/schemas/Reporting.StatisticsMetric"
          },
          "elementIntegral" : {
            "$ref" : "#/components/schemas/Reporting.StatisticsMetric"
          },
          "elementAreaWeightedAverage" : {
            "$ref" : "#/components/schemas/Reporting.StatisticsMetric"
          },
          "nodeAverage" : {
            "$ref" : "#/components/schemas/Reporting.StatisticsMetric"
          },
          "nodeMin" : {
            "$ref" : "#/components/schemas/Reporting.StatisticsMetric"
          },
          "nodeMax" : {
            "$ref" : "#/components/schemas/Reporting.StatisticsMetric"
          },
          "volumeElementIntegral" : {
            "$ref" : "#/components/schemas/Reporting.StatisticsMetric"
          },
          "volumeElementAverage" : {
            "$ref" : "#/components/schemas/Reporting.StatisticsMetric"
          },
          "volumeElementVolumeAreaWeightedAverage" : {
            "$ref" : "#/components/schemas/Reporting.StatisticsMetric"
          },
          "volumeElementMin" : {
            "$ref" : "#/components/schemas/Reporting.StatisticsMetric"
          },
          "volumeElementMax" : {
            "$ref" : "#/components/schemas/Reporting.StatisticsMetric"
          },
          "massFlowRate" : {
            "$ref" : "#/components/schemas/Reporting.StatisticsMetric"
          },
          "volumetricFlowRate" : {
            "$ref" : "#/components/schemas/Reporting.StatisticsMetric"
          },
          "centroid" : {
            "$ref" : "#/components/schemas/Reporting.StatisticsCentroidMetric"
          },
          "boundingBoxMin" : {
            "$ref" : "#/components/schemas/Reporting.StatisticsCentroidMetric"
          },
          "boundingBoxMax" : {
            "$ref" : "#/components/schemas/Reporting.StatisticsCentroidMetric"
          }
        },
        "description" : "Bulk statistical values (metrics, centroid and bounding box) computed over a region of the model - a part, a part group, a whole cutting plane, or a single cutting-plane region. Each numeric metric is an object with a 'value' and a 'unit' field. Integral metrics carry composite units; all others carry the plain scalar field unit.\n"
      },
      "Reporting.GlobalMinMaxResult" : {
        "type" : "object",
        "properties" : {
          "field" : {
            "type" : "string",
            "description" : "The label of the scalar field whose global minimum and maximum are reported here."
          },
          "dataType" : {
            "$ref" : "#/components/schemas/Reporting.DataType"
          },
          "minimum" : {
            "$ref" : "#/components/schemas/Reporting.GlobalMinMaxExtreme"
          },
          "maximum" : {
            "$ref" : "#/components/schemas/Reporting.GlobalMinMaxExtreme"
          }
        },
        "description" : "The global minimum and maximum of a scalar field across the entire model over the selected steps.\n"
      },
      "Reporting.GlobalMinMaxExtreme" : {
        "type" : "object",
        "properties" : {
          "value" : {
            "$ref" : "#/components/schemas/Reporting.MeasuredScalar"
          },
          "coordinates" : {
            "$ref" : "#/components/schemas/Reporting.MeasuredVector"
          },
          "partName" : {
            "type" : "string",
            "description" : "The mesh part name the extreme was found on; null if the part could not be resolved."
          },
          "partLabel" : {
            "type" : "string",
            "description" : "The user-facing label of that part (resolved from the mesh topology); null when no label is available or the part could not be resolved."
          },
          "step" : {
            "type" : "object",
            "properties" : {
              "index" : {
                "type" : "integer",
                "description" : "Zero-based step index."
              },
              "name" : {
                "type" : "string",
                "description" : "The step's label (often the time value or frequency)."
              }
            },
            "description" : "The step at which this extreme occurred (a time-step for transient analyses, a frequency for harmonic, etc)."
          }
        },
        "description" : "A single located extreme (the minimum or the maximum) with its value, coordinates, part, and step. Whether the value is node- or cell-based is given by the result's dataType."
      },
      "Reporting.MeasuredScalar" : {
        "type" : "object",
        "properties" : {
          "value" : {
            "type" : "number",
            "description" : "The numeric value, or null when it could not be computed.",
            "format" : "double"
          },
          "unit" : {
            "type" : "string"
          }
        },
        "description" : "A scalar quantity paired with its unit string."
      },
      "Reporting.MeasuredVector" : {
        "type" : "object",
        "properties" : {
          "value" : {
            "maxItems" : 3,
            "minItems" : 3,
            "type" : "array",
            "items" : {
              "type" : "number",
              "format" : "double"
            }
          },
          "unit" : {
            "type" : "string"
          }
        },
        "description" : "A 3-component spatial vector (e.g. a position or a centroid) paired with its length unit."
      },
      "Reporting.StatisticsResultEntry" : {
        "description" : "Bulk values for a single part, part group, or cutting plane. For a cutting plane it additionally carries the per-region breakdown in 'regions'; for parts and part groups 'regions' is absent.\n",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Reporting.StatisticsBulkValues"
        }, {
          "type" : "object",
          "properties" : {
            "regions" : {
              "type" : "array",
              "description" : "For a cutting plane, the per-region breakdown: one entry per distinct area produced by the cut (one per intersected part, or several when a single part is cut in more than one place). The enclosing entry's own metrics remain the whole-plane aggregate over all regions; this array only adds the per-region split. Absent for part and part-group entries.\n",
              "items" : {
                "$ref" : "#/components/schemas/Reporting.StatisticsCuttingPlaneRegionEntry"
              }
            }
          }
        } ]
      },
      "Reporting.StatisticsCuttingPlaneRegionEntry" : {
        "description" : "Bulk values for a single cutting-plane region (one distinct area produced by the cut), labelled with the part from which it originates. Regions do not nest (a region has no 'regions' of its own).\n",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Reporting.StatisticsBulkValues"
        }, {
          "type" : "object",
          "properties" : {
            "partName" : {
              "type" : "string",
              "description" : "The mesh part name the plane intersected to produce this region; null when the part could not be resolved.\n"
            },
            "partLabel" : {
              "type" : "string",
              "description" : "The user-facing label of the intersected part, resolved from the mesh topology (e.g. \"Air domain\", \"solid1\"); null when no label could be resolved for the part.\n"
            }
          }
        } ]
      },
      "Reporting.ReportFromStateProperties" : {
        "type" : "object",
        "discriminator" : {
          "propertyName" : "reportType",
          "mapping" : {
            "ANIMATION" : "#/components/schemas/Reporting.AnimationReportFromStateProperties",
            "SCREENSHOT" : "#/components/schemas/Reporting.ScreenshotReportFromStateProperties"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Reporting.AnimationReportFromStateProperties"
        }, {
          "$ref" : "#/components/schemas/Reporting.ScreenshotReportFromStateProperties"
        } ]
      },
      "Reporting.StateOverrides" : {
        "type" : "object",
        "properties" : {
          "modelSettings" : {
            "$ref" : "#/components/schemas/Reporting.ModelSettingsOverride"
          },
          "filters" : {
            "$ref" : "#/components/schemas/Reporting.FiltersOverride"
          }
        },
        "description" : "Render-time overrides applied on top of the fetched post-processor state, mirroring the report's own model/filter structure so each override is unambiguous. Additive - further sections (filters, ...) can be added over time without changing the report-from-state contract."
      },
      "Reporting.ModelSettingsOverride" : {
        "type" : "object",
        "properties" : {
          "scalarField" : {
            "$ref" : "#/components/schemas/Reporting.ScalarField"
          },
          "colorLegendScaling" : {
            "type" : "string",
            "description" : "Overrides how the color legend range is scaled for the active scalar (see ScalarSettings.colorLegendScaling): FULL_RANGE (whole dataset), VISIBLE_ITEMS (currently visible items only), or VISIBLE_ITEMS_WITH_INNER_VOLUME (visible items plus the inner volume behind visible faces).",
            "enum" : [ "FULL_RANGE", "VISIBLE_ITEMS", "VISIBLE_ITEMS_WITH_INNER_VOLUME" ]
          },
          "outOfRangeColors" : {
            "$ref" : "#/components/schemas/Reporting.OutOfRangeColorOverride"
          }
        },
        "description" : "Partial model settings applied as an override on top of the state's own model settings. All properties are optional; only those provided are overridden."
      },
      "Reporting.OutOfRangeColorOverride" : {
        "required" : [ "scalarField" ],
        "type" : "object",
        "properties" : {
          "scalarField" : {
            "$ref" : "#/components/schemas/Reporting.ScalarField"
          },
          "belowRangeColor" : {
            "$ref" : "#/components/schemas/Reporting.Color"
          },
          "aboveRangeColor" : {
            "$ref" : "#/components/schemas/Reporting.Color"
          }
        },
        "description" : "Out-of-range colors apply to an individual scalar, overriding what the state saved for it (including states/views with out-of-range colors switched off). This override requires the target field name. The colors are a per-scalar setting, a state can carry settings for several scalars. The target scalar can be one that has been applied to the model itself, globally, or one that was applied on a cutting plane, isosurface, isovolume or particle-trace. The override is considered valid only if the target scalar is in fact applied to either the model or a filter in the state/view, otherwise it will be rejected. This applies to automatic, manual and default states/vies."
      },
      "Reporting.FiltersOverride" : {
        "type" : "object",
        "properties" : {
          "displacement" : {
            "$ref" : "#/components/schemas/Reporting.Displacement"
          }
        },
        "description" : "Partial filter settings applied as an override on top of the state's own filters. All properties are optional; only those provided are overridden."
      },
      "Reporting.AnimationReportFromStateProperties" : {
        "required" : [ "outputSettings", "reportType", "stateMetadata" ],
        "type" : "object",
        "properties" : {
          "reportType" : {
            "type" : "string",
            "default" : "ANIMATION"
          },
          "stateMetadata" : {
            "$ref" : "#/components/schemas/Reporting.StateMetadata"
          },
          "outputSettings" : {
            "$ref" : "#/components/schemas/Reporting.OneOfAnimationOutputSettings"
          },
          "cameraOverride" : {
            "$ref" : "#/components/schemas/Reporting.OneOfCameraSettings"
          },
          "stateOverrides" : {
            "$ref" : "#/components/schemas/Reporting.StateOverrides"
          }
        }
      },
      "Reporting.ScreenshotReportFromStateProperties" : {
        "required" : [ "outputSettings", "reportType", "stateMetadata" ],
        "type" : "object",
        "properties" : {
          "reportType" : {
            "type" : "string",
            "default" : "SCREENSHOT"
          },
          "stateMetadata" : {
            "$ref" : "#/components/schemas/Reporting.StateMetadata"
          },
          "outputSettings" : {
            "$ref" : "#/components/schemas/Reporting.ScreenshotOutputSettings"
          },
          "cameraOverride" : {
            "$ref" : "#/components/schemas/Reporting.OneOfCameraSettings"
          },
          "stateOverrides" : {
            "$ref" : "#/components/schemas/Reporting.StateOverrides"
          },
          "persist" : {
            "type" : "boolean",
            "description" : "When false, the rendered screenshot is not registered back into the project (ephemeral). Defaults to true.",
            "default" : true
          }
        }
      },
      "Reporting.ReportFromStateRequest" : {
        "required" : [ "name", "reportFromStateProperties", "resultIds" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "maxLength" : 200,
            "minLength" : 1,
            "type" : "string",
            "description" : "The name of the report."
          },
          "description" : {
            "maxLength" : 1000,
            "minLength" : 1,
            "type" : "string",
            "description" : "The description of the report."
          },
          "resultIds" : {
            "maxItems" : 1,
            "minItems" : 1,
            "type" : "array",
            "description" : "The IDs of the results for which the report should be created.",
            "items" : {
              "type" : "string",
              "format" : "uuid"
            }
          },
          "reportFromStateProperties" : {
            "$ref" : "#/components/schemas/Reporting.ReportFromStateProperties"
          },
          "reportId" : {
            "type" : "string",
            "description" : "If provided, the newly created report will have this value for its UUID.",
            "format" : "uuid"
          },
          "trigger" : {
            "$ref" : "#/components/schemas/Reporting.ReportTrigger"
          }
        }
      },
      "Reporting.ReportRequest" : {
        "required" : [ "name", "reportProperties", "resultIds" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "maxLength" : 200,
            "minLength" : 1,
            "type" : "string",
            "description" : "The name of the report."
          },
          "description" : {
            "maxLength" : 1000,
            "minLength" : 1,
            "type" : "string",
            "description" : "The description of the report."
          },
          "resultIds" : {
            "maxItems" : 1,
            "minItems" : 1,
            "type" : "array",
            "description" : "The IDs of the results for which the report should be created.",
            "items" : {
              "type" : "string",
              "format" : "uuid"
            }
          },
          "reportProperties" : {
            "$ref" : "#/components/schemas/Reporting.ReportProperties"
          },
          "reportId" : {
            "type" : "string",
            "description" : "If provided, the newly created report will have this value for its UUID.",
            "format" : "uuid"
          },
          "trigger" : {
            "$ref" : "#/components/schemas/Reporting.ReportTrigger"
          }
        }
      },
      "Reporting.ReportTrigger" : {
        "type" : "string",
        "description" : "Identifies where/why a report was triggered (the creating flow). Defaults to API_GENERIC for callers that do not specify it.\nAI_AGENT_PREVIEW marks ephemeral preview images created for the AI agent; these are cleaned up automatically.\n",
        "default" : "API_GENERIC",
        "enum" : [ "API_GENERIC", "WORKBENCH_GENERIC", "WORKBENCH_ANIMATION_RECORDING", "AI_AGENT_GENERIC", "AI_AGENT_PREVIEW" ]
      },
      "Reporting.DefaultStateMetadata" : {
        "required" : [ "stateAnalysisType", "stateType" ],
        "type" : "object",
        "properties" : {
          "stateType" : {
            "type" : "string",
            "default" : "DEFAULT"
          },
          "stateAnalysisType" : {
            "type" : "string",
            "description" : "The analysis type (Mandatory for a DEFAULT state)."
          }
        }
      },
      "Reporting.AutomaticStateMetadata" : {
        "required" : [ "stateType", "stateUuid" ],
        "type" : "object",
        "properties" : {
          "stateType" : {
            "type" : "string",
            "default" : "AUTOMATIC"
          },
          "stateUuid" : {
            "type" : "string",
            "description" : "The UUID of the specific state (Mandatory for AUTOMATIC/MANUAL).",
            "format" : "uuid"
          }
        }
      },
      "Reporting.ManualStateMetadata" : {
        "required" : [ "stateType", "stateUuid" ],
        "type" : "object",
        "properties" : {
          "stateType" : {
            "type" : "string",
            "default" : "MANUAL"
          },
          "stateUuid" : {
            "type" : "string",
            "description" : "The UUID of the specific state (Mandatory for AUTOMATIC/MANUAL).",
            "format" : "uuid"
          }
        }
      },
      "Reporting.StateMetadata" : {
        "type" : "object",
        "discriminator" : {
          "propertyName" : "stateType",
          "mapping" : {
            "DEFAULT" : "#/components/schemas/Reporting.DefaultStateMetadata",
            "AUTOMATIC" : "#/components/schemas/Reporting.AutomaticStateMetadata",
            "MANUAL" : "#/components/schemas/Reporting.ManualStateMetadata"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Reporting.DefaultStateMetadata"
        }, {
          "$ref" : "#/components/schemas/Reporting.AutomaticStateMetadata"
        }, {
          "$ref" : "#/components/schemas/Reporting.ManualStateMetadata"
        } ]
      },
      "Reporting.ResolutionInfo" : {
        "required" : [ "x", "y" ],
        "type" : "object",
        "properties" : {
          "x" : {
            "maximum" : 8000,
            "minimum" : 1,
            "type" : "integer"
          },
          "y" : {
            "maximum" : 8000,
            "minimum" : 1,
            "type" : "integer"
          }
        }
      },
      "Reporting.ScalarField" : {
        "required" : [ "dataType", "fieldName" ],
        "type" : "object",
        "properties" : {
          "fieldName" : {
            "type" : "string"
          },
          "component" : {
            "type" : "string"
          },
          "dataType" : {
            "$ref" : "#/components/schemas/Reporting.DataType"
          }
        }
      },
      "Reporting.VectorField" : {
        "required" : [ "dataType", "fieldName" ],
        "type" : "object",
        "properties" : {
          "fieldName" : {
            "type" : "string"
          },
          "dataType" : {
            "$ref" : "#/components/schemas/Reporting.DataType"
          }
        }
      },
      "Reporting.ScalarSettings" : {
        "required" : [ "scalarField" ],
        "properties" : {
          "scalarField" : {
            "$ref" : "#/components/schemas/Reporting.ScalarField"
          },
          "minimumRange" : {
            "type" : "number",
            "description" : "The minimum value for the color scheme to fill. Default is the minimum value of the scalar.",
            "format" : "float"
          },
          "maximumRange" : {
            "type" : "number",
            "description" : "The maximum value for the color scheme to fill. Default is the maximum value of the scalar.",
            "format" : "float"
          },
          "nodeAverageValue" : {
            "type" : "boolean",
            "description" : "Specify if the scalar result should be shown as a node averaged result or not.",
            "default" : false
          },
          "numberOfDivisions" : {
            "maximum" : 75,
            "minimum" : 0,
            "type" : "integer",
            "description" : "The number of divisions in the legend. If set to 0, this will create a continuous (gradient) legend with a smooth interpolation between the colors.",
            "default" : 20
          },
          "colorScheme" : {
            "type" : "string",
            "description" : "The color scheme to use to map scalar values on the model and legend bar.",
            "default" : "NORMAL",
            "enum" : [ "NORMAL", "NORMAL_INVERTED", "BLACK_TO_WHITE", "WHITE_TO_BLACK", "GREEN_TO_BROWN", "WHITE_TO_BROWN", "METAL_CASTING", "BLUE_TO_WHITE_TO_RED", "THERMAL_1", "THERMAL_2", "THERMAL_3" ]
          },
          "colorLegendScaling" : {
            "type" : "string",
            "description" : "How the color legend range is scaled when minimumRange/maximumRange are not given. FULL_RANGE uses the whole dataset (all parts, shown or hidden). VISIBLE_ITEMS scales to only the currently visible items. VISIBLE_ITEMS_WITH_INNER_VOLUME additionally folds in the inner volume behind visible faces. Ignored when minimumRange/maximumRange are provided (an explicit range always wins).",
            "default" : "FULL_RANGE",
            "enum" : [ "FULL_RANGE", "VISIBLE_ITEMS", "VISIBLE_ITEMS_WITH_INNER_VOLUME" ]
          },
          "belowRangeColor" : {
            "$ref" : "#/components/schemas/Reporting.Color"
          },
          "aboveRangeColor" : {
            "$ref" : "#/components/schemas/Reporting.Color"
          }
        }
      },
      "Reporting.VectorSettings" : {
        "required" : [ "coloring", "scaleFactor", "vectorField" ],
        "properties" : {
          "vectorField" : {
            "$ref" : "#/components/schemas/Reporting.VectorField"
          },
          "scaleFactor" : {
            "maximum" : 1.0,
            "exclusiveMaximum" : false,
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "format" : "double",
            "default" : 0.2
          },
          "solidColor" : {
            "$ref" : "#/components/schemas/Reporting.Color"
          },
          "coloring" : {
            "type" : "string",
            "default" : "BY_VECTOR_FIELD",
            "enum" : [ "BY_VECTOR_FIELD", "SOLID_COLOR" ]
          },
          "minimumClampingRange" : {
            "type" : "number",
            "description" : "The minimum length of (non-zero) vectors will be drawn as. Must not be larger than maximumClampingRange. Default value is the minimum length of the specified vector field.",
            "format" : "float"
          },
          "maximumClampingRange" : {
            "type" : "number",
            "description" : "The maximum length of (non-zero) vectors will be drawn as. Must not be smaller than minimumClampingRange. Default value is the maximum length of the specified vector field.",
            "format" : "float"
          },
          "minimumFilteringRange" : {
            "type" : "number",
            "description" : "The required minimum length of the vectors in order to be drawn. Must not be larger than maximumFilteringRange. Default value is the minimum length of the specified vector field.",
            "format" : "float"
          },
          "maximumFilteringRange" : {
            "type" : "number",
            "description" : "The required maximum length of the vectors in order to be drawn. Must not be smaller than minimumFilteringRange. Default value is the maximum length of the specified vector field.",
            "format" : "float"
          }
        }
      },
      "Reporting.UserInputCameraSettings" : {
        "required" : [ "center", "eye", "projectionType", "settingType", "up" ],
        "type" : "object",
        "properties" : {
          "settingType" : {
            "type" : "string",
            "default" : "USER_INPUT"
          },
          "projectionType" : {
            "$ref" : "#/components/schemas/Reporting.ProjectionType"
          },
          "up" : {
            "$ref" : "#/components/schemas/Reporting.Vector3D"
          },
          "eye" : {
            "$ref" : "#/components/schemas/Reporting.Vector3D"
          },
          "center" : {
            "$ref" : "#/components/schemas/Reporting.Vector3D"
          },
          "frontPlaneFrustumHeight" : {
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "description" : "required only for orthogonal projection type."
          },
          "fieldOfViewYDegrees" : {
            "minimum" : 0.0,
            "exclusiveMinimum" : false,
            "type" : "number",
            "description" : "The total field of view in Y direction in degrees. Required onlyf for perspective projection type."
          }
        }
      },
      "Reporting.FortyFiveViewPredefinedCameraSettings" : {
        "required" : [ "directionSpecifier", "projectionType", "settingType" ],
        "type" : "object",
        "properties" : {
          "settingType" : {
            "type" : "string",
            "default" : "FORTY_FIVE_FORTY_FIVE_VIEW"
          },
          "projectionType" : {
            "$ref" : "#/components/schemas/Reporting.ProjectionType"
          },
          "directionSpecifier" : {
            "type" : "string",
            "enum" : [ "X_NEGATIVE_Y_NEGATIVE_Z_NEGATIVE", "X_NEGATIVE_Y_NEGATIVE_Z_POSITIVE", "X_NEGATIVE_Y_POSITIVE_Z_NEGATIVE", "X_NEGATIVE_Y_POSITIVE_Z_POSITIVE", "X_POSITIVE_Y_NEGATIVE_Z_NEGATIVE", "X_POSITIVE_Y_NEGATIVE_Z_POSITIVE", "X_POSITIVE_Y_POSITIVE_Z_NEGATIVE", "X_POSITIVE_Y_POSITIVE_Z_POSITIVE" ]
          }
        }
      },
      "Reporting.TopViewPredefinedCameraSettings" : {
        "required" : [ "directionSpecifier", "projectionType", "settingType" ],
        "type" : "object",
        "properties" : {
          "settingType" : {
            "type" : "string",
            "default" : "TOP_VIEW"
          },
          "projectionType" : {
            "$ref" : "#/components/schemas/Reporting.ProjectionType"
          },
          "directionSpecifier" : {
            "type" : "string",
            "enum" : [ "X_NEGATIVE", "X_POSITIVE", "Y_NEGATIVE", "Y_POSITIVE", "Z_NEGATIVE", "Z_POSITIVE" ]
          }
        }
      },
      "Reporting.Vector3D" : {
        "required" : [ "x", "y", "z" ],
        "type" : "object",
        "properties" : {
          "x" : {
            "type" : "number"
          },
          "y" : {
            "type" : "number"
          },
          "z" : {
            "type" : "number"
          }
        }
      },
      "Reporting.ProjectionType" : {
        "type" : "string",
        "enum" : [ "ORTHOGONAL", "PERSPECTIVE" ]
      },
      "Reporting.Opacity" : {
        "maximum" : 1.0,
        "exclusiveMaximum" : false,
        "minimum" : 0.0,
        "exclusiveMinimum" : false,
        "type" : "number",
        "format" : "double"
      },
      "Reporting.DownloadInfo" : {
        "type" : "object",
        "properties" : {
          "format" : {
            "type" : "string",
            "description" : "The result format.",
            "readOnly" : true
          },
          "uncompressedSizeInBytes" : {
            "type" : "integer",
            "description" : "The uncompressed size of the report result content.",
            "format" : "int64",
            "readOnly" : true
          },
          "url" : {
            "type" : "string",
            "description" : "URL for downloading the report result content.",
            "format" : "uri",
            "readOnly" : true
          },
          "compression" : {
            "type" : "string",
            "description" : "The compression used for the report result download archive.",
            "readOnly" : true,
            "enum" : [ "NONE", "ZIP64" ]
          }
        }
      },
      "Reporting.ReportResponse" : {
        "required" : [ "createdAt", "name", "reportId", "status" ],
        "type" : "object",
        "properties" : {
          "reportId" : {
            "type" : "string",
            "description" : "The ID of the report.",
            "format" : "uuid",
            "readOnly" : true
          },
          "name" : {
            "type" : "string",
            "description" : "The name of the report."
          },
          "description" : {
            "type" : "string",
            "description" : "The description of the report."
          },
          "createdAt" : {
            "type" : "string",
            "description" : "The time the report was created.",
            "format" : "date-time",
            "readOnly" : true
          },
          "startedAt" : {
            "type" : "string",
            "description" : "The time the report was started.",
            "format" : "date-time",
            "readOnly" : true
          },
          "finishedAt" : {
            "type" : "string",
            "description" : "The time the report was finished.",
            "format" : "date-time",
            "readOnly" : true
          },
          "status" : {
            "type" : "string",
            "description" : "Status of the report operation.",
            "readOnly" : true,
            "enum" : [ "READY", "QUEUED", "RUNNING", "FINISHED", "CANCELED", "FAILED" ]
          },
          "resultIds" : {
            "type" : "array",
            "description" : "The resultIds the report has been created for.",
            "items" : {
              "type" : "string",
              "format" : "uuid"
            }
          },
          "reportProperties" : {
            "$ref" : "#/components/schemas/Reporting.ReportPropertiesPublic"
          },
          "reportFromStateProperties" : {
            "$ref" : "#/components/schemas/Reporting.ReportFromStateProperties"
          },
          "download" : {
            "$ref" : "#/components/schemas/Reporting.DownloadInfo"
          },
          "statisticsResult" : {
            "type" : "object",
            "additionalProperties" : {
              "$ref" : "#/components/schemas/Reporting.StatisticsResultEntry"
            },
            "description" : "Result of a STATISTICS report. Contains one entry per requested part identifier, part group identifier, or cutting plane identifier, each mapping to a StatisticsResultEntry. Null entries indicate that the part or plane was not found in the model.\n",
            "readOnly" : true
          },
          "minMaxResult" : {
            "$ref" : "#/components/schemas/Reporting.GlobalMinMaxResult"
          },
          "failureReason" : {
            "required" : [ "severity code message" ],
            "type" : "object",
            "properties" : {
              "severity" : {
                "type" : "string",
                "readOnly" : true,
                "enum" : [ "INFO", "SUCCESS", "WARNING", "ERROR" ]
              },
              "code" : {
                "type" : "string",
                "description" : "Code for e.g. programmatic handling of error conditions.",
                "readOnly" : true
              },
              "message" : {
                "type" : "string",
                "description" : "Human-readable description of the entry.",
                "readOnly" : true
              },
              "details" : {
                "type" : "object",
                "additionalProperties" : true,
                "description" : "Additional data to interpret and handle the entry.",
                "readOnly" : true
              }
            }
          }
        }
      },
      "Reporting.InternalReportResponse" : {
        "type" : "object",
        "properties" : {
          "reportProperties" : {
            "$ref" : "#/components/schemas/Reporting.ReportProperties"
          },
          "reportFromStateProperties" : {
            "$ref" : "#/components/schemas/Reporting.ReportFromStateProperties"
          }
        },
        "description" : "Report properties as returned by the internal report endpoint that postproc-result-query reads. Its reportProperties uses the full ReportProperties, including the server-resolved resolution hints (cadAssociations, topologyLabelByName) that the public ReportResponse omits. Only the fields the batch job needs are exposed here; the public-facing report fields (status, download, statisticsResult, ...) live on ReportResponse.\n"
      },
      "Postprocessing.StateResponse" : {
        "required" : [ "stateUuid" ],
        "type" : "object",
        "properties" : {
          "stateUuid" : {
            "type" : "string",
            "description" : "The unique identifier for the state (default, manually or automatically saved).",
            "format" : "uuid"
          },
          "stateName" : {
            "type" : "string",
            "description" : "State name, as provided in the workbench."
          },
          "stateDescription" : {
            "type" : "string",
            "description" : "Description of the state, as provided in the workbench."
          },
          "screenshotOutputSettings" : {
            "$ref" : "#/components/schemas/Postprocessing.StateScreenshotOutputSettings"
          },
          "animationOutputSettings" : {
            "$ref" : "#/components/schemas/Postprocessing.OneOfStateAnimationOutputSettings"
          }
        }
      },
      "Postprocessing.OneOfStateAnimationOutputSettings" : {
        "discriminator" : {
          "propertyName" : "type",
          "mapping" : {
            "TIME_STEP" : "#/components/schemas/Postprocessing.StateTimeStepAnimationOutputSettings",
            "PARTICLE_TRACE" : "#/components/schemas/Postprocessing.StateParticleTraceAnimationOutputSettings",
            "SHAPE" : "#/components/schemas/Postprocessing.StateShapeAnimationOutputSettings"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Postprocessing.StateTimeStepAnimationOutputSettings"
        }, {
          "$ref" : "#/components/schemas/Postprocessing.StateParticleTraceAnimationOutputSettings"
        }, {
          "$ref" : "#/components/schemas/Postprocessing.StateShapeAnimationOutputSettings"
        } ]
      },
      "Postprocessing.StateAnimationOutputSettings" : {
        "required" : [ "showLegend", "type" ],
        "type" : "object",
        "properties" : {
          "type" : {
            "type" : "string"
          },
          "showLegend" : {
            "type" : "boolean",
            "description" : "True if any scalarSettings entry in the state has legendVisibilityMode set to AUTO (1) or ALWAYS (2). False if all entries are set to NEVER (0) or no scalarSettings are present.\n"
          }
        }
      },
      "Postprocessing.StateTimeStepAnimationOutputSettings" : {
        "allOf" : [ {
          "$ref" : "#/components/schemas/Postprocessing.StateAnimationOutputSettings"
        }, {
          "required" : [ "fromFrameIndex", "skipFrames", "toFrameIndex", "type" ],
          "type" : "object",
          "properties" : {
            "type" : {
              "type" : "string",
              "default" : "TIME_STEP"
            },
            "fromFrameIndex" : {
              "minimum" : 0,
              "type" : "integer"
            },
            "toFrameIndex" : {
              "minimum" : 0,
              "type" : "integer",
              "description" : "Index of the last frame to include (inclusive)."
            },
            "skipFrames" : {
              "minimum" : 0,
              "type" : "integer"
            }
          }
        } ]
      },
      "Postprocessing.StateParticleTraceAnimationOutputSettings" : {
        "allOf" : [ {
          "$ref" : "#/components/schemas/Postprocessing.StateAnimationOutputSettings"
        }, {
          "required" : [ "frameIndex", "steps", "type" ],
          "type" : "object",
          "properties" : {
            "type" : {
              "type" : "string",
              "default" : "PARTICLE_TRACE"
            },
            "frameIndex" : {
              "minimum" : 0,
              "type" : "integer",
              "description" : "The frame (time step) at which to render the particle trace animation."
            },
            "steps" : {
              "maximum" : 1000,
              "minimum" : 1,
              "type" : "integer",
              "description" : "The number of steps to generate for the particle trace animation."
            }
          }
        } ]
      },
      "Postprocessing.StateShapeAnimationOutputSettings" : {
        "allOf" : [ {
          "$ref" : "#/components/schemas/Postprocessing.StateAnimationOutputSettings"
        }, {
          "required" : [ "frameIndex", "range", "steps", "type" ],
          "type" : "object",
          "properties" : {
            "type" : {
              "type" : "string",
              "default" : "SHAPE"
            },
            "frameIndex" : {
              "minimum" : 0,
              "type" : "integer",
              "description" : "Frame (or frequency) for which to create a mode shape animation."
            },
            "steps" : {
              "maximum" : 100,
              "minimum" : 1,
              "type" : "integer",
              "description" : "The number of steps to generate for the shape animation."
            },
            "range" : {
              "type" : "string",
              "description" : "How to deform the model for the animation. FULL (x0 -> +xmax -> x0 -> -xmax -> x0), HALF (x0 -> +xmax -> x0), QUARTER (x0 -> +xmax).\n",
              "enum" : [ "FULL", "HALF", "QUARTER" ]
            }
          }
        } ]
      },
      "Postprocessing.StateScreenshotOutputSettings" : {
        "required" : [ "frameIndex", "showLegend" ],
        "type" : "object",
        "properties" : {
          "showLegend" : {
            "type" : "boolean",
            "description" : "True if any scalarSettings entry in the state has legendVisibilityMode set to AUTO (1) or ALWAYS (2). False if all entries are set to NEVER (0) or no scalarSettings are present.\n"
          },
          "frameIndex" : {
            "type" : "integer",
            "description" : "The frame index from the state."
          }
        }
      },
      "Material.CreateMaterialGroupRequest" : {
        "required" : [ "name" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "maxLength" : 40,
            "minLength" : 1,
            "type" : "string",
            "description" : "The name of the material group."
          },
          "metadata" : {
            "type" : "object"
          },
          "teamGroupId" : {
            "type" : "integer",
            "description" : "The material group will be assigned to this team group id. This field can only be used by support group members."
          }
        }
      },
      "Material.CreateNestedMaterialGroupRequest" : {
        "required" : [ "name" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "maxLength" : 40,
            "minLength" : 1,
            "type" : "string",
            "description" : "The name of the material group."
          },
          "metadata" : {
            "type" : "object"
          }
        }
      },
      "Material.UpdateMaterialGroupRequest" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "maxLength" : 40,
            "minLength" : 1,
            "type" : "string",
            "description" : "The name of the material group."
          },
          "metadata" : {
            "type" : "object"
          }
        }
      },
      "Material.CreateMaterialRequest" : {
        "required" : [ "name", "properties" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "pattern" : "^(?!\\s*$).+",
            "type" : "string",
            "description" : "The material name."
          },
          "metadata" : {
            "type" : "object"
          },
          "properties" : {
            "$ref" : "#/components/schemas/Material.MaterialProperties"
          }
        }
      },
      "Material.MaterialResponse" : {
        "required" : [ "createdAt", "id", "materialGroupId", "modifiedAt", "name" ],
        "type" : "object",
        "properties" : {
          "id" : {
            "type" : "string",
            "description" : "The material unique identifier.",
            "readOnly" : true
          },
          "materialGroupId" : {
            "type" : "string",
            "description" : "The material group unique identifier.",
            "readOnly" : true
          },
          "name" : {
            "type" : "string",
            "description" : "The material name."
          },
          "createdAt" : {
            "type" : "string",
            "description" : "The time the material was created.",
            "format" : "date-time",
            "readOnly" : true
          },
          "modifiedAt" : {
            "type" : "string",
            "description" : "The time the material was modified.",
            "format" : "date-time",
            "readOnly" : true
          },
          "properties" : {
            "$ref" : "#/components/schemas/Material.MaterialProperties"
          },
          "metadata" : {
            "type" : "object"
          }
        }
      },
      "Material.MaterialGroupResponse" : {
        "required" : [ "createdAt", "materialGroupId", "modifiedAt", "name" ],
        "type" : "object",
        "properties" : {
          "materialGroupId" : {
            "type" : "string",
            "description" : "The ID of the material group.",
            "readOnly" : true
          },
          "parentId" : {
            "type" : "string",
            "description" : "The ID of parent of the material group.",
            "readOnly" : true
          },
          "name" : {
            "type" : "string",
            "description" : "The name of the material group."
          },
          "groupType" : {
            "$ref" : "#/components/schemas/Material.MaterialGroupType"
          },
          "createdAt" : {
            "type" : "string",
            "description" : "The time the material group was created.",
            "format" : "date-time",
            "readOnly" : true
          },
          "modifiedAt" : {
            "type" : "string",
            "description" : "The time the material group was modified.",
            "format" : "date-time",
            "readOnly" : true
          },
          "metadata" : {
            "type" : "object",
            "description" : "Material group metadata.",
            "readOnly" : true
          }
        }
      },
      "Material.MaterialProperties" : {
        "minProperties" : 1,
        "type" : "object",
        "additionalProperties" : {
          "$ref" : "#/components/schemas/Material.OneOfMaterialProperty"
        },
        "description" : "The material properties.",
        "x-constraints" : "@ConsistentParameterKeys"
      },
      "Material.OneOfMaterialProperty" : {
        "discriminator" : {
          "propertyName" : "valueType",
          "mapping" : {
            "fixed" : "#/components/schemas/Material.FixedMaterialProperty",
            "parametric" : "#/components/schemas/Material.ParametricMaterialProperty"
          }
        },
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Material.FixedMaterialProperty"
        }, {
          "$ref" : "#/components/schemas/Material.ParametricMaterialProperty"
        } ]
      },
      "Material.FixedMaterialProperty" : {
        "required" : [ "value", "valueType" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "The material property name"
          },
          "label" : {
            "type" : "string",
            "description" : "The material property label to support internationalization. The content of this field is a i18n key. If this field is not present, the name field can be used as a fallback for English language."
          },
          "unit" : {
            "type" : "string",
            "description" : "The material property unit"
          },
          "valueType" : {
            "type" : "string",
            "default" : "fixed"
          },
          "dataType" : {
            "$ref" : "#/components/schemas/Material.PropertyDataType"
          },
          "value" : {
            "description" : "The property value"
          }
        },
        "description" : "A material property that has a fixed (constant) value."
      },
      "Material.ParametricMaterialProperty" : {
        "required" : [ "parameters", "valueType" ],
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string",
            "description" : "The material property name"
          },
          "label" : {
            "type" : "string",
            "description" : "The material property label to support internationalization. The content of this field is a i18n key. If this field is not present, the name field can be used as a fallback for English language."
          },
          "unit" : {
            "type" : "string",
            "description" : "The material property unit"
          },
          "valueType" : {
            "type" : "string",
            "default" : "parametric"
          },
          "dataType" : {
            "$ref" : "#/components/schemas/Material.PropertyDataType"
          },
          "parameters" : {
            "minItems" : 1,
            "type" : "array",
            "description" : "Parameter properties of the material",
            "items" : {
              "$ref" : "#/components/schemas/Material.MaterialPropertyParameter"
            }
          },
          "parametricValues" : {
            "minItems" : 1,
            "type" : "array",
            "items" : {
              "type" : "object",
              "properties" : {
                "value" : {
                  "description" : "The parametric value"
                }
              },
              "additionalProperties" : {
                "description" : "The parameter value"
              }
            }
          }
        },
        "description" : "A material property containing a set of parametric values."
      },
      "Material.MaterialPropertyParameter" : {
        "required" : [ "key" ],
        "type" : "object",
        "properties" : {
          "key" : {
            "type" : "string",
            "description" : "The unique identifier of the parameter, meaningful from the physics/business perspective"
          },
          "name" : {
            "type" : "string",
            "description" : "Optional user facing name or label key for human identification"
          },
          "unit" : {
            "type" : "string",
            "description" : "The parameter unit"
          }
        }
      },
      "Material.PropertyDataType" : {
        "type" : "string",
        "description" : "The data type of the property value field (can be either numeric or string)",
        "enum" : [ "numeric", "string" ]
      },
      "Material.MaterialGroupType" : {
        "type" : "string",
        "description" : "Indicates the owner of the material group. Default groups are provided and managed by SimScale. Custom groups can belong to a user or to a company/team.",
        "readOnly" : true,
        "enum" : [ "SIMSCALE_DEFAULT", "USER_CUSTOM", "COMPANY_CUSTOM" ]
      },
      "Material.PermissionDto" : {
        "type" : "string",
        "enum" : [ "READ", "WRITE", "ADMIN" ]
      },
      "Cad.CreateCylinderV3Parameters" : {
        "required" : [ "method" ],
        "type" : "object",
        "properties" : {
          "method" : {
            "$ref" : "#/components/schemas/Cad.CreateCylinderGroupParameter"
          }
        },
        "example" : {
          "method" : {
            "selected" : "create-cylinder-from-definition",
            "cylinder" : {
              "center" : {
                "X" : 0.0,
                "Y" : 0.0,
                "Z" : 10.0
              },
              "axis" : {
                "X" : 0.0,
                "Y" : 0.0,
                "Z" : 1.0
              },
              "radius" : 35.0,
              "height" : 27.5,
              "unit" : "mm"
            }
          }
        }
      },
      "Cad.FacetSplitBodiesParameters" : {
        "required" : [ "angle" ],
        "type" : "object",
        "properties" : {
          "angle" : {
            "maximum" : 180,
            "minimum" : 0,
            "type" : "number",
            "description" : "Maximum split angle, in degrees.",
            "format" : "double"
          },
          "occurrences" : {
            "type" : "array",
            "description" : "List of solid regions and/or sheet bodies.",
            "items" : {
              "type" : "string"
            }
          }
        },
        "example" : {
          "angle" : 30.0,
          "occurrences" : [ "B1_TE5", "B2" ]
        }
      },
      "Cad.FindSmallGapsParameters" : {
        "required" : [ "maximum_distance" ],
        "type" : "object",
        "properties" : {
          "maximum_distance" : {
            "$ref" : "#/components/schemas/Cad.Length"
          }
        },
        "example" : "{\"maximum_distance\": {\"value\": 0.0001, \"unit\": \"m\"}"
      },
      "Cad.MoveFacesParameters" : {
        "required" : [ "move_method" ],
        "type" : "object",
        "properties" : {
          "faces" : {
            "type" : "array",
            "description" : "List of faces.",
            "items" : {
              "type" : "string"
            }
          },
          "move_method" : {
            "$ref" : "#/components/schemas/Cad.MoveFacesGroupParameter"
          }
        },
        "example" : {
          "faces" : [ "B2_TE524", "B2_TE523" ],
          "move_method" : {
            "selected" : "move_faces_mode_distance",
            "move_distance" : {
              "value" : -0.4,
              "unit" : "m"
            }
          }
        }
      },
      "Cad.TranslateBodiesParameters" : {
        "required" : [ "copy_bodies", "translation_method" ],
        "type" : "object",
        "properties" : {
          "occurrences" : {
            "type" : "array",
            "description" : "List of solid regions and/or sheet bodies.",
            "items" : {
              "type" : "string"
            }
          },
          "translation_method" : {
            "$ref" : "#/components/schemas/Cad.TranslateGroupParameter"
          },
          "copy_bodies" : {
            "type" : "boolean",
            "description" : "If true, the operation creates new bodies instead of modifying the selected ones; if false, the selected bodies are modified in place."
          }
        },
        "example" : {
          "targets" : [ "B1_TE5" ],
          "tools" : [ "B2_TE5", "B3_TE5" ],
          "keep_tools" : "discard"
        }
      },
      "Cad.DeleteFaceV2Parameters" : {
        "required" : [ "heal_action" ],
        "type" : "object",
        "properties" : {
          "faces" : {
            "type" : "array",
            "description" : "List of faces.",
            "items" : {
              "type" : "string"
            }
          },
          "heal_action" : {
            "type" : "string",
            "description" : "The available healing actions are:\n- `cap`: to replace deleted faces with a new face,\n- `shrink`: to close (shrink away) the hole left by the deleted face by extending the neighboring faces to cover it,\n- `no`: to simply removes the faces, thus potentially converting solid bodies into sheet bodies.\n",
            "enum" : [ "cap", "shrink", "no" ]
          }
        },
        "example" : {
          "faces" : [ "B1_TE30", "B4_TE9" ],
          "heal_action" : "cap"
        }
      },
      "Cad.UnionBodiesParameters" : {
        "type" : "object",
        "properties" : {
          "occurrences" : {
            "type" : "array",
            "description" : "List of solid regions and/or sheet bodies.",
            "items" : {
              "type" : "string"
            }
          }
        },
        "example" : {
          "occurrences" : [ "B1_TE5", "B2" ]
        }
      },
      "Cad.SimplifyParameters" : {
        "required" : [ "primitive", "replace_each" ],
        "type" : "object",
        "properties" : {
          "occurrences" : {
            "type" : "array",
            "description" : "List of solid regions and/or sheet bodies.",
            "items" : {
              "type" : "string"
            }
          },
          "primitive" : {
            "type" : "string",
            "description" : "Type of body used in the simplification. It can be either: `box`, or `cylinder`.",
            "enum" : [ "box", "cylinder" ]
          },
          "replace_each" : {
            "type" : "boolean",
            "description" : "Controls the result. If `true`, each body will be replaced singularly; otherwise all bodies will be replaced by a single primitive."
          }
        },
        "example" : {
          "occurrences" : [ "B1_TE5", "B2" ],
          "primitive" : "box",
          "replace_each" : false
        }
      },
      "Cad.MeasureEntitiesResponse" : {
        "type" : "object",
        "properties" : {
          "message" : {
            "type" : "string",
            "description" : "Message describing the measure."
          },
          "measured" : {
            "type" : "array",
            "description" : "Measure results.",
            "items" : {
              "$ref" : "#/components/schemas/Cad.MeasuredValue"
            }
          }
        }
      },
      "Cad.Vector" : {
        "required" : [ "X", "Y", "Z" ],
        "type" : "object",
        "properties" : {
          "X" : {
            "type" : "number",
            "description" : "X",
            "format" : "double"
          },
          "Y" : {
            "type" : "number",
            "description" : "Y",
            "format" : "double"
          },
          "Z" : {
            "type" : "number",
            "description" : "Z",
            "format" : "double"
          }
        },
        "description" : "3D vector."
      },
      "Cad.CloseSheetV2Parameters" : {
        "required" : [ "heal_option" ],
        "type" : "object",
        "properties" : {
          "occurrences" : {
            "type" : "array",
            "description" : "List of sheet bodies.",
            "items" : {
              "type" : "string"
            }
          },
          "heal_option" : {
            "type" : "string",
            "description" : "The `cap` healing option creates a surface to cover the existing holes.\nThe `grow_from_child` healing option extends the faces around the holes in order to create a patch.\n",
            "enum" : [ "cap", "grow_from_child" ]
          }
        },
        "example" : {
          "occurrences" : [ "B1", "B4" ],
          "heal_option" : "cap"
        }
      },
      "Cad.BoxWithUnit" : {
        "required" : [ "box", "unit" ],
        "type" : "object",
        "properties" : {
          "box" : {
            "$ref" : "#/components/schemas/Cad.Box"
          },
          "unit" : {
            "type" : "string",
            "description" : "Unit of measurement.",
            "enum" : [ "m", "cm", "mm", "yd", "ft", "in" ]
          }
        },
        "description" : "Axis-aligned box with unit."
      },
      "Cad.FacePairs" : {
        "required" : [ "distance", "target", "tool" ],
        "type" : "object",
        "properties" : {
          "target" : {
            "type" : "string",
            "description" : "Internal name of the face."
          },
          "tool" : {
            "type" : "string",
            "description" : "Internal name of the face."
          },
          "distance" : {
            "$ref" : "#/components/schemas/Cad.Length"
          }
        }
      },
      "Cad.RotateBodiesParameters" : {
        "required" : [ "angle", "axis", "copy_bodies" ],
        "type" : "object",
        "properties" : {
          "occurrences" : {
            "type" : "array",
            "description" : "List of solid regions and/or sheet bodies.",
            "items" : {
              "type" : "string"
            }
          },
          "axis" : {
            "$ref" : "#/components/schemas/Cad.Axis"
          },
          "angle" : {
            "type" : "number",
            "description" : "Angle or rotation in degrees.",
            "format" : "double"
          },
          "copy_bodies" : {
            "type" : "boolean",
            "description" : "If true, the operation creates new bodies instead of modifying the selected ones; if false, the selected bodies are modified in place."
          }
        },
        "example" : {
          "occurrences" : [ "B1_TE5", "B2" ],
          "axis" : {
            "value" : {
              "X" : 0.0,
              "Y" : 1.0,
              "Z" : 0.0
            }
          },
          "angle" : 45.0,
          "copy_bodies" : false
        }
      },
      "Cad.CadQueryRequest" : {
        "required" : [ "query" ],
        "type" : "object",
        "properties" : {
          "query" : {
            "type" : "string",
            "description" : "Available query types:\n  - `detect-contacts-v3`: Identify contacts between solid regions. Supported internal formats: `PARASOLID`.\n  - `find_interfering_bodies`: Find all interfering solid regions. Supported internal formats: `PARASOLID`.\n  - `find_small_gaps`: Identify all gaps between solid regions that do not exceed the specified maximum gap distance. Supported internal formats: `PARASOLID`.\n  - `measure-entities`: Calculate the measurements of the given entities. Supported internal formats: `PARASOLID`.\n",
            "enum" : [ "detect-contacts-v3", "find_interfering_bodies", "find_small_gaps", "measure-entities" ]
          },
          "parameters" : {
            "$ref" : "#/components/schemas/Cad.QueryParameters"
          }
        }
      },
      "Cad.Plane" : {
        "required" : [ "normal", "point", "unit" ],
        "type" : "object",
        "properties" : {
          "point" : {
            "$ref" : "#/components/schemas/Cad.Vector"
          },
          "normal" : {
            "$ref" : "#/components/schemas/Cad.Vector"
          },
          "unit" : {
            "type" : "string",
            "description" : "Unit of measurement.",
            "enum" : [ "m", "cm", "mm", "yd", "ft", "in" ]
          }
        },
        "description" : "Plane with unit."
      },
      "Cad.Interference" : {
        "required" : [ "target", "tool" ],
        "type" : "object",
        "properties" : {
          "target" : {
            "type" : "string",
            "description" : "Internal name of the solid region."
          },
          "tool" : {
            "type" : "string",
            "description" : "Internal name of the solid region."
          }
        }
      },
      "Cad.CreateBoxParameters" : {
        "required" : [ "method" ],
        "type" : "object",
        "properties" : {
          "method" : {
            "$ref" : "#/components/schemas/Cad.CreateBoxMethod"
          }
        },
        "example" : {
          "method" : {
            "selected" : "create-box-from-definition",
            "box" : {
              "box" : {
                "minX" : 0.0,
                "minY" : 0.0,
                "minZ" : 0.0,
                "maxX" : 1.0,
                "maxY" : 1.0,
                "maxZ" : 1.0
              },
              "unit" : "m"
            }
          }
        }
      },
      "Cad.Box" : {
        "required" : [ "maxX", "maxY", "maxZ", "minX", "minY", "minZ" ],
        "type" : "object",
        "properties" : {
          "minX" : {
            "type" : "number",
            "description" : "Min x",
            "format" : "double"
          },
          "minY" : {
            "type" : "number",
            "description" : "Min y",
            "format" : "double"
          },
          "minZ" : {
            "type" : "number",
            "description" : "Min z",
            "format" : "double"
          },
          "maxX" : {
            "type" : "number",
            "description" : "Max x",
            "format" : "double"
          },
          "maxY" : {
            "type" : "number",
            "description" : "Max y",
            "format" : "double"
          },
          "maxZ" : {
            "type" : "number",
            "description" : "Max z",
            "format" : "double"
          }
        },
        "description" : "Axis-aligned box."
      },
      "Cad.FindInterferingBodiesResponse" : {
        "required" : [ "body_pairs" ],
        "type" : "object",
        "properties" : {
          "body_pairs" : {
            "type" : "array",
            "description" : "List of overlapping solid regions' pairs.",
            "items" : {
              "$ref" : "#/components/schemas/Cad.Interference"
            }
          }
        },
        "example" : {
          "body_pairs" : [ {
            "target" : "B1_TE5",
            "tool" : "B2_TE5"
          } ]
        }
      },
      "Cad.CadQueryResult" : {
        "type" : "object",
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Cad.DetectContactsV3Response"
        }, {
          "$ref" : "#/components/schemas/Cad.FindInterferingBodiesResponse"
        }, {
          "$ref" : "#/components/schemas/Cad.FindSmallGapsResponse"
        }, {
          "$ref" : "#/components/schemas/Cad.MeasureEntitiesResponse"
        } ]
      },
      "Cad.ExtrudeByParameter" : {
        "required" : [ "selected" ],
        "type" : "object",
        "properties" : {
          "selected" : {
            "type" : "string",
            "description" : "Defines the parameter set used to define the extrusion. It can be either:\n- `extrude_faces_mode_distance`, in which case the extrusion distance will be provided, or\n- `extrude_faces_mode_to_entity`, in which case the extrusion distance will be computed based on the provided face.\n",
            "enum" : [ "extrude_faces_mode_distance", "extrude_faces_mode_to_entity" ]
          },
          "extrude_distance" : {
            "$ref" : "#/components/schemas/Cad.Length"
          },
          "extrude_up_to_face" : {
            "type" : "string",
            "description" : "Face limiting the extrusion."
          }
        }
      },
      "Cad.DeleteOccurrencesParameters" : {
        "type" : "object",
        "properties" : {
          "occurrences" : {
            "type" : "array",
            "description" : "List of solid regions and/or sheet bodies.",
            "items" : {
              "type" : "string"
            }
          }
        },
        "example" : {
          "occurrences" : [ "B1", "B4" ]
        }
      },
      "Cad.MeasureEntitiesParameters" : {
        "required" : [ "entities", "unit" ],
        "type" : "object",
        "properties" : {
          "unit" : {
            "type" : "string",
            "description" : "Unit of measurement.",
            "enum" : [ "m", "cm", "mm", "yd", "ft", "in" ]
          },
          "entities" : {
            "type" : "array",
            "description" : "List of topological entities.",
            "items" : {
              "type" : "string"
            }
          }
        },
        "example" : {
          "entities" : [ "B1_TE9" ],
          "unit" : "m"
        }
      },
      "Cad.MeasuredValue" : {
        "required" : [ "description", "unit" ],
        "type" : "object",
        "properties" : {
          "description" : {
            "type" : "string",
            "description" : "Information on the result of the measurement."
          },
          "unit" : {
            "type" : "string",
            "description" : "Unit of measurement."
          },
          "value" : {
            "type" : "number",
            "description" : "Value of the measurement in the correct unit.",
            "format" : "double"
          },
          "vectorValue" : {
            "$ref" : "#/components/schemas/Cad.Vector"
          },
          "hintLine" : {
            "$ref" : "#/components/schemas/Cad.PointPair"
          }
        }
      },
      "Cad.DetectContactsV3Response" : {
        "required" : [ "regionContacts" ],
        "type" : "object",
        "properties" : {
          "regionContacts" : {
            "type" : "array",
            "description" : "List of solid regions in contact with each other.",
            "items" : {
              "$ref" : "#/components/schemas/Cad.RegionContact"
            }
          }
        },
        "example" : {
          "regionContacts" : [ {
            "regionA" : "B1_TE5",
            "regionB" : "B2_TE5",
            "faceContacts" : [ {
              "faceA" : "B1_TE9",
              "faceB" : "B2_TE33",
              "contactType" : "PERFECT_FULL"
            } ]
          } ]
        }
      },
      "Cad.DetectContactsV3Parameters" : {
        "type" : "object",
        "description" : "Detect contacts query does not require any parameter.",
        "example" : { }
      },
      "Cad.CreateCylinderGroupParameter" : {
        "required" : [ "selected" ],
        "type" : "object",
        "properties" : {
          "selected" : {
            "type" : "string",
            "description" : "Defines how the cylinder should be created. It can be either:\n- `create-cylinder-from-definition`, in which case the `cylinder` parameter needs to be defined, including center, axis, radius, and height, or\n- `create-cylinder-from-faces`, in which case the `faces` parameter needs to be defined. The cylinder will be fitted to enclose only those selected faces, with optional `radial_clearance_factor` and `height_clearance_factor` scale factors to adjust the fit.\n",
            "enum" : [ "create-cylinder-from-definition", "create-cylinder-from-faces" ]
          },
          "faces" : {
            "type" : "array",
            "description" : "List of faces used to fit the cylinder. This parameter is only valid for `create-cylinder-from-faces` mode.",
            "items" : {
              "type" : "string"
            }
          },
          "radial_clearance_factor" : {
            "type" : "number",
            "description" : "Optional scale factor applied to the fitted cylinder radius. If omitted, the radius fits the selected faces. This parameter is only valid for `create-cylinder-from-faces` mode.",
            "format" : "double"
          },
          "height_clearance_factor" : {
            "type" : "number",
            "description" : "Optional scale factor applied to the fitted cylinder height. If omitted, the height fits the selected faces. This parameter is only valid for `create-cylinder-from-faces` mode.",
            "format" : "double"
          },
          "cylinder" : {
            "$ref" : "#/components/schemas/Cad.Cylinder"
          }
        }
      },
      "Cad.SplitBodiesParameters" : {
        "required" : [ "keep_both", "plane" ],
        "type" : "object",
        "properties" : {
          "plane" : {
            "$ref" : "#/components/schemas/Cad.Plane"
          },
          "keep_both" : {
            "type" : "boolean",
            "description" : "Controls the split. If `true`, both sides of the bodies are kept; otherwise, only the side facing the normal is retained."
          },
          "occurrences" : {
            "type" : "array",
            "description" : "List of solid regions and/or sheet bodies.",
            "items" : {
              "type" : "string"
            }
          }
        },
        "example" : {
          "plane" : {
            "point" : {
              "X" : 2.65,
              "Y" : 0.0,
              "Z" : 3.403030303
            },
            "normal" : {
              "X" : 0.0,
              "Y" : 0.0,
              "Z" : 1.0
            },
            "unit" : "m"
          },
          "keep_both" : false,
          "occurrences" : [ "B1_TE5", "B2" ]
        }
      },
      "Cad.VectorWithUnit" : {
        "required" : [ "unit", "value" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "$ref" : "#/components/schemas/Cad.Vector"
          },
          "unit" : {
            "type" : "string",
            "description" : "Unit of measurement.",
            "enum" : [ "m", "cm", "mm", "yd", "ft", "in" ]
          }
        },
        "description" : "3D vector with unit."
      },
      "Cad.ExtrudeFacesParameters" : {
        "required" : [ "extrude_by", "extrude_method" ],
        "type" : "object",
        "properties" : {
          "faces" : {
            "type" : "array",
            "description" : "List of faces.",
            "items" : {
              "type" : "string"
            }
          },
          "extrude_method" : {
            "type" : "string",
            "description" : "The available extrude methods are:\n- `merge`: to merge the extrusion back to the original body,\n- `remove`: to extrude in the negative normal direction and subtract the result from the original body,\n- `add_new`: to save the extrusion as a new body in the CAD.\n",
            "enum" : [ "merge", "remove", "add_new" ]
          },
          "extrude_by" : {
            "$ref" : "#/components/schemas/Cad.ExtrudeByParameter"
          }
        },
        "example" : {
          "faces" : [ "B2_TE524", "B2_TE523" ],
          "extrude_method" : "add_new",
          "extrude_by" : {
            "selected" : "extrude_faces_mode_distance",
            "extrude_distance" : {
              "value" : -0.4,
              "unit" : "m"
            }
          }
        }
      },
      "Cad.TranslateGroupParameter" : {
        "required" : [ "selected" ],
        "type" : "object",
        "properties" : {
          "selected" : {
            "type" : "string",
            "description" : "Defines how the translation is specified. It can be either:\n- `translate_vector`, in which case the translation distance and direction will be provided, or\n- `translate_to_entity`, in which case the translation distance and direction will be computed based on the provided face.\n",
            "enum" : [ "translate_to_entity", "translate_vector" ]
          },
          "translation_vector" : {
            "$ref" : "#/components/schemas/Cad.VectorWithUnit"
          },
          "translation_face" : {
            "type" : "string",
            "description" : "Face limiting the translation."
          }
        },
        "description" : "Translation method."
      },
      "Cad.FlowVolumeExtractionInternalParameters" : {
        "type" : "object",
        "properties" : {
          "seed_face" : {
            "type" : "string",
            "description" : "Seed face indicating an area adjacent to the flow."
          },
          "boundary_faces" : {
            "type" : "array",
            "description" : "List of faces representing the boundary of the internal flow region. Boundary faces are needed in case the internal flow is not bounded by the geometry.",
            "items" : {
              "type" : "string"
            }
          },
          "excluded_parts" : {
            "type" : "array",
            "description" : "List of solid regions and/or sheet bodies to exclude from the flow volume.",
            "items" : {
              "type" : "string"
            }
          }
        },
        "example" : {
          "seed_face" : "B1_TE11",
          "boundary_faces" : [ "B1_TE13", "B1_TE4" ]
        }
      },
      "Cad.SubtractBodiesParameters" : {
        "required" : [ "keep_tools" ],
        "type" : "object",
        "properties" : {
          "targets" : {
            "type" : "array",
            "description" : "List of target solid regions and/or sheet bodies.",
            "items" : {
              "type" : "string"
            }
          },
          "tools" : {
            "type" : "array",
            "description" : "List of tool solid regions and/or sheet bodies.",
            "items" : {
              "type" : "string"
            }
          },
          "keep_tools" : {
            "type" : "string",
            "description" : "Controls whether the tool bodies are retained after the subtraction. If `keep`, the tool bodies are kept alongside the resulting target bodies; if `discard`, the tool bodies are removed and only the resulting target bodies are retained.",
            "enum" : [ "keep", "discard" ]
          }
        },
        "example" : {
          "targets" : [ "B1_TE5" ],
          "tools" : [ "B2_TE5", "B3_TE5" ],
          "keep_tools" : "discard"
        }
      },
      "Cad.PointPair" : {
        "required" : [ "point1", "point2" ],
        "type" : "object",
        "properties" : {
          "point1" : {
            "$ref" : "#/components/schemas/Cad.Vector"
          },
          "point2" : {
            "$ref" : "#/components/schemas/Cad.Vector"
          }
        },
        "description" : "Hint line in meters to be used in the viewer."
      },
      "Cad.FindInterferingBodiesParameters" : {
        "type" : "object",
        "description" : "Find interfering bodies query does not require any parameter.",
        "example" : { }
      },
      "Cad.IntersectBodiesParameters" : {
        "type" : "object",
        "properties" : {
          "occurrences" : {
            "type" : "array",
            "description" : "List of solid regions and/or sheet bodies.",
            "items" : {
              "type" : "string"
            }
          }
        },
        "example" : {
          "occurrences" : [ "B1_TE5", "B2" ]
        }
      },
      "Cad.Axis" : {
        "type" : "object",
        "properties" : {
          "value" : {
            "$ref" : "#/components/schemas/Cad.Vector"
          }
        },
        "description" : "Axis of rotation."
      },
      "Cad.CadFeatureRequest" : {
        "required" : [ "feature", "parentFeatureId" ],
        "type" : "object",
        "properties" : {
          "feature" : {
            "type" : "string",
            "description" : "Available feature types:\n- `close_sheet_v2`: Close selected sheet bodies in order to create solid regions.\n- `create_box`: Create a box body from selected faces or from the given dimensions.\n- `create_cylinder_v3`: Create a cylindrical body from selected faces or from the given center, axis, radius and height.\n- `delete_face_v2`: Delete selected faces.\n- `delete_occurrences`: Delete selected sheet bodies or solid regions.\n- `extrude_faces`: Extrude selected faces for a given distance or up to a given entity.\n- `facet_split_bodies`: Create faces in the input sheet bodies and/or solid regions by defining edges based on the given split angle. This feature impacts only bodies with underlying triangulated geometry.\n- `fix_interferences`: Remove any interference between solid regions in the model. The interferences are removed by subtracting interfering parts from the larger solid region.\n- `flow_volume_create_caps`: Create a sheet body whose faces cover the holes defined by the given boundary faces. The operation is intended for defining the internal flow volume in the Immersed Boundary analysis.\n- `flow_volume_extraction_external`: Create a body that represents an external flow volume. The flow volume boundary is defined by the bounding box and the model itself. If the flow volume is disjoint, a seed face can be used to select one of the flow regions.\n- `flow_volume_extraction_internal`: Create a body that represents an internal flow volume. The flow spans from the seed face to the boundary faces. The boundary faces describe holes in the model that must be closed by the internal flow volume.\n- `imprint_bodies`: Create faces on the contact surface between two sheet bodies and/or solid regions. The shape of the new face will correspond to the profile of the part in contact.\n- `intersect_bodies`: Create a body by intersecting the selected sheet bodies and/or solid regions.\n- `move_faces`: Move selected faces for a given distance or up to a given entity. The operation modifies all adjacent faces accordingly.\n- `rotate_bodies`: Rotate selected sheet bodies and/or solid regions around an axis for a given angle.\n- `scale_bodies`: Scale selected sheet bodies and/or solid regions with a given scaling factor.\n- `simplify`: Replace selected sheet bodies and/or solid regions with a box or a cylinder.\n- `split_bodies`: Split selected sheet bodies and/or solid regions in two by a given plane.\n- `subtract_bodies`: Subtract selected tool sheet bodies and/or solid regions from target sheet bodies and/or solid regions.\n- `translate_bodies`: Translate selected sheet bodies and/or solid regions either in a given direction and for a selected distance, or up to a given entity.\n- `union_bodies`: Unite the selected sheet bodies and/or solid regions. The operation produces up to two resulting bodies: one sheet body and one solid body, since sheet bodies and solid bodies are merged independently.\n- `wrap_occurrences`: Create a solid body that wraps selected sheet bodies and/or solid regions.\n",
            "enum" : [ "close_sheet_v2", "create_box", "create_cylinder_v3", "delete_face_v2", "delete_occurrences", "extrude_faces", "facet_split_bodies", "fix_interferences", "flow_volume_create_caps", "flow_volume_extraction_external", "flow_volume_extraction_internal", "imprint_bodies", "improve_bodies", "intersect_bodies", "move_faces", "rotate_bodies", "scale_bodies", "simplify", "split_bodies", "subtract_bodies", "translate_bodies", "union_bodies", "wrap_occurrences" ]
          },
          "parameters" : {
            "$ref" : "#/components/schemas/Cad.FeatureParameters"
          }
        }
      },
      "Cad.FindSmallGapsResponse" : {
        "required" : [ "face_pairs" ],
        "type" : "object",
        "properties" : {
          "face_pairs" : {
            "type" : "array",
            "description" : "List of face pairs indicating a gap for the given tolerance.",
            "items" : {
              "$ref" : "#/components/schemas/Cad.FacePairs"
            }
          }
        },
        "example" : {
          "face_pairs" : [ {
            "target" : "B1_TE9",
            "tool" : "B1_TE30",
            "distance" : {
              "value" : 1.0E-5,
              "unit" : "m"
            }
          }, {
            "target" : "B1_TE9",
            "tool" : "B1_TE67",
            "distance" : {
              "value" : 5.0E-6,
              "unit" : "m"
            }
          } ]
        }
      },
      "Cad.RegionContact" : {
        "required" : [ "faceContacts", "regionA", "regionB" ],
        "type" : "object",
        "properties" : {
          "regionA" : {
            "type" : "string",
            "description" : "Internal name of the solid region."
          },
          "regionB" : {
            "type" : "string",
            "description" : "Internal name of the solid region."
          },
          "faceContacts" : {
            "type" : "array",
            "description" : "List of faces in contact.",
            "items" : {
              "$ref" : "#/components/schemas/Cad.FaceContact"
            }
          }
        }
      },
      "Cad.FeatureParameters" : {
        "title" : "FeatureParameters",
        "type" : "object",
        "description" : "Defines the parameters that configure the feature. The specific parameters available depend on the feature type.\n",
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Cad.CloseSheetV2Parameters"
        }, {
          "$ref" : "#/components/schemas/Cad.CreateBoxParameters"
        }, {
          "$ref" : "#/components/schemas/Cad.CreateCylinderV3Parameters"
        }, {
          "$ref" : "#/components/schemas/Cad.DeleteFaceV2Parameters"
        }, {
          "$ref" : "#/components/schemas/Cad.DeleteOccurrencesParameters"
        }, {
          "$ref" : "#/components/schemas/Cad.ExtrudeFacesParameters"
        }, {
          "$ref" : "#/components/schemas/Cad.FacetSplitBodiesParameters"
        }, {
          "$ref" : "#/components/schemas/Cad.FixInterferencesParameters"
        }, {
          "$ref" : "#/components/schemas/Cad.FlowVolumeExtractionExternalParameters"
        }, {
          "$ref" : "#/components/schemas/Cad.FlowVolumeExtractionInternalParameters"
        }, {
          "$ref" : "#/components/schemas/Cad.ImprintBodiesParameters"
        }, {
          "$ref" : "#/components/schemas/Cad.IntersectBodiesParameters"
        }, {
          "$ref" : "#/components/schemas/Cad.MoveFacesParameters"
        }, {
          "$ref" : "#/components/schemas/Cad.RotateBodiesParameters"
        }, {
          "$ref" : "#/components/schemas/Cad.ScaleBodiesParameters"
        }, {
          "$ref" : "#/components/schemas/Cad.SimplifyParameters"
        }, {
          "$ref" : "#/components/schemas/Cad.SplitBodiesParameters"
        }, {
          "$ref" : "#/components/schemas/Cad.SubtractBodiesParameters"
        }, {
          "$ref" : "#/components/schemas/Cad.TranslateBodiesParameters"
        }, {
          "$ref" : "#/components/schemas/Cad.UnionBodiesParameters"
        }, {
          "$ref" : "#/components/schemas/Cad.WrapOccurrencesParameters"
        } ]
      },
      "Cad.WrapOccurrencesParameters" : {
        "required" : [ "allow_tunnels", "cap_tunnels", "replace_each", "resolution", "tunnel_detection", "wrap_type" ],
        "type" : "object",
        "properties" : {
          "occurrences" : {
            "type" : "array",
            "description" : "List of solid regions and/or sheet bodies.",
            "items" : {
              "type" : "string"
            }
          },
          "wrap_type" : {
            "type" : "string",
            "description" : "Defines the behavior of the wrapper. It can be either:\n- `features` (shown in the UI as \"Snap to edges\"): to try to preserve the edges of the selected volumes, or\n- `outside` (shown in the UI as \"Fit to surface\"): to create a body closely fitted to the selected volumes.\n",
            "enum" : [ "features", "outside" ]
          },
          "resolution" : {
            "maximum" : 10,
            "minimum" : 1,
            "type" : "number",
            "description" : "Resolution of the wrapper, the higher the resolution, the closer the result would be to the selected volumes. Must be a whole number between 1 and 10.",
            "format" : "double"
          },
          "allow_tunnels" : {
            "type" : "boolean",
            "description" : "Defines the behavior with respect to tunnels in the selected bodies. If `true`, the wrapper will attempt to go through the tunnels."
          },
          "cap_tunnels" : {
            "type" : "boolean",
            "description" : "Defines the behavior with respect to tunnels in the selected bodies. If `true`, the wrapper will create patches to cover the tunnels."
          },
          "tunnel_detection" : {
            "$ref" : "#/components/schemas/Cad.WrapTunnelDetectionParameter"
          },
          "replace_each" : {
            "type" : "boolean",
            "description" : "Controls whether the selected occurrences are wrapped individually or merged into a single wrap body. In both cases, the original selected occurrences are removed and do not remain in the model alongside the result.\n- If `true`, each selected occurrence is wrapped separately and replaced 1:1 by its own wrap body.\n- If `false`, all selected occurrences are removed together and replaced by a single wrap body enclosing all of them.\n\nIf only one occurrence is selected, this parameter is ignored and treated as `true`.\n"
          }
        },
        "example" : {
          "occurrences" : [ "B4", "B3", "B2", "B1" ],
          "wrap_type" : "outside",
          "resolution" : 10.0,
          "allow_tunnels" : true,
          "cap_tunnels" : false,
          "tunnel_detection" : {
            "selected" : "wrap_surface_tunnel_detection_manual",
            "min_tunnel_diameter" : {
              "value" : 0.5,
              "unit" : "m"
            }
          },
          "replace_each" : false
        }
      },
      "Cad.ImprintBodiesParameters" : {
        "type" : "object",
        "properties" : {
          "occurrences" : {
            "type" : "array",
            "description" : "List of solid regions and/or sheet bodies.",
            "items" : {
              "type" : "string"
            }
          }
        },
        "example" : {
          "occurrences" : [ "B1_TE5", "B2" ]
        }
      },
      "Cad.MoveFacesGroupParameter" : {
        "required" : [ "selected" ],
        "type" : "object",
        "properties" : {
          "selected" : {
            "type" : "string",
            "description" : "Defines how the move distance is specified. It can be either:\n- `move_faces_mode_distance`, in which case the move distance will be provided, or\n- `move_faces_mode_to_entity`, in which case the move distance will be computed based on the provided face.\n",
            "enum" : [ "move_faces_mode_distance", "move_faces_mode_to_entity" ]
          },
          "move_distance" : {
            "$ref" : "#/components/schemas/Cad.Length"
          },
          "move_up_to_face" : {
            "type" : "string",
            "description" : "Face limiting the move."
          }
        }
      },
      "Cad.QueryParameters" : {
        "title" : "QueryParameters",
        "type" : "object",
        "description" : "Defines the parameters that configure the query. The specific parameters available depend on the query type.\nCertain queries may not require any parameters.\n",
        "oneOf" : [ {
          "$ref" : "#/components/schemas/Cad.DetectContactsV3Parameters"
        }, {
          "$ref" : "#/components/schemas/Cad.FindInterferingBodiesParameters"
        }, {
          "$ref" : "#/components/schemas/Cad.FindSmallGapsParameters"
        }, {
          "$ref" : "#/components/schemas/Cad.MeasureEntitiesParameters"
        } ]
      },
      "Cad.Cylinder" : {
        "required" : [ "axis", "center", "height", "radius", "unit" ],
        "type" : "object",
        "properties" : {
          "center" : {
            "$ref" : "#/components/schemas/Cad.Vector"
          },
          "axis" : {
            "$ref" : "#/components/schemas/Cad.Vector"
          },
          "radius" : {
            "type" : "number",
            "description" : "Radius of the cylinder. Uses the sibling `unit` field.",
            "format" : "double"
          },
          "height" : {
            "type" : "number",
            "description" : "Height of the cylinder. Uses the sibling `unit` field.",
            "format" : "double"
          },
          "unit" : {
            "type" : "string",
            "description" : "Unit of measurement.",
            "enum" : [ "m", "cm", "mm", "yd", "ft", "in" ]
          }
        },
        "description" : "Cylinder with unit."
      },
      "Cad.ScaleBodiesParameters" : {
        "required" : [ "factor" ],
        "type" : "object",
        "properties" : {
          "factor" : {
            "minimum" : 0,
            "exclusiveMinimum" : true,
            "type" : "number",
            "description" : "Scaling factor. Must be greater than zero.",
            "format" : "double"
          },
          "occurrences" : {
            "type" : "array",
            "description" : "List of solid regions and/or sheet bodies.",
            "items" : {
              "type" : "string"
            }
          }
        },
        "example" : {
          "occurrences" : [ "B1_TE5", "B2" ],
          "factor" : 45
        }
      },
      "Cad.Length" : {
        "required" : [ "unit", "value" ],
        "type" : "object",
        "properties" : {
          "value" : {
            "type" : "number",
            "description" : "Length value.",
            "format" : "double"
          },
          "unit" : {
            "type" : "string",
            "description" : "Unit of measurement.",
            "enum" : [ "m", "cm", "mm", "yd", "ft", "in" ]
          }
        },
        "description" : "Length with unit."
      },
      "Cad.FaceContact" : {
        "required" : [ "contactType", "faceA", "faceB" ],
        "type" : "object",
        "properties" : {
          "faceA" : {
            "type" : "string",
            "description" : "Internal name of the face."
          },
          "faceB" : {
            "type" : "string",
            "description" : "Internal name of the face."
          },
          "contactType" : {
            "type" : "string",
            "description" : "Type of contact.\nIt can be `PERFECT_FULL` when the faces' surfaces overlap perfectly within the modeller tolerance,\n`PERFECT_PARTIAL` when the faces' surfaces overlap partially within the modeller tolerance,\nor `APPROXIMATE` when the faces’ surfaces do not overlap but are sufficiently close within the modeller’s tolerance.\n",
            "enum" : [ "PERFECT_FULL", "PERFECT_PARTIAL", "APPROXIMATE" ]
          }
        }
      },
      "Cad.FlowVolumeExtractionExternalParameters" : {
        "required" : [ "flow_box" ],
        "type" : "object",
        "properties" : {
          "flow_box" : {
            "$ref" : "#/components/schemas/Cad.BoxWithUnit"
          },
          "seed_face" : {
            "type" : "string",
            "description" : "Seed face indicating an area adjacent to the flow. A seed face is needed only when the flow is unclear and could correspond to multiple flow regions."
          },
          "excluded_parts" : {
            "type" : "array",
            "description" : "List of solid regions and/or sheet bodies to exclude from the flow volume.",
            "items" : {
              "type" : "string"
            }
          }
        },
        "example" : {
          "flow_box" : {
            "box" : {
              "minX" : 0.0,
              "minY" : 0.0,
              "minZ" : 0.0,
              "maxX" : 1.0,
              "maxY" : 1.0,
              "maxZ" : 1.0
            },
            "unit" : "m"
          },
          "excluded_parts" : [ "B1" ]
        }
      },
      "Cad.CreateBoxMethod" : {
        "required" : [ "selected" ],
        "type" : "object",
        "properties" : {
          "selected" : {
            "type" : "string",
            "description" : "Defines how the box should be created. It can be either:\n- `create-box-from-definition`, in which case the `box` parameter needs to be defined, including min/max corner coordinates and a unit, or\n- `create-box-from-faces`, in which case the `faces` parameter needs to be defined, with an optional `scaling_factor`.\n",
            "enum" : [ "create-box-from-definition", "create-box-from-faces" ]
          },
          "box" : {
            "$ref" : "#/components/schemas/Cad.BoxWithUnit"
          },
          "faces" : {
            "type" : "array",
            "description" : "List of faces used to fit the box. This parameter is only valid for `create-box-from-faces` mode.",
            "items" : {
              "type" : "string"
            }
          },
          "scaling_factor" : {
            "type" : "number",
            "description" : "Optional scale factor applied to the fitted box. If omitted, the box fits the selected faces. This parameter is only valid for `create-box-from-faces` mode.",
            "format" : "double"
          }
        },
        "description" : "Defines how the box is created."
      },
      "Cad.WrapTunnelDetectionParameter" : {
        "required" : [ "selected" ],
        "type" : "object",
        "properties" : {
          "selected" : {
            "type" : "string",
            "description" : "Defines the method to detect tunnels in the input bodies. It can be either:\n- `wrap_surface_tunnel_detection_manual`, in which case `min_tunnel_diameter` must be specified, or\n- `wrap_surface_tunnel_detection_auto`, in which case the tunnel detection happens automatically.\n",
            "enum" : [ "wrap_surface_tunnel_detection_manual", "wrap_surface_tunnel_detection_auto" ]
          },
          "min_tunnel_diameter" : {
            "$ref" : "#/components/schemas/Cad.Length"
          }
        }
      },
      "Cad.FixInterferencesParameters" : {
        "type" : "object",
        "description" : "Fix interfering bodies feature does not require any parameter.",
        "example" : { }
      },
      "Workflows.AbstractCompoundField" : {
        "description" : "Abstract compound field denotes a schema element which has nested schema elements.",
        "discriminator" : {
          "propertyName" : "schema_element_type",
          "mapping" : {
            "CompoundField" : "#/components/schemas/Workflows.CompoundField",
            "SchemaDefinition" : "#/components/schemas/Workflows.SchemaDefinition"
          }
        },
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.SchemaElement"
        }, {
          "type" : "object",
          "properties" : {
            "defaultSubtype" : {
              "type" : "boolean"
            },
            "polymorphic" : {
              "type" : "boolean"
            },
            "subtypes" : {
              "type" : "array",
              "items" : {
                "type" : "object",
                "description" : "Abstract compound field denotes a schema element which has nested schema elements.",
                "default" : null
              }
            },
            "supertype" : {
              "description" : "Abstract compound field denotes a schema element which has nested schema elements.",
              "discriminator" : {
                "propertyName" : "schema_element_type",
                "mapping" : {
                  "CompoundField" : "#/components/schemas/Workflows.CompoundField",
                  "SchemaDefinition" : "#/components/schemas/Workflows.SchemaDefinition"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.SchemaElement"
              }, {
                "type" : "object",
                "properties" : {
                  "defaultSubtype" : {
                    "type" : "boolean"
                  },
                  "polymorphic" : {
                    "type" : "boolean"
                  },
                  "subtypes" : {
                    "type" : "array",
                    "items" : {
                      "type" : "object",
                      "description" : "Abstract compound field denotes a schema element which has nested schema elements.",
                      "default" : null
                    }
                  },
                  "supertype" : {
                    "$ref" : "#/components/schemas/Workflows.AbstractCompoundField"
                  },
                  "typeName" : {
                    "type" : "string"
                  }
                }
              } ],
              "default" : null
            },
            "typeName" : {
              "type" : "string"
            }
          }
        } ],
        "default" : null
      },
      "Workflows.AbstractCompoundValue" : {
        "description" : "Value model for a compound value. Resolves to an object JSON node.",
        "discriminator" : {
          "propertyName" : "value_model_type",
          "mapping" : {
            "compound" : "#/components/schemas/Workflows.CompoundValue",
            "compound:expression:select" : "#/components/schemas/Workflows.CompoundExpressionSelect",
            "compound:function:map_entities" : "#/components/schemas/Workflows.CompoundMapEntities"
          }
        },
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.AbstractDataDefinition" : {
        "required" : [ "data_definition_type" ],
        "type" : "object",
        "properties" : {
          "dataTypeReference" : {
            "type" : "string"
          },
          "data_definition_type" : {
            "type" : "string"
          },
          "doc" : {
            "type" : "string"
          },
          "label" : {
            "type" : "string"
          },
          "metadata" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "object"
            }
          },
          "multiLanguageDoc" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            }
          },
          "multiLanguageLabel" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            }
          },
          "name" : {
            "type" : "string"
          }
        },
        "description" : "\nAbstract workflow data definition.\n\nIt can be either:\n* input data of the workflow\n* output data of the workflow\n* other intermediate data in the workflow\n    ",
        "discriminator" : {
          "propertyName" : "data_definition_type",
          "mapping" : {
            "input" : "#/components/schemas/Workflows.InputDataDefinition",
            "intermediate" : "#/components/schemas/Workflows.IntermediateDataDefinition",
            "output" : "#/components/schemas/Workflows.OutputDataDefinition"
          }
        },
        "default" : null
      },
      "Workflows.AbstractOperationDefinition" : {
        "required" : [ "operation_definition_type" ],
        "type" : "object",
        "properties" : {
          "doc" : {
            "type" : "string"
          },
          "label" : {
            "type" : "string"
          },
          "metadata" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "object"
            }
          },
          "multiLanguageDoc" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            }
          },
          "multiLanguageLabel" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            }
          },
          "name" : {
            "type" : "string"
          },
          "operation_definition_type" : {
            "type" : "string"
          }
        },
        "description" : "\nAbstract workflow operation definition.\n\nIt can be either:\n* atomic method or nested workflow,\n* composition element: grouping operations, control structures etc.\n    ",
        "discriminator" : {
          "propertyName" : "operation_definition_type",
          "mapping" : {
            "group" : "#/components/schemas/Workflows.OperationGroupDefinition",
            "group_with_condition" : "#/components/schemas/Workflows.OperationGroupWithConditionDefinition",
            "group_with_parameter" : "#/components/schemas/Workflows.OperationGroupWithParameterDefinition",
            "inline" : "#/components/schemas/Workflows.InlineOperationDefinition",
            "method" : "#/components/schemas/Workflows.MethodOperationDefinition",
            "workflow" : "#/components/schemas/Workflows.NestedWorkflowOperationDefinition"
          }
        },
        "default" : null
      },
      "Workflows.AsBooleanValue" : {
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.Value"
        }, {
          "type" : "object",
          "properties" : {
            "value" : {
              "$ref" : "#/components/schemas/Workflows.Value"
            }
          }
        } ]
      },
      "Workflows.AsDimensionalScalarValue" : {
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.Value"
        }, {
          "type" : "object",
          "properties" : {
            "value" : {
              "$ref" : "#/components/schemas/Workflows.Value"
            }
          }
        } ]
      },
      "Workflows.AsDimensionalVectorValue" : {
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.Value"
        }, {
          "type" : "object",
          "properties" : {
            "value" : {
              "$ref" : "#/components/schemas/Workflows.Value"
            }
          }
        } ]
      },
      "Workflows.AsEntityAssignmentListValue" : {
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.Value"
        }, {
          "type" : "object",
          "properties" : {
            "value" : {
              "$ref" : "#/components/schemas/Workflows.Value"
            }
          }
        } ]
      },
      "Workflows.AsEntityAssignmentValue" : {
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.Value"
        }, {
          "type" : "object",
          "properties" : {
            "value" : {
              "$ref" : "#/components/schemas/Workflows.Value"
            }
          }
        } ]
      },
      "Workflows.AsEnumValue" : {
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.Value"
        }, {
          "type" : "object",
          "properties" : {
            "value" : {
              "$ref" : "#/components/schemas/Workflows.Value"
            }
          }
        } ]
      },
      "Workflows.AsIntegerValue" : {
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.Value"
        }, {
          "type" : "object",
          "properties" : {
            "value" : {
              "$ref" : "#/components/schemas/Workflows.Value"
            }
          }
        } ]
      },
      "Workflows.AsMeasurementUnitValue" : {
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.Value"
        }, {
          "type" : "object",
          "properties" : {
            "value" : {
              "$ref" : "#/components/schemas/Workflows.Value"
            }
          }
        } ]
      },
      "Workflows.AsRealValue" : {
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.Value"
        }, {
          "type" : "object",
          "properties" : {
            "value" : {
              "$ref" : "#/components/schemas/Workflows.Value"
            }
          }
        } ]
      },
      "Workflows.AsStringValue" : {
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.Value"
        }, {
          "type" : "object",
          "properties" : {
            "value" : {
              "$ref" : "#/components/schemas/Workflows.Value"
            }
          }
        } ]
      },
      "Workflows.AsValueList" : {
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.Value"
        }, {
          "type" : "object",
          "properties" : {
            "elementModel" : {
              "$ref" : "#/components/schemas/Workflows.Value"
            },
            "value" : {
              "$ref" : "#/components/schemas/Workflows.Value"
            }
          }
        } ]
      },
      "Workflows.AtomicField" : {
        "description" : "Abstract base class for atomic fields.",
        "discriminator" : {
          "propertyName" : "schema_element_type",
          "mapping" : {
            "BooleanField" : "#/components/schemas/Workflows.BooleanField",
            "IntegerField" : "#/components/schemas/Workflows.IntegerField",
            "RealField" : "#/components/schemas/Workflows.RealField",
            "StringField" : "#/components/schemas/Workflows.StringField"
          }
        },
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.SchemaElement"
        }, {
          "type" : "object",
          "properties" : {
            "dataTypeReference" : {
              "type" : "string"
            },
            "default" : {
              "type" : "object"
            },
            "type" : {
              "type" : "string"
            }
          }
        } ],
        "default" : null
      },
      "Workflows.AtomicOperationDefinition" : {
        "description" : "\nAtomic workflow operation which can be executed as is without further decomposition by the workflow engine.\n\nIt can either refer to a method or a nested workflow.\n",
        "discriminator" : {
          "propertyName" : "operation_definition_type",
          "mapping" : {
            "inline" : "#/components/schemas/Workflows.InlineOperationDefinition",
            "method" : "#/components/schemas/Workflows.MethodOperationDefinition",
            "workflow" : "#/components/schemas/Workflows.NestedWorkflowOperationDefinition"
          }
        },
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.AbstractOperationDefinition"
        }, {
          "type" : "object",
          "properties" : {
            "configurationDataSources" : {
              "type" : "array",
              "items" : {
                "$ref" : "#/components/schemas/Workflows.DataReference"
              }
            },
            "configurationValueModel" : {
              "description" : "\nValue model for a concrete compound value. Resolves to an object JSON node.\n\nNote that the serialized representation of this value model contains the nested value models in a field map.\nThis is necessary to make this class sufficient for deserializing and processing compound values in the workflow engine in the absence of the original generated value models.\nWhen the developer is accessing fields of the generated value models then the generated getter and setter functions are storing values in this field map,\nthere's no backing field behind the properties in the generated value models. This architecture makes the value model definition type-safe meanwhile there's no need for the generated classes at runtime.\n    ",
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.AbstractCompoundValue"
              }, {
                "type" : "object",
                "properties" : {
                  "fields" : {
                    "type" : "object",
                    "additionalProperties" : {
                      "required" : [ "value_model_type" ],
                      "type" : "object",
                      "properties" : {
                        "value_model_type" : {
                          "type" : "string"
                        }
                      },
                      "description" : "\nValue interface is the root of the value model type hierarchy.\n\nValue models store the computation model of values. The models are defined by the developer, for convenience through a DSL\ncomposed of receiver and extension functions and other Kotlin language constructs.\n\nWhen the build runs the definition of the value model, it gets serialized into a JSON representation and that is the artifact of the build.\nThese JSONs are persisted into the database and loaded by the workflow engine for the evaluation of the values.\nOnce values are computed they get stored as data and used by methods or clients to show data to the user.\nValue models and data models adhere to the same schema defined by the developer in DSSL, just they have a different implementation due to their different roles.\n\nBelow we define the central repository of value models. These are all part of the framework, available to the workflow engine as well.\nThey provide atomic types and composition mechanisms via containers and the compound value model class. These are in sync with the building blocks in DSSL.\n\nUser defined types via DSSL schemas are based on the compound value model. The generated value models are available only at build time to the user to define\nthe value computation logic in a type-safe way, meanwhile at runtime in the workflow engine only the compound value model is present.\n\nThe single value resolution function of this interface is the one used by the workflow engine to execute the value computation.\nAll value models implement this in their own way. The result is always a JSON node, which can be either a single node or an entire tree of nodes behind it.\n\nValue model types below are organized into groups based on their parent type, essentially following the hierarchy in a flattened way.\nThe type names - which get into the serialized JSON representation - also follow this structure, where levels are separated with a colon (`:`).\nBy convention names composed of multiple words are presented with snake-case and these rules are followed as a naming convention:\n* `operation` for operators (both unary and binary, e.g. plus, minus, not...),\n* `comparison` for comparators (equal, not equal, less than),\n* `function` for the general case.\n    ",
                      "discriminator" : {
                        "propertyName" : "value_model_type",
                        "mapping" : {
                          "boolean:comparison:equal" : "#/components/schemas/Workflows.BooleanComparisonEqual",
                          "boolean:comparison:not_equal" : "#/components/schemas/Workflows.BooleanComparisonNotEqual",
                          "boolean:constant" : "#/components/schemas/Workflows.BooleanConstant",
                          "boolean:conversion:to_string" : "#/components/schemas/Workflows.BooleanToStringValueConversion",
                          "boolean:expression:select" : "#/components/schemas/Workflows.BooleanExpressionSelect",
                          "boolean:operation:and" : "#/components/schemas/Workflows.BooleanOperationAnd",
                          "boolean:operation:not" : "#/components/schemas/Workflows.BooleanOperationNot",
                          "boolean:operation:or" : "#/components/schemas/Workflows.BooleanOperationOr",
                          "boolean:operation:xor" : "#/components/schemas/Workflows.BooleanOperationXor",
                          "boolean:reference" : "#/components/schemas/Workflows.BooleanReference",
                          "compound" : "#/components/schemas/Workflows.CompoundValue",
                          "compound:comparison:equal" : "#/components/schemas/Workflows.CompoundComparisonEqual",
                          "compound:expression:select" : "#/components/schemas/Workflows.CompoundExpressionSelect",
                          "compound:function:is_type" : "#/components/schemas/Workflows.PolymorphicCompoundTypeCheck",
                          "compound:function:map_entities" : "#/components/schemas/Workflows.CompoundMapEntities",
                          "dimensional_scalar:comparison:greater_than" : "#/components/schemas/Workflows.DimensionalScalarComparisonGreaterThan",
                          "dimensional_scalar:comparison:greater_than_or_equal" : "#/components/schemas/Workflows.DimensionalScalarComparisonGreaterThanOrEqual",
                          "dimensional_scalar:comparison:less_than" : "#/components/schemas/Workflows.DimensionalScalarComparisonLessThan",
                          "dimensional_scalar:comparison:less_than_or_equal" : "#/components/schemas/Workflows.DimensionalScalarComparisonLessThanOrEqual",
                          "dimensional_scalar:constant" : "#/components/schemas/Workflows.DimensionalScalarConstant",
                          "dimensional_scalar:conversion:to_real" : "#/components/schemas/Workflows.DimensionalScalarToRealValueConversion",
                          "dimensional_scalar:conversion:to_string" : "#/components/schemas/Workflows.DimensionalScalarToStringValueConversion",
                          "dimensional_scalar:expression:select" : "#/components/schemas/Workflows.DimensionalScalarExpressionSelect",
                          "dimensional_scalar:function:pow" : "#/components/schemas/Workflows.DimensionalScalarFunctionPow",
                          "dimensional_scalar:operation:div" : "#/components/schemas/Workflows.DimensionalScalarOperationDiv",
                          "dimensional_scalar:operation:minus" : "#/components/schemas/Workflows.DimensionalScalarOperationMinus",
                          "dimensional_scalar:operation:plus" : "#/components/schemas/Workflows.DimensionalScalarOperationPlus",
                          "dimensional_scalar:operation:times" : "#/components/schemas/Workflows.DimensionalScalarOperationTimes",
                          "dimensional_scalar:reference" : "#/components/schemas/Workflows.DimensionalScalarReference",
                          "dimensional_vector:constant" : "#/components/schemas/Workflows.DimensionalVectorConstant",
                          "dimensional_vector:conversion:to_string" : "#/components/schemas/Workflows.DimensionalVectorToStringValueConversion",
                          "dimensional_vector:expression:select" : "#/components/schemas/Workflows.DimensionalVectorExpressionSelect",
                          "dimensional_vector:function:component" : "#/components/schemas/Workflows.DimensionalScalarFromDimensionalVectorComponent",
                          "dimensional_vector:function:mag" : "#/components/schemas/Workflows.DimensionalVectorFunctionMag",
                          "dimensional_vector:function:norm" : "#/components/schemas/Workflows.DimensionalVectorFunctionNorm",
                          "dimensional_vector:operation:div" : "#/components/schemas/Workflows.DimensionalVectorOperationDiv",
                          "dimensional_vector:operation:minus" : "#/components/schemas/Workflows.DimensionalVectorOperationMinus",
                          "dimensional_vector:operation:plus" : "#/components/schemas/Workflows.DimensionalVectorOperationPlus",
                          "dimensional_vector:operation:times" : "#/components/schemas/Workflows.DimensionalVectorOperationTimes",
                          "dimensional_vector:reference" : "#/components/schemas/Workflows.DimensionalVectorReference",
                          "dynamic_cast:as_boolean" : "#/components/schemas/Workflows.AsBooleanValue",
                          "dynamic_cast:as_dimensional_scalar" : "#/components/schemas/Workflows.AsDimensionalScalarValue",
                          "dynamic_cast:as_dimensional_vector" : "#/components/schemas/Workflows.AsDimensionalVectorValue",
                          "dynamic_cast:as_entity_assignment" : "#/components/schemas/Workflows.AsEntityAssignmentValue",
                          "dynamic_cast:as_entity_assignment_list" : "#/components/schemas/Workflows.AsEntityAssignmentListValue",
                          "dynamic_cast:as_enum" : "#/components/schemas/Workflows.AsEnumValue",
                          "dynamic_cast:as_integer" : "#/components/schemas/Workflows.AsIntegerValue",
                          "dynamic_cast:as_list" : "#/components/schemas/Workflows.AsValueList",
                          "dynamic_cast:as_measurement_unit" : "#/components/schemas/Workflows.AsMeasurementUnitValue",
                          "dynamic_cast:as_real" : "#/components/schemas/Workflows.AsRealValue",
                          "dynamic_cast:as_string" : "#/components/schemas/Workflows.AsStringValue",
                          "entity_assignment:constant" : "#/components/schemas/Workflows.EntityAssignmentConstant",
                          "entity_assignment:conversion:to_entity_assignment_list" : "#/components/schemas/Workflows.EntityAssignmentToEntityAssignmentListValueConversion",
                          "entity_assignment:conversion:to_markdown_link_string" : "#/components/schemas/Workflows.EntityAssignmentToMarkdownLinkValueConversion",
                          "entity_assignment:conversion:to_string" : "#/components/schemas/Workflows.EntityAssignmentToStringValueConversion",
                          "entity_assignment:function:is_empty" : "#/components/schemas/Workflows.EntityAssignmentFunctionIsEmpty",
                          "entity_assignment:function:map_entities" : "#/components/schemas/Workflows.EntityAssignmentMapEntities",
                          "entity_assignment:reference" : "#/components/schemas/Workflows.EntityAssignmentReference",
                          "entity_assignment_list:constant" : "#/components/schemas/Workflows.EntityAssignmentListConstant",
                          "entity_assignment_list:conversion:to_markdown_link_string" : "#/components/schemas/Workflows.EntityAssignmentListToMarkdownLinkValueConversion",
                          "entity_assignment_list:function:count_entities" : "#/components/schemas/Workflows.EntityAssignmentListFunctionCountEntities",
                          "entity_assignment_list:function:intersect" : "#/components/schemas/Workflows.EntityAssignmentListIntersect",
                          "entity_assignment_list:function:is_empty" : "#/components/schemas/Workflows.EntityAssignmentListFunctionIsEmpty",
                          "entity_assignment_list:function:map_entities" : "#/components/schemas/Workflows.EntityAssignmentListMapEntities",
                          "entity_assignment_list:reference" : "#/components/schemas/Workflows.EntityAssignmentListReference",
                          "enum:comparison:equal" : "#/components/schemas/Workflows.EnumComparisonEqual",
                          "enum:comparison:not_equal" : "#/components/schemas/Workflows.EnumComparisonNotEqual",
                          "enum:constant" : "#/components/schemas/Workflows.EnumConstant",
                          "enum:conversion:to_string" : "#/components/schemas/Workflows.EnumToStringValueConversion",
                          "enum:expression:select" : "#/components/schemas/Workflows.EnumExpressionSelect",
                          "enum:function:one_of" : "#/components/schemas/Workflows.EnumFunctionOneOf",
                          "enum:reference" : "#/components/schemas/Workflows.EnumReference",
                          "integer:comparison:equal" : "#/components/schemas/Workflows.IntegerComparisonEqual",
                          "integer:comparison:greater_than" : "#/components/schemas/Workflows.IntegerComparisonGreaterThan",
                          "integer:comparison:greater_than_or_equal" : "#/components/schemas/Workflows.IntegerComparisonGreaterThanOrEqual",
                          "integer:comparison:less_than" : "#/components/schemas/Workflows.IntegerComparisonLessThan",
                          "integer:comparison:less_than_or_equal" : "#/components/schemas/Workflows.IntegerComparisonLessThanOrEqual",
                          "integer:comparison:not_equal" : "#/components/schemas/Workflows.IntegerComparisonNotEqual",
                          "integer:constant" : "#/components/schemas/Workflows.IntegerConstant",
                          "integer:conversion:to_dimensional_scalar" : "#/components/schemas/Workflows.IntegerToDimensionalScalarValueConversion",
                          "integer:conversion:to_real" : "#/components/schemas/Workflows.IntegerToRealValueConversion",
                          "integer:conversion:to_string" : "#/components/schemas/Workflows.IntegerToStringValueConversion",
                          "integer:expression:select" : "#/components/schemas/Workflows.IntegerExpressionSelect",
                          "integer:function:abs" : "#/components/schemas/Workflows.IntegerFunctionAbs",
                          "integer:function:max" : "#/components/schemas/Workflows.IntegerFunctionMax",
                          "integer:function:min" : "#/components/schemas/Workflows.IntegerFunctionMin",
                          "integer:operation:div" : "#/components/schemas/Workflows.IntegerOperationDiv",
                          "integer:operation:minus" : "#/components/schemas/Workflows.IntegerOperationMinus",
                          "integer:operation:plus" : "#/components/schemas/Workflows.IntegerOperationPlus",
                          "integer:operation:rem" : "#/components/schemas/Workflows.IntegerOperationRem",
                          "integer:operation:times" : "#/components/schemas/Workflows.IntegerOperationTimes",
                          "integer:reference" : "#/components/schemas/Workflows.IntegerReference",
                          "list:constant" : "#/components/schemas/Workflows.ConstantValueList",
                          "list:conversion:to_entity_assignment_list" : "#/components/schemas/Workflows.EntityAssignmentListFromComponents",
                          "list:expression:select" : "#/components/schemas/Workflows.ValueListExpressionSelect",
                          "list:function:all" : "#/components/schemas/Workflows.ValueListFunctionAll",
                          "list:function:any" : "#/components/schemas/Workflows.ValueListFunctionAny",
                          "list:function:drop" : "#/components/schemas/Workflows.ValueListFunctionDrop",
                          "list:function:drop_last" : "#/components/schemas/Workflows.ValueListFunctionDropLast",
                          "list:function:filter" : "#/components/schemas/Workflows.ValueListFunctionFilter",
                          "list:function:find" : "#/components/schemas/Workflows.ValueListFunctionFind",
                          "list:function:first" : "#/components/schemas/Workflows.ValueListFunctionFirst",
                          "list:function:get" : "#/components/schemas/Workflows.ValueListFunctionGet",
                          "list:function:integer_sum" : "#/components/schemas/Workflows.ValueListFunctionIntegerSum",
                          "list:function:is_empty" : "#/components/schemas/Workflows.ValueListFunctionIsEmpty",
                          "list:function:is_not_empty" : "#/components/schemas/Workflows.ValueListFunctionIsNotEmpty",
                          "list:function:last" : "#/components/schemas/Workflows.ValueListFunctionLast",
                          "list:function:length" : "#/components/schemas/Workflows.ValueListFunctionSize",
                          "list:function:map" : "#/components/schemas/Workflows.ValueListFunctionMap",
                          "list:function:none" : "#/components/schemas/Workflows.ValueListFunctionNone",
                          "list:function:real_sum" : "#/components/schemas/Workflows.ValueListFunctionRealSum",
                          "list:function:sublist" : "#/components/schemas/Workflows.ValueListFunctionSubList",
                          "list:function:take" : "#/components/schemas/Workflows.ValueListFunctionTake",
                          "list:function:take_last" : "#/components/schemas/Workflows.ValueListFunctionTakeLast",
                          "list:generator:integer_sequence" : "#/components/schemas/Workflows.IntegerSequenceGenerator",
                          "list:generator:real_sequence" : "#/components/schemas/Workflows.RealSequenceGenerator",
                          "list:operation:plus" : "#/components/schemas/Workflows.ValueListOperationPlus",
                          "list:operation:times" : "#/components/schemas/Workflows.ValueListOperationTimes",
                          "list:reference" : "#/components/schemas/Workflows.ReferenceValueList",
                          "real:comparison:equal" : "#/components/schemas/Workflows.RealComparisonEqual",
                          "real:comparison:greater_than" : "#/components/schemas/Workflows.RealComparisonGreaterThan",
                          "real:comparison:greater_than_or_equal" : "#/components/schemas/Workflows.RealComparisonGreaterThanOrEqual",
                          "real:comparison:less_than" : "#/components/schemas/Workflows.RealComparisonLessThan",
                          "real:comparison:less_than_or_equal" : "#/components/schemas/Workflows.RealComparisonLessThanOrEqual",
                          "real:comparison:not_equal" : "#/components/schemas/Workflows.RealComparisonNotEqual",
                          "real:constant" : "#/components/schemas/Workflows.RealConstant",
                          "real:conversion:to_dimensional_scalar" : "#/components/schemas/Workflows.RealToDimensionalScalarValueConversion",
                          "real:conversion:to_dimensional_vector" : "#/components/schemas/Workflows.DimensionalVectorFromComponents",
                          "real:conversion:to_integer" : "#/components/schemas/Workflows.RealToIntegerConversion",
                          "real:conversion:to_string" : "#/components/schemas/Workflows.RealToStringValueConversion",
                          "real:expression:select" : "#/components/schemas/Workflows.RealExpressionSelect",
                          "real:function:abs" : "#/components/schemas/Workflows.RealFunctionAbs",
                          "real:function:acos" : "#/components/schemas/Workflows.RealFunctionACos",
                          "real:function:asin" : "#/components/schemas/Workflows.RealFunctionASin",
                          "real:function:atan" : "#/components/schemas/Workflows.RealFunctionATan",
                          "real:function:atan2" : "#/components/schemas/Workflows.RealFunctionATan2",
                          "real:function:cbrt" : "#/components/schemas/Workflows.RealFunctionCbrt",
                          "real:function:cos" : "#/components/schemas/Workflows.RealFunctionCos",
                          "real:function:exp" : "#/components/schemas/Workflows.RealFunctionExp",
                          "real:function:log" : "#/components/schemas/Workflows.RealFunctionLog",
                          "real:function:log10" : "#/components/schemas/Workflows.RealFunctionLog10",
                          "real:function:max" : "#/components/schemas/Workflows.RealFunctionMax",
                          "real:function:min" : "#/components/schemas/Workflows.RealFunctionMin",
                          "real:function:pow" : "#/components/schemas/Workflows.RealFunctionPow",
                          "real:function:sin" : "#/components/schemas/Workflows.RealFunctionSin",
                          "real:function:sqrt" : "#/components/schemas/Workflows.RealFunctionSqrt",
                          "real:function:tan" : "#/components/schemas/Workflows.RealFunctionTan",
                          "real:operation:div" : "#/components/schemas/Workflows.RealOperationDiv",
                          "real:operation:minus" : "#/components/schemas/Workflows.RealOperationMinus",
                          "real:operation:plus" : "#/components/schemas/Workflows.RealOperationPlus",
                          "real:operation:times" : "#/components/schemas/Workflows.RealOperationTimes",
                          "real:reference" : "#/components/schemas/Workflows.RealReference",
                          "string:comparison:equal" : "#/components/schemas/Workflows.StringComparisonEqual",
                          "string:comparison:not_equal" : "#/components/schemas/Workflows.StringComparisonNotEqual",
                          "string:constant" : "#/components/schemas/Workflows.StringConstant",
                          "string:conversion:to_integer" : "#/components/schemas/Workflows.StringToIntegerValueConversion",
                          "string:conversion:to_real" : "#/components/schemas/Workflows.StringToRealValueConversion",
                          "string:expression:select" : "#/components/schemas/Workflows.StringExpressionSelect",
                          "string:function:contains" : "#/components/schemas/Workflows.StringContainsFunction",
                          "string:function:ends_with" : "#/components/schemas/Workflows.StringEndsWithFunction",
                          "string:function:length" : "#/components/schemas/Workflows.StringLengthFunction",
                          "string:function:lowercase" : "#/components/schemas/Workflows.StringLowerCaseFunction",
                          "string:function:starts_with" : "#/components/schemas/Workflows.StringStartsWithFunction",
                          "string:function:substring" : "#/components/schemas/Workflows.StringSubStringFunction",
                          "string:function:uppercase" : "#/components/schemas/Workflows.StringUpperCaseFunction",
                          "string:operation:plus" : "#/components/schemas/Workflows.StringOperationPlus",
                          "string:reference" : "#/components/schemas/Workflows.StringReference",
                          "unit:comparison:equal" : "#/components/schemas/Workflows.MeasurementUnitComparisonEqual",
                          "unit:comparison:not_equal" : "#/components/schemas/Workflows.MeasurementUnitComparisonNotEqual",
                          "unit:constant" : "#/components/schemas/Workflows.MeasurementUnitConstant",
                          "unit:expression:select" : "#/components/schemas/Workflows.MeasurementUnitExpressionSelect",
                          "unit:function:pow" : "#/components/schemas/Workflows.MeasurementUnitFunctionPow",
                          "unit:operation:div" : "#/components/schemas/Workflows.MeasurementUnitOperationDiv",
                          "unit:operation:times" : "#/components/schemas/Workflows.MeasurementUnitOperationTimes",
                          "unit:reference" : "#/components/schemas/Workflows.MeasurementUnitReference",
                          "value_list:conversion:to_string" : "#/components/schemas/Workflows.ValueListToStringValueConversion"
                        }
                      },
                      "default" : null
                    }
                  },
                  "polymorphicCompoundValue" : {
                    "type" : "boolean"
                  },
                  "subtypeId" : {
                    "type" : "string"
                  },
                  "subtypes" : {
                    "type" : "object",
                    "additionalProperties" : {
                      "description" : "\nValue model for a concrete compound value. Resolves to an object JSON node.\n\nNote that the serialized representation of this value model contains the nested value models in a field map.\nThis is necessary to make this class sufficient for deserializing and processing compound values in the workflow engine in the absence of the original generated value models.\nWhen the developer is accessing fields of the generated value models then the generated getter and setter functions are storing values in this field map,\nthere's no backing field behind the properties in the generated value models. This architecture makes the value model definition type-safe meanwhile there's no need for the generated classes at runtime.\n    ",
                      "allOf" : [ {
                        "$ref" : "#/components/schemas/Workflows.AbstractCompoundValue"
                      }, {
                        "type" : "object",
                        "properties" : {
                          "fields" : {
                            "type" : "object",
                            "additionalProperties" : {
                              "type" : "object",
                              "description" : "\nValue interface is the root of the value model type hierarchy.\n\nValue models store the computation model of values. The models are defined by the developer, for convenience through a DSL\ncomposed of receiver and extension functions and other Kotlin language constructs.\n\nWhen the build runs the definition of the value model, it gets serialized into a JSON representation and that is the artifact of the build.\nThese JSONs are persisted into the database and loaded by the workflow engine for the evaluation of the values.\nOnce values are computed they get stored as data and used by methods or clients to show data to the user.\nValue models and data models adhere to the same schema defined by the developer in DSSL, just they have a different implementation due to their different roles.\n\nBelow we define the central repository of value models. These are all part of the framework, available to the workflow engine as well.\nThey provide atomic types and composition mechanisms via containers and the compound value model class. These are in sync with the building blocks in DSSL.\n\nUser defined types via DSSL schemas are based on the compound value model. The generated value models are available only at build time to the user to define\nthe value computation logic in a type-safe way, meanwhile at runtime in the workflow engine only the compound value model is present.\n\nThe single value resolution function of this interface is the one used by the workflow engine to execute the value computation.\nAll value models implement this in their own way. The result is always a JSON node, which can be either a single node or an entire tree of nodes behind it.\n\nValue model types below are organized into groups based on their parent type, essentially following the hierarchy in a flattened way.\nThe type names - which get into the serialized JSON representation - also follow this structure, where levels are separated with a colon (`:`).\nBy convention names composed of multiple words are presented with snake-case and these rules are followed as a naming convention:\n* `operation` for operators (both unary and binary, e.g. plus, minus, not...),\n* `comparison` for comparators (equal, not equal, less than),\n* `function` for the general case.\n    ",
                              "default" : null
                            }
                          },
                          "polymorphicCompoundValue" : {
                            "type" : "boolean"
                          },
                          "subtypeId" : {
                            "type" : "string"
                          },
                          "valueReference" : {
                            "$ref" : "#/components/schemas/Workflows.ValueReference"
                          }
                        }
                      } ],
                      "default" : null
                    }
                  },
                  "valueReference" : {
                    "$ref" : "#/components/schemas/Workflows.ValueReference"
                  }
                }
              } ],
              "default" : null
            },
            "inputMapping" : {
              "type" : "array",
              "items" : {
                "$ref" : "#/components/schemas/Workflows.DataMappingEntry"
              }
            },
            "outputMapping" : {
              "type" : "array",
              "items" : {
                "$ref" : "#/components/schemas/Workflows.DataMappingEntry"
              }
            }
          }
        } ],
        "default" : null
      },
      "Workflows.BooleanComparisonEqual" : {
        "description" : "Value model of comparing two boolean values if they are equal.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.BooleanValue"
        }, {
          "type" : "object",
          "properties" : {
            "operandA" : {
              "$ref" : "#/components/schemas/Workflows.BooleanValue"
            },
            "operandB" : {
              "$ref" : "#/components/schemas/Workflows.BooleanValue"
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.BooleanComparisonNotEqual" : {
        "description" : "Value model of comparing two boolean values if they are _not_ equal.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.BooleanValue"
        }, {
          "type" : "object",
          "properties" : {
            "operandA" : {
              "$ref" : "#/components/schemas/Workflows.BooleanValue"
            },
            "operandB" : {
              "$ref" : "#/components/schemas/Workflows.BooleanValue"
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.BooleanConstant" : {
        "description" : "Value model of a constant boolean value.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.BooleanValue"
        }, {
          "type" : "object",
          "properties" : {
            "value" : {
              "type" : "boolean"
            }
          }
        } ],
        "default" : null
      },
      "Workflows.BooleanExpressionSelect" : {
        "description" : "Value model for selecting a boolean value from a list of options based on the provided conditions.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.BooleanValue"
        }, {
          "type" : "object",
          "properties" : {
            "options" : {
              "type" : "array",
              "items" : {
                "$ref" : "#/components/schemas/Workflows.PairBooleanValueBooleanValue"
              }
            }
          }
        } ],
        "default" : null
      },
      "Workflows.BooleanField" : {
        "description" : "Atomic field to store a boolean.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.SchemaElement"
        }, {
          "type" : "object",
          "properties" : {
            "dataTypeReference" : {
              "type" : "string"
            },
            "default" : {
              "type" : "boolean"
            },
            "type" : {
              "type" : "string"
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.AtomicField"
        } ],
        "default" : null
      },
      "Workflows.BooleanOperationAnd" : {
        "description" : "Value model of a boolean `AND` operation.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.BooleanValue"
        }, {
          "type" : "object",
          "properties" : {
            "operandA" : {
              "description" : "Value model of a boolean value. Resolves to a JSON boolean or null node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "boolean:comparison:equal" : "#/components/schemas/Workflows.BooleanComparisonEqual",
                  "boolean:comparison:not_equal" : "#/components/schemas/Workflows.BooleanComparisonNotEqual",
                  "boolean:constant" : "#/components/schemas/Workflows.BooleanConstant",
                  "boolean:expression:select" : "#/components/schemas/Workflows.BooleanExpressionSelect",
                  "boolean:operation:and" : "#/components/schemas/Workflows.BooleanOperationAnd",
                  "boolean:operation:not" : "#/components/schemas/Workflows.BooleanOperationNot",
                  "boolean:operation:or" : "#/components/schemas/Workflows.BooleanOperationOr",
                  "boolean:operation:xor" : "#/components/schemas/Workflows.BooleanOperationXor",
                  "boolean:reference" : "#/components/schemas/Workflows.BooleanReference",
                  "compound:comparison:equal" : "#/components/schemas/Workflows.CompoundComparisonEqual",
                  "compound:function:is_type" : "#/components/schemas/Workflows.PolymorphicCompoundTypeCheck",
                  "dimensional_scalar:comparison:greater_than" : "#/components/schemas/Workflows.DimensionalScalarComparisonGreaterThan",
                  "dimensional_scalar:comparison:greater_than_or_equal" : "#/components/schemas/Workflows.DimensionalScalarComparisonGreaterThanOrEqual",
                  "dimensional_scalar:comparison:less_than" : "#/components/schemas/Workflows.DimensionalScalarComparisonLessThan",
                  "dimensional_scalar:comparison:less_than_or_equal" : "#/components/schemas/Workflows.DimensionalScalarComparisonLessThanOrEqual",
                  "entity_assignment:function:is_empty" : "#/components/schemas/Workflows.EntityAssignmentFunctionIsEmpty",
                  "entity_assignment_list:function:is_empty" : "#/components/schemas/Workflows.EntityAssignmentListFunctionIsEmpty",
                  "enum:comparison:equal" : "#/components/schemas/Workflows.EnumComparisonEqual",
                  "enum:comparison:not_equal" : "#/components/schemas/Workflows.EnumComparisonNotEqual",
                  "enum:function:one_of" : "#/components/schemas/Workflows.EnumFunctionOneOf",
                  "integer:comparison:equal" : "#/components/schemas/Workflows.IntegerComparisonEqual",
                  "integer:comparison:greater_than" : "#/components/schemas/Workflows.IntegerComparisonGreaterThan",
                  "integer:comparison:greater_than_or_equal" : "#/components/schemas/Workflows.IntegerComparisonGreaterThanOrEqual",
                  "integer:comparison:less_than" : "#/components/schemas/Workflows.IntegerComparisonLessThan",
                  "integer:comparison:less_than_or_equal" : "#/components/schemas/Workflows.IntegerComparisonLessThanOrEqual",
                  "integer:comparison:not_equal" : "#/components/schemas/Workflows.IntegerComparisonNotEqual",
                  "list:function:all" : "#/components/schemas/Workflows.ValueListFunctionAll",
                  "list:function:any" : "#/components/schemas/Workflows.ValueListFunctionAny",
                  "list:function:is_empty" : "#/components/schemas/Workflows.ValueListFunctionIsEmpty",
                  "list:function:is_not_empty" : "#/components/schemas/Workflows.ValueListFunctionIsNotEmpty",
                  "list:function:none" : "#/components/schemas/Workflows.ValueListFunctionNone",
                  "real:comparison:equal" : "#/components/schemas/Workflows.RealComparisonEqual",
                  "real:comparison:greater_than" : "#/components/schemas/Workflows.RealComparisonGreaterThan",
                  "real:comparison:greater_than_or_equal" : "#/components/schemas/Workflows.RealComparisonGreaterThanOrEqual",
                  "real:comparison:less_than" : "#/components/schemas/Workflows.RealComparisonLessThan",
                  "real:comparison:less_than_or_equal" : "#/components/schemas/Workflows.RealComparisonLessThanOrEqual",
                  "real:comparison:not_equal" : "#/components/schemas/Workflows.RealComparisonNotEqual",
                  "string:comparison:equal" : "#/components/schemas/Workflows.StringComparisonEqual",
                  "string:comparison:not_equal" : "#/components/schemas/Workflows.StringComparisonNotEqual",
                  "string:function:contains" : "#/components/schemas/Workflows.StringContainsFunction",
                  "string:function:ends_with" : "#/components/schemas/Workflows.StringEndsWithFunction",
                  "string:function:starts_with" : "#/components/schemas/Workflows.StringStartsWithFunction",
                  "unit:comparison:equal" : "#/components/schemas/Workflows.MeasurementUnitComparisonEqual",
                  "unit:comparison:not_equal" : "#/components/schemas/Workflows.MeasurementUnitComparisonNotEqual"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            },
            "operandB" : {
              "description" : "Value model of a boolean value. Resolves to a JSON boolean or null node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "boolean:comparison:equal" : "#/components/schemas/Workflows.BooleanComparisonEqual",
                  "boolean:comparison:not_equal" : "#/components/schemas/Workflows.BooleanComparisonNotEqual",
                  "boolean:constant" : "#/components/schemas/Workflows.BooleanConstant",
                  "boolean:expression:select" : "#/components/schemas/Workflows.BooleanExpressionSelect",
                  "boolean:operation:and" : "#/components/schemas/Workflows.BooleanOperationAnd",
                  "boolean:operation:not" : "#/components/schemas/Workflows.BooleanOperationNot",
                  "boolean:operation:or" : "#/components/schemas/Workflows.BooleanOperationOr",
                  "boolean:operation:xor" : "#/components/schemas/Workflows.BooleanOperationXor",
                  "boolean:reference" : "#/components/schemas/Workflows.BooleanReference",
                  "compound:comparison:equal" : "#/components/schemas/Workflows.CompoundComparisonEqual",
                  "compound:function:is_type" : "#/components/schemas/Workflows.PolymorphicCompoundTypeCheck",
                  "dimensional_scalar:comparison:greater_than" : "#/components/schemas/Workflows.DimensionalScalarComparisonGreaterThan",
                  "dimensional_scalar:comparison:greater_than_or_equal" : "#/components/schemas/Workflows.DimensionalScalarComparisonGreaterThanOrEqual",
                  "dimensional_scalar:comparison:less_than" : "#/components/schemas/Workflows.DimensionalScalarComparisonLessThan",
                  "dimensional_scalar:comparison:less_than_or_equal" : "#/components/schemas/Workflows.DimensionalScalarComparisonLessThanOrEqual",
                  "entity_assignment:function:is_empty" : "#/components/schemas/Workflows.EntityAssignmentFunctionIsEmpty",
                  "entity_assignment_list:function:is_empty" : "#/components/schemas/Workflows.EntityAssignmentListFunctionIsEmpty",
                  "enum:comparison:equal" : "#/components/schemas/Workflows.EnumComparisonEqual",
                  "enum:comparison:not_equal" : "#/components/schemas/Workflows.EnumComparisonNotEqual",
                  "enum:function:one_of" : "#/components/schemas/Workflows.EnumFunctionOneOf",
                  "integer:comparison:equal" : "#/components/schemas/Workflows.IntegerComparisonEqual",
                  "integer:comparison:greater_than" : "#/components/schemas/Workflows.IntegerComparisonGreaterThan",
                  "integer:comparison:greater_than_or_equal" : "#/components/schemas/Workflows.IntegerComparisonGreaterThanOrEqual",
                  "integer:comparison:less_than" : "#/components/schemas/Workflows.IntegerComparisonLessThan",
                  "integer:comparison:less_than_or_equal" : "#/components/schemas/Workflows.IntegerComparisonLessThanOrEqual",
                  "integer:comparison:not_equal" : "#/components/schemas/Workflows.IntegerComparisonNotEqual",
                  "list:function:all" : "#/components/schemas/Workflows.ValueListFunctionAll",
                  "list:function:any" : "#/components/schemas/Workflows.ValueListFunctionAny",
                  "list:function:is_empty" : "#/components/schemas/Workflows.ValueListFunctionIsEmpty",
                  "list:function:is_not_empty" : "#/components/schemas/Workflows.ValueListFunctionIsNotEmpty",
                  "list:function:none" : "#/components/schemas/Workflows.ValueListFunctionNone",
                  "real:comparison:equal" : "#/components/schemas/Workflows.RealComparisonEqual",
                  "real:comparison:greater_than" : "#/components/schemas/Workflows.RealComparisonGreaterThan",
                  "real:comparison:greater_than_or_equal" : "#/components/schemas/Workflows.RealComparisonGreaterThanOrEqual",
                  "real:comparison:less_than" : "#/components/schemas/Workflows.RealComparisonLessThan",
                  "real:comparison:less_than_or_equal" : "#/components/schemas/Workflows.RealComparisonLessThanOrEqual",
                  "real:comparison:not_equal" : "#/components/schemas/Workflows.RealComparisonNotEqual",
                  "string:comparison:equal" : "#/components/schemas/Workflows.StringComparisonEqual",
                  "string:comparison:not_equal" : "#/components/schemas/Workflows.StringComparisonNotEqual",
                  "string:function:contains" : "#/components/schemas/Workflows.StringContainsFunction",
                  "string:function:ends_with" : "#/components/schemas/Workflows.StringEndsWithFunction",
                  "string:function:starts_with" : "#/components/schemas/Workflows.StringStartsWithFunction",
                  "unit:comparison:equal" : "#/components/schemas/Workflows.MeasurementUnitComparisonEqual",
                  "unit:comparison:not_equal" : "#/components/schemas/Workflows.MeasurementUnitComparisonNotEqual"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        } ],
        "default" : null
      },
      "Workflows.BooleanOperationNot" : {
        "description" : "Value model of a boolean `NOT` operation.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.BooleanValue"
        }, {
          "type" : "object",
          "properties" : {
            "operand" : {
              "description" : "Value model of a boolean value. Resolves to a JSON boolean or null node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "boolean:comparison:equal" : "#/components/schemas/Workflows.BooleanComparisonEqual",
                  "boolean:comparison:not_equal" : "#/components/schemas/Workflows.BooleanComparisonNotEqual",
                  "boolean:constant" : "#/components/schemas/Workflows.BooleanConstant",
                  "boolean:expression:select" : "#/components/schemas/Workflows.BooleanExpressionSelect",
                  "boolean:operation:and" : "#/components/schemas/Workflows.BooleanOperationAnd",
                  "boolean:operation:not" : "#/components/schemas/Workflows.BooleanOperationNot",
                  "boolean:operation:or" : "#/components/schemas/Workflows.BooleanOperationOr",
                  "boolean:operation:xor" : "#/components/schemas/Workflows.BooleanOperationXor",
                  "boolean:reference" : "#/components/schemas/Workflows.BooleanReference",
                  "compound:comparison:equal" : "#/components/schemas/Workflows.CompoundComparisonEqual",
                  "compound:function:is_type" : "#/components/schemas/Workflows.PolymorphicCompoundTypeCheck",
                  "dimensional_scalar:comparison:greater_than" : "#/components/schemas/Workflows.DimensionalScalarComparisonGreaterThan",
                  "dimensional_scalar:comparison:greater_than_or_equal" : "#/components/schemas/Workflows.DimensionalScalarComparisonGreaterThanOrEqual",
                  "dimensional_scalar:comparison:less_than" : "#/components/schemas/Workflows.DimensionalScalarComparisonLessThan",
                  "dimensional_scalar:comparison:less_than_or_equal" : "#/components/schemas/Workflows.DimensionalScalarComparisonLessThanOrEqual",
                  "entity_assignment:function:is_empty" : "#/components/schemas/Workflows.EntityAssignmentFunctionIsEmpty",
                  "entity_assignment_list:function:is_empty" : "#/components/schemas/Workflows.EntityAssignmentListFunctionIsEmpty",
                  "enum:comparison:equal" : "#/components/schemas/Workflows.EnumComparisonEqual",
                  "enum:comparison:not_equal" : "#/components/schemas/Workflows.EnumComparisonNotEqual",
                  "enum:function:one_of" : "#/components/schemas/Workflows.EnumFunctionOneOf",
                  "integer:comparison:equal" : "#/components/schemas/Workflows.IntegerComparisonEqual",
                  "integer:comparison:greater_than" : "#/components/schemas/Workflows.IntegerComparisonGreaterThan",
                  "integer:comparison:greater_than_or_equal" : "#/components/schemas/Workflows.IntegerComparisonGreaterThanOrEqual",
                  "integer:comparison:less_than" : "#/components/schemas/Workflows.IntegerComparisonLessThan",
                  "integer:comparison:less_than_or_equal" : "#/components/schemas/Workflows.IntegerComparisonLessThanOrEqual",
                  "integer:comparison:not_equal" : "#/components/schemas/Workflows.IntegerComparisonNotEqual",
                  "list:function:all" : "#/components/schemas/Workflows.ValueListFunctionAll",
                  "list:function:any" : "#/components/schemas/Workflows.ValueListFunctionAny",
                  "list:function:is_empty" : "#/components/schemas/Workflows.ValueListFunctionIsEmpty",
                  "list:function:is_not_empty" : "#/components/schemas/Workflows.ValueListFunctionIsNotEmpty",
                  "list:function:none" : "#/components/schemas/Workflows.ValueListFunctionNone",
                  "real:comparison:equal" : "#/components/schemas/Workflows.RealComparisonEqual",
                  "real:comparison:greater_than" : "#/components/schemas/Workflows.RealComparisonGreaterThan",
                  "real:comparison:greater_than_or_equal" : "#/components/schemas/Workflows.RealComparisonGreaterThanOrEqual",
                  "real:comparison:less_than" : "#/components/schemas/Workflows.RealComparisonLessThan",
                  "real:comparison:less_than_or_equal" : "#/components/schemas/Workflows.RealComparisonLessThanOrEqual",
                  "real:comparison:not_equal" : "#/components/schemas/Workflows.RealComparisonNotEqual",
                  "string:comparison:equal" : "#/components/schemas/Workflows.StringComparisonEqual",
                  "string:comparison:not_equal" : "#/components/schemas/Workflows.StringComparisonNotEqual",
                  "string:function:contains" : "#/components/schemas/Workflows.StringContainsFunction",
                  "string:function:ends_with" : "#/components/schemas/Workflows.StringEndsWithFunction",
                  "string:function:starts_with" : "#/components/schemas/Workflows.StringStartsWithFunction",
                  "unit:comparison:equal" : "#/components/schemas/Workflows.MeasurementUnitComparisonEqual",
                  "unit:comparison:not_equal" : "#/components/schemas/Workflows.MeasurementUnitComparisonNotEqual"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        } ],
        "default" : null
      },
      "Workflows.BooleanOperationOr" : {
        "description" : "Value model of a boolean `OR` operation.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.BooleanValue"
        }, {
          "type" : "object",
          "properties" : {
            "operandA" : {
              "$ref" : "#/components/schemas/Workflows.BooleanValue"
            },
            "operandB" : {
              "description" : "Value model of a boolean value. Resolves to a JSON boolean or null node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "boolean:comparison:equal" : "#/components/schemas/Workflows.BooleanComparisonEqual",
                  "boolean:comparison:not_equal" : "#/components/schemas/Workflows.BooleanComparisonNotEqual",
                  "boolean:constant" : "#/components/schemas/Workflows.BooleanConstant",
                  "boolean:expression:select" : "#/components/schemas/Workflows.BooleanExpressionSelect",
                  "boolean:operation:and" : "#/components/schemas/Workflows.BooleanOperationAnd",
                  "boolean:operation:not" : "#/components/schemas/Workflows.BooleanOperationNot",
                  "boolean:operation:or" : "#/components/schemas/Workflows.BooleanOperationOr",
                  "boolean:operation:xor" : "#/components/schemas/Workflows.BooleanOperationXor",
                  "boolean:reference" : "#/components/schemas/Workflows.BooleanReference",
                  "compound:comparison:equal" : "#/components/schemas/Workflows.CompoundComparisonEqual",
                  "compound:function:is_type" : "#/components/schemas/Workflows.PolymorphicCompoundTypeCheck",
                  "dimensional_scalar:comparison:greater_than" : "#/components/schemas/Workflows.DimensionalScalarComparisonGreaterThan",
                  "dimensional_scalar:comparison:greater_than_or_equal" : "#/components/schemas/Workflows.DimensionalScalarComparisonGreaterThanOrEqual",
                  "dimensional_scalar:comparison:less_than" : "#/components/schemas/Workflows.DimensionalScalarComparisonLessThan",
                  "dimensional_scalar:comparison:less_than_or_equal" : "#/components/schemas/Workflows.DimensionalScalarComparisonLessThanOrEqual",
                  "entity_assignment:function:is_empty" : "#/components/schemas/Workflows.EntityAssignmentFunctionIsEmpty",
                  "entity_assignment_list:function:is_empty" : "#/components/schemas/Workflows.EntityAssignmentListFunctionIsEmpty",
                  "enum:comparison:equal" : "#/components/schemas/Workflows.EnumComparisonEqual",
                  "enum:comparison:not_equal" : "#/components/schemas/Workflows.EnumComparisonNotEqual",
                  "enum:function:one_of" : "#/components/schemas/Workflows.EnumFunctionOneOf",
                  "integer:comparison:equal" : "#/components/schemas/Workflows.IntegerComparisonEqual",
                  "integer:comparison:greater_than" : "#/components/schemas/Workflows.IntegerComparisonGreaterThan",
                  "integer:comparison:greater_than_or_equal" : "#/components/schemas/Workflows.IntegerComparisonGreaterThanOrEqual",
                  "integer:comparison:less_than" : "#/components/schemas/Workflows.IntegerComparisonLessThan",
                  "integer:comparison:less_than_or_equal" : "#/components/schemas/Workflows.IntegerComparisonLessThanOrEqual",
                  "integer:comparison:not_equal" : "#/components/schemas/Workflows.IntegerComparisonNotEqual",
                  "list:function:all" : "#/components/schemas/Workflows.ValueListFunctionAll",
                  "list:function:any" : "#/components/schemas/Workflows.ValueListFunctionAny",
                  "list:function:is_empty" : "#/components/schemas/Workflows.ValueListFunctionIsEmpty",
                  "list:function:is_not_empty" : "#/components/schemas/Workflows.ValueListFunctionIsNotEmpty",
                  "list:function:none" : "#/components/schemas/Workflows.ValueListFunctionNone",
                  "real:comparison:equal" : "#/components/schemas/Workflows.RealComparisonEqual",
                  "real:comparison:greater_than" : "#/components/schemas/Workflows.RealComparisonGreaterThan",
                  "real:comparison:greater_than_or_equal" : "#/components/schemas/Workflows.RealComparisonGreaterThanOrEqual",
                  "real:comparison:less_than" : "#/components/schemas/Workflows.RealComparisonLessThan",
                  "real:comparison:less_than_or_equal" : "#/components/schemas/Workflows.RealComparisonLessThanOrEqual",
                  "real:comparison:not_equal" : "#/components/schemas/Workflows.RealComparisonNotEqual",
                  "string:comparison:equal" : "#/components/schemas/Workflows.StringComparisonEqual",
                  "string:comparison:not_equal" : "#/components/schemas/Workflows.StringComparisonNotEqual",
                  "string:function:contains" : "#/components/schemas/Workflows.StringContainsFunction",
                  "string:function:ends_with" : "#/components/schemas/Workflows.StringEndsWithFunction",
                  "string:function:starts_with" : "#/components/schemas/Workflows.StringStartsWithFunction",
                  "unit:comparison:equal" : "#/components/schemas/Workflows.MeasurementUnitComparisonEqual",
                  "unit:comparison:not_equal" : "#/components/schemas/Workflows.MeasurementUnitComparisonNotEqual"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        } ],
        "default" : null
      },
      "Workflows.BooleanOperationXor" : {
        "description" : "Value model of a boolean `XOR` operation.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.BooleanValue"
        }, {
          "type" : "object",
          "properties" : {
            "operandA" : {
              "$ref" : "#/components/schemas/Workflows.BooleanValue"
            },
            "operandB" : {
              "$ref" : "#/components/schemas/Workflows.BooleanValue"
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.BooleanReference" : {
        "description" : "Value model of a boolean value reference.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.BooleanValue"
        }, {
          "type" : "object",
          "properties" : {
            "defaultValue" : {
              "type" : "boolean"
            },
            "valueReference" : {
              "$ref" : "#/components/schemas/Workflows.ValueReference"
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.BooleanToStringValueConversion" : {
        "description" : "Value model for converting a boolean to a string.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.StringValue"
        }, {
          "type" : "object",
          "properties" : {
            "booleanValue" : {
              "description" : "Value model of a boolean value. Resolves to a JSON boolean or null node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "boolean:comparison:equal" : "#/components/schemas/Workflows.BooleanComparisonEqual",
                  "boolean:comparison:not_equal" : "#/components/schemas/Workflows.BooleanComparisonNotEqual",
                  "boolean:constant" : "#/components/schemas/Workflows.BooleanConstant",
                  "boolean:expression:select" : "#/components/schemas/Workflows.BooleanExpressionSelect",
                  "boolean:operation:and" : "#/components/schemas/Workflows.BooleanOperationAnd",
                  "boolean:operation:not" : "#/components/schemas/Workflows.BooleanOperationNot",
                  "boolean:operation:or" : "#/components/schemas/Workflows.BooleanOperationOr",
                  "boolean:operation:xor" : "#/components/schemas/Workflows.BooleanOperationXor",
                  "boolean:reference" : "#/components/schemas/Workflows.BooleanReference",
                  "compound:comparison:equal" : "#/components/schemas/Workflows.CompoundComparisonEqual",
                  "compound:function:is_type" : "#/components/schemas/Workflows.PolymorphicCompoundTypeCheck",
                  "dimensional_scalar:comparison:greater_than" : "#/components/schemas/Workflows.DimensionalScalarComparisonGreaterThan",
                  "dimensional_scalar:comparison:greater_than_or_equal" : "#/components/schemas/Workflows.DimensionalScalarComparisonGreaterThanOrEqual",
                  "dimensional_scalar:comparison:less_than" : "#/components/schemas/Workflows.DimensionalScalarComparisonLessThan",
                  "dimensional_scalar:comparison:less_than_or_equal" : "#/components/schemas/Workflows.DimensionalScalarComparisonLessThanOrEqual",
                  "entity_assignment:function:is_empty" : "#/components/schemas/Workflows.EntityAssignmentFunctionIsEmpty",
                  "entity_assignment_list:function:is_empty" : "#/components/schemas/Workflows.EntityAssignmentListFunctionIsEmpty",
                  "enum:comparison:equal" : "#/components/schemas/Workflows.EnumComparisonEqual",
                  "enum:comparison:not_equal" : "#/components/schemas/Workflows.EnumComparisonNotEqual",
                  "enum:function:one_of" : "#/components/schemas/Workflows.EnumFunctionOneOf",
                  "integer:comparison:equal" : "#/components/schemas/Workflows.IntegerComparisonEqual",
                  "integer:comparison:greater_than" : "#/components/schemas/Workflows.IntegerComparisonGreaterThan",
                  "integer:comparison:greater_than_or_equal" : "#/components/schemas/Workflows.IntegerComparisonGreaterThanOrEqual",
                  "integer:comparison:less_than" : "#/components/schemas/Workflows.IntegerComparisonLessThan",
                  "integer:comparison:less_than_or_equal" : "#/components/schemas/Workflows.IntegerComparisonLessThanOrEqual",
                  "integer:comparison:not_equal" : "#/components/schemas/Workflows.IntegerComparisonNotEqual",
                  "list:function:all" : "#/components/schemas/Workflows.ValueListFunctionAll",
                  "list:function:any" : "#/components/schemas/Workflows.ValueListFunctionAny",
                  "list:function:is_empty" : "#/components/schemas/Workflows.ValueListFunctionIsEmpty",
                  "list:function:is_not_empty" : "#/components/schemas/Workflows.ValueListFunctionIsNotEmpty",
                  "list:function:none" : "#/components/schemas/Workflows.ValueListFunctionNone",
                  "real:comparison:equal" : "#/components/schemas/Workflows.RealComparisonEqual",
                  "real:comparison:greater_than" : "#/components/schemas/Workflows.RealComparisonGreaterThan",
                  "real:comparison:greater_than_or_equal" : "#/components/schemas/Workflows.RealComparisonGreaterThanOrEqual",
                  "real:comparison:less_than" : "#/components/schemas/Workflows.RealComparisonLessThan",
                  "real:comparison:less_than_or_equal" : "#/components/schemas/Workflows.RealComparisonLessThanOrEqual",
                  "real:comparison:not_equal" : "#/components/schemas/Workflows.RealComparisonNotEqual",
                  "string:comparison:equal" : "#/components/schemas/Workflows.StringComparisonEqual",
                  "string:comparison:not_equal" : "#/components/schemas/Workflows.StringComparisonNotEqual",
                  "string:function:contains" : "#/components/schemas/Workflows.StringContainsFunction",
                  "string:function:ends_with" : "#/components/schemas/Workflows.StringEndsWithFunction",
                  "string:function:starts_with" : "#/components/schemas/Workflows.StringStartsWithFunction",
                  "unit:comparison:equal" : "#/components/schemas/Workflows.MeasurementUnitComparisonEqual",
                  "unit:comparison:not_equal" : "#/components/schemas/Workflows.MeasurementUnitComparisonNotEqual"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.BooleanValue" : {
        "description" : "Value model of a boolean value. Resolves to a JSON boolean or null node.",
        "discriminator" : {
          "propertyName" : "value_model_type",
          "mapping" : {
            "boolean:comparison:equal" : "#/components/schemas/Workflows.BooleanComparisonEqual",
            "boolean:comparison:not_equal" : "#/components/schemas/Workflows.BooleanComparisonNotEqual",
            "boolean:constant" : "#/components/schemas/Workflows.BooleanConstant",
            "boolean:expression:select" : "#/components/schemas/Workflows.BooleanExpressionSelect",
            "boolean:operation:and" : "#/components/schemas/Workflows.BooleanOperationAnd",
            "boolean:operation:not" : "#/components/schemas/Workflows.BooleanOperationNot",
            "boolean:operation:or" : "#/components/schemas/Workflows.BooleanOperationOr",
            "boolean:operation:xor" : "#/components/schemas/Workflows.BooleanOperationXor",
            "boolean:reference" : "#/components/schemas/Workflows.BooleanReference",
            "compound:comparison:equal" : "#/components/schemas/Workflows.CompoundComparisonEqual",
            "compound:function:is_type" : "#/components/schemas/Workflows.PolymorphicCompoundTypeCheck",
            "dimensional_scalar:comparison:greater_than" : "#/components/schemas/Workflows.DimensionalScalarComparisonGreaterThan",
            "dimensional_scalar:comparison:greater_than_or_equal" : "#/components/schemas/Workflows.DimensionalScalarComparisonGreaterThanOrEqual",
            "dimensional_scalar:comparison:less_than" : "#/components/schemas/Workflows.DimensionalScalarComparisonLessThan",
            "dimensional_scalar:comparison:less_than_or_equal" : "#/components/schemas/Workflows.DimensionalScalarComparisonLessThanOrEqual",
            "entity_assignment:function:is_empty" : "#/components/schemas/Workflows.EntityAssignmentFunctionIsEmpty",
            "entity_assignment_list:function:is_empty" : "#/components/schemas/Workflows.EntityAssignmentListFunctionIsEmpty",
            "enum:comparison:equal" : "#/components/schemas/Workflows.EnumComparisonEqual",
            "enum:comparison:not_equal" : "#/components/schemas/Workflows.EnumComparisonNotEqual",
            "enum:function:one_of" : "#/components/schemas/Workflows.EnumFunctionOneOf",
            "integer:comparison:equal" : "#/components/schemas/Workflows.IntegerComparisonEqual",
            "integer:comparison:greater_than" : "#/components/schemas/Workflows.IntegerComparisonGreaterThan",
            "integer:comparison:greater_than_or_equal" : "#/components/schemas/Workflows.IntegerComparisonGreaterThanOrEqual",
            "integer:comparison:less_than" : "#/components/schemas/Workflows.IntegerComparisonLessThan",
            "integer:comparison:less_than_or_equal" : "#/components/schemas/Workflows.IntegerComparisonLessThanOrEqual",
            "integer:comparison:not_equal" : "#/components/schemas/Workflows.IntegerComparisonNotEqual",
            "list:function:all" : "#/components/schemas/Workflows.ValueListFunctionAll",
            "list:function:any" : "#/components/schemas/Workflows.ValueListFunctionAny",
            "list:function:is_empty" : "#/components/schemas/Workflows.ValueListFunctionIsEmpty",
            "list:function:is_not_empty" : "#/components/schemas/Workflows.ValueListFunctionIsNotEmpty",
            "list:function:none" : "#/components/schemas/Workflows.ValueListFunctionNone",
            "real:comparison:equal" : "#/components/schemas/Workflows.RealComparisonEqual",
            "real:comparison:greater_than" : "#/components/schemas/Workflows.RealComparisonGreaterThan",
            "real:comparison:greater_than_or_equal" : "#/components/schemas/Workflows.RealComparisonGreaterThanOrEqual",
            "real:comparison:less_than" : "#/components/schemas/Workflows.RealComparisonLessThan",
            "real:comparison:less_than_or_equal" : "#/components/schemas/Workflows.RealComparisonLessThanOrEqual",
            "real:comparison:not_equal" : "#/components/schemas/Workflows.RealComparisonNotEqual",
            "string:comparison:equal" : "#/components/schemas/Workflows.StringComparisonEqual",
            "string:comparison:not_equal" : "#/components/schemas/Workflows.StringComparisonNotEqual",
            "string:function:contains" : "#/components/schemas/Workflows.StringContainsFunction",
            "string:function:ends_with" : "#/components/schemas/Workflows.StringEndsWithFunction",
            "string:function:starts_with" : "#/components/schemas/Workflows.StringStartsWithFunction",
            "unit:comparison:equal" : "#/components/schemas/Workflows.MeasurementUnitComparisonEqual",
            "unit:comparison:not_equal" : "#/components/schemas/Workflows.MeasurementUnitComparisonNotEqual"
          }
        },
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.Breakpoint" : {
        "type" : "object",
        "properties" : {
          "condition" : {
            "description" : "Value model of a boolean value. Resolves to a JSON boolean or null node.",
            "discriminator" : {
              "propertyName" : "value_model_type",
              "mapping" : {
                "boolean:comparison:equal" : "#/components/schemas/Workflows.BooleanComparisonEqual",
                "boolean:comparison:not_equal" : "#/components/schemas/Workflows.BooleanComparisonNotEqual",
                "boolean:constant" : "#/components/schemas/Workflows.BooleanConstant",
                "boolean:expression:select" : "#/components/schemas/Workflows.BooleanExpressionSelect",
                "boolean:operation:and" : "#/components/schemas/Workflows.BooleanOperationAnd",
                "boolean:operation:not" : "#/components/schemas/Workflows.BooleanOperationNot",
                "boolean:operation:or" : "#/components/schemas/Workflows.BooleanOperationOr",
                "boolean:operation:xor" : "#/components/schemas/Workflows.BooleanOperationXor",
                "boolean:reference" : "#/components/schemas/Workflows.BooleanReference",
                "compound:comparison:equal" : "#/components/schemas/Workflows.CompoundComparisonEqual",
                "compound:function:is_type" : "#/components/schemas/Workflows.PolymorphicCompoundTypeCheck",
                "dimensional_scalar:comparison:greater_than" : "#/components/schemas/Workflows.DimensionalScalarComparisonGreaterThan",
                "dimensional_scalar:comparison:greater_than_or_equal" : "#/components/schemas/Workflows.DimensionalScalarComparisonGreaterThanOrEqual",
                "dimensional_scalar:comparison:less_than" : "#/components/schemas/Workflows.DimensionalScalarComparisonLessThan",
                "dimensional_scalar:comparison:less_than_or_equal" : "#/components/schemas/Workflows.DimensionalScalarComparisonLessThanOrEqual",
                "entity_assignment:function:is_empty" : "#/components/schemas/Workflows.EntityAssignmentFunctionIsEmpty",
                "entity_assignment_list:function:is_empty" : "#/components/schemas/Workflows.EntityAssignmentListFunctionIsEmpty",
                "enum:comparison:equal" : "#/components/schemas/Workflows.EnumComparisonEqual",
                "enum:comparison:not_equal" : "#/components/schemas/Workflows.EnumComparisonNotEqual",
                "enum:function:one_of" : "#/components/schemas/Workflows.EnumFunctionOneOf",
                "integer:comparison:equal" : "#/components/schemas/Workflows.IntegerComparisonEqual",
                "integer:comparison:greater_than" : "#/components/schemas/Workflows.IntegerComparisonGreaterThan",
                "integer:comparison:greater_than_or_equal" : "#/components/schemas/Workflows.IntegerComparisonGreaterThanOrEqual",
                "integer:comparison:less_than" : "#/components/schemas/Workflows.IntegerComparisonLessThan",
                "integer:comparison:less_than_or_equal" : "#/components/schemas/Workflows.IntegerComparisonLessThanOrEqual",
                "integer:comparison:not_equal" : "#/components/schemas/Workflows.IntegerComparisonNotEqual",
                "list:function:all" : "#/components/schemas/Workflows.ValueListFunctionAll",
                "list:function:any" : "#/components/schemas/Workflows.ValueListFunctionAny",
                "list:function:is_empty" : "#/components/schemas/Workflows.ValueListFunctionIsEmpty",
                "list:function:is_not_empty" : "#/components/schemas/Workflows.ValueListFunctionIsNotEmpty",
                "list:function:none" : "#/components/schemas/Workflows.ValueListFunctionNone",
                "real:comparison:equal" : "#/components/schemas/Workflows.RealComparisonEqual",
                "real:comparison:greater_than" : "#/components/schemas/Workflows.RealComparisonGreaterThan",
                "real:comparison:greater_than_or_equal" : "#/components/schemas/Workflows.RealComparisonGreaterThanOrEqual",
                "real:comparison:less_than" : "#/components/schemas/Workflows.RealComparisonLessThan",
                "real:comparison:less_than_or_equal" : "#/components/schemas/Workflows.RealComparisonLessThanOrEqual",
                "real:comparison:not_equal" : "#/components/schemas/Workflows.RealComparisonNotEqual",
                "string:comparison:equal" : "#/components/schemas/Workflows.StringComparisonEqual",
                "string:comparison:not_equal" : "#/components/schemas/Workflows.StringComparisonNotEqual",
                "string:function:contains" : "#/components/schemas/Workflows.StringContainsFunction",
                "string:function:ends_with" : "#/components/schemas/Workflows.StringEndsWithFunction",
                "string:function:starts_with" : "#/components/schemas/Workflows.StringStartsWithFunction",
                "unit:comparison:equal" : "#/components/schemas/Workflows.MeasurementUnitComparisonEqual",
                "unit:comparison:not_equal" : "#/components/schemas/Workflows.MeasurementUnitComparisonNotEqual"
              }
            },
            "allOf" : [ {
              "$ref" : "#/components/schemas/Workflows.Value"
            } ],
            "default" : null
          },
          "doc" : {
            "type" : "string"
          },
          "message" : {
            "type" : "string"
          },
          "metadata" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "object"
            }
          },
          "multiLanguageDoc" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            }
          },
          "multiLanguageMessage" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            }
          },
          "name" : {
            "type" : "string"
          },
          "operation" : {
            "type" : "string"
          }
        },
        "description" : "\nBreakpoints provide an automated mechanism to pause a workflow run based on certain criteria.\n\nBased on the criteria the following cases are possible:\n* operation only breakpoint: the workflow gets automatically paused when the workflow run would get to the processing of a particular operation\n* condition only breakpoint: the workflow gets automatically paused when the particular condition (expressed as a boolean value model) becomes true\n* operation with condition breakpoint: the workflow gets automatically paused when the workflow run gets to the processing of a particular operation and also the additional condition is met\n\nAn operation breakpoint is evaluated after the workflow graph identifies the referenced operation as executable, but before that operation is scheduled. Results required from preceding\noperations have therefore already been incorporated into the workflow and are available for inspection while paused; the referenced operation has not started yet.\n\nWhen a breakpoint is activated, the workflow run enters the paused state until the user explicitly resumes it. The pause applies to the whole workflow, including operations without the\nactivated breakpoint; workflows do not have independently progressing \"threads\", and no further operations are scheduled while the workflow remains paused.\n\nActivating a breakpoint does not cancel operations that are already running. They may finish while the workflow is paused, but results that complete after the pause remain waiting\nwithout being incorporated into the workflow and are processed only after resume.\n\nBreakpoints can be defined at these levels:\n* workflow type level: defined as part of the workflow definition by the workflow developer, these breakpoints apply to all workflows and their runs based on top of the particular workflow type\n* workflow level: users can define workflow specific custom breakpoints which apply only to the particular workflow and its runs\n* workflow run level: users can also define workflow run specific custom breakpoints which apply only to the particular workflow run\n",
        "default" : null
      },
      "ComponentRegistry.ComponentGroupMetadata" : {
        "type" : "object",
        "properties" : {
          "componentGroupReference" : {
            "type" : "string",
            "description" : "\nReference to a component group.\n\nComponents are organized into a group hierarchy which serves as a qualification mechanism to avoid name collisions and also to group components semantically.\n\nIt is expressed as a string where the levels are separated with a dot (`.`).\n",
            "example" : "simscale.cad.data-types",
            "default" : null
          },
          "description" : {
            "type" : "string"
          },
          "hasChildren" : {
            "type" : "boolean"
          },
          "multiLanguageDescription" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "nullable" : true
          },
          "multiLanguageName" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "nullable" : true
          },
          "name" : {
            "type" : "string"
          },
          "state" : {
            "type" : "string",
            "description" : "Possible states of a component group.",
            "default" : null,
            "enum" : [ "ACTIVE", "ARCHIVED" ]
          }
        },
        "description" : "Data for fetching information about component groups. Contains all properties which are accessible by clients.",
        "default" : null
      },
      "ComponentRegistry.ComponentOverview" : {
        "type" : "object",
        "properties" : {
          "componentReference" : {
            "type" : "string",
            "description" : "\nReference to a component.\n\nComponents are organized into a group hierarchy which serves as a qualification mechanism to avoid collisions and also to group components semantically.\n\nThe fully qualified reference of a component follows the following syntax: `[component_group]:[component]`.\n",
            "example" : "simscale.cad.data-types:cad-model",
            "default" : null
          },
          "componentType" : {
            "type" : "string",
            "enum" : [ "DATA_TYPE", "METHOD", "WORKFLOW_TYPE", "PHYSICS_AI_MODEL", "ENGINEERING_AI_AGENT" ]
          },
          "name" : {
            "type" : "string",
            "nullable" : true
          },
          "state" : {
            "type" : "string",
            "description" : "Possible states of a component.",
            "default" : null,
            "enum" : [ "ACTIVE", "ARCHIVED" ]
          }
        },
        "description" : "Read projection of a component, enriched with the display name taken from the latest non-archived version. Returned by endpoints that exist to display components (the listing endpoint and the single-component fetch); write/state-transition endpoints return `ComponentMetadata`.",
        "default" : null
      },
      "ComponentRegistry.ComponentVersionDependencies" : {
        "type" : "object",
        "properties" : {
          "dataTypeDependencies" : {
            "type" : "array",
            "nullable" : true,
            "items" : {
              "type" : "string",
              "description" : "\nReference to a component version.\n\nComponents are organized into a group hierarchy which serves as a qualification mechanism to avoid collisions and also to group components semantically.\n\nComponent versions follow the convention of semantic versioning.\n\nThe fully qualified reference of a component version follows the following syntax: `[component_group]:[component]:[component_version]`.\n    ",
              "example" : "simscale.cad.data-types:cad-model",
              "default" : null
            }
          },
          "engineeringAiAgentDependencies" : {
            "type" : "array",
            "nullable" : true,
            "items" : {
              "type" : "string",
              "description" : "\nReference to a component version.\n\nComponents are organized into a group hierarchy which serves as a qualification mechanism to avoid collisions and also to group components semantically.\n\nComponent versions follow the convention of semantic versioning.\n\nThe fully qualified reference of a component version follows the following syntax: `[component_group]:[component]:[component_version]`.\n    ",
              "example" : "simscale.cad.data-types:cad-model",
              "default" : null
            }
          },
          "methodDependencies" : {
            "type" : "array",
            "nullable" : true,
            "items" : {
              "type" : "string",
              "description" : "\nReference to a component version.\n\nComponents are organized into a group hierarchy which serves as a qualification mechanism to avoid collisions and also to group components semantically.\n\nComponent versions follow the convention of semantic versioning.\n\nThe fully qualified reference of a component version follows the following syntax: `[component_group]:[component]:[component_version]`.\n    ",
              "example" : "simscale.cad.data-types:cad-model",
              "default" : null
            }
          },
          "physicsAiModelDependencies" : {
            "type" : "array",
            "nullable" : true,
            "items" : {
              "type" : "string",
              "description" : "\nReference to a component version.\n\nComponents are organized into a group hierarchy which serves as a qualification mechanism to avoid collisions and also to group components semantically.\n\nComponent versions follow the convention of semantic versioning.\n\nThe fully qualified reference of a component version follows the following syntax: `[component_group]:[component]:[component_version]`.\n    ",
              "example" : "simscale.cad.data-types:cad-model",
              "default" : null
            }
          },
          "workflowTypeDependencies" : {
            "type" : "array",
            "nullable" : true,
            "items" : {
              "type" : "string",
              "description" : "\nReference to a component version.\n\nComponents are organized into a group hierarchy which serves as a qualification mechanism to avoid collisions and also to group components semantically.\n\nComponent versions follow the convention of semantic versioning.\n\nThe fully qualified reference of a component version follows the following syntax: `[component_group]:[component]:[component_version]`.\n    ",
              "example" : "simscale.cad.data-types:cad-model",
              "default" : null
            }
          }
        },
        "description" : "Contains the dependencies of a component version, grouped by component type. Note that not all component types can have dependencies of all component types. For instance, data types can only depend on other data types, but not methods or workflows.",
        "default" : null
      },
      "ComponentRegistry.ComponentVersionDependents" : {
        "type" : "object",
        "properties" : {
          "dataTypeDependents" : {
            "type" : "array",
            "nullable" : true,
            "items" : {
              "type" : "string",
              "description" : "\nReference to a component version.\n\nComponents are organized into a group hierarchy which serves as a qualification mechanism to avoid collisions and also to group components semantically.\n\nComponent versions follow the convention of semantic versioning.\n\nThe fully qualified reference of a component version follows the following syntax: `[component_group]:[component]:[component_version]`.\n    ",
              "example" : "simscale.cad.data-types:cad-model",
              "default" : null
            }
          },
          "engineeringAiAgentDependents" : {
            "type" : "array",
            "nullable" : true,
            "items" : {
              "type" : "string",
              "description" : "\nReference to a component version.\n\nComponents are organized into a group hierarchy which serves as a qualification mechanism to avoid collisions and also to group components semantically.\n\nComponent versions follow the convention of semantic versioning.\n\nThe fully qualified reference of a component version follows the following syntax: `[component_group]:[component]:[component_version]`.\n    ",
              "example" : "simscale.cad.data-types:cad-model",
              "default" : null
            }
          },
          "methodDependents" : {
            "type" : "array",
            "nullable" : true,
            "items" : {
              "type" : "string",
              "description" : "\nReference to a component version.\n\nComponents are organized into a group hierarchy which serves as a qualification mechanism to avoid collisions and also to group components semantically.\n\nComponent versions follow the convention of semantic versioning.\n\nThe fully qualified reference of a component version follows the following syntax: `[component_group]:[component]:[component_version]`.\n    ",
              "example" : "simscale.cad.data-types:cad-model",
              "default" : null
            }
          },
          "physicsAiModelDependents" : {
            "type" : "array",
            "nullable" : true,
            "items" : {
              "type" : "string",
              "description" : "\nReference to a component version.\n\nComponents are organized into a group hierarchy which serves as a qualification mechanism to avoid collisions and also to group components semantically.\n\nComponent versions follow the convention of semantic versioning.\n\nThe fully qualified reference of a component version follows the following syntax: `[component_group]:[component]:[component_version]`.\n    ",
              "example" : "simscale.cad.data-types:cad-model",
              "default" : null
            }
          },
          "workflowTypeDependents" : {
            "type" : "array",
            "nullable" : true,
            "items" : {
              "type" : "string",
              "description" : "\nReference to a component version.\n\nComponents are organized into a group hierarchy which serves as a qualification mechanism to avoid collisions and also to group components semantically.\n\nComponent versions follow the convention of semantic versioning.\n\nThe fully qualified reference of a component version follows the following syntax: `[component_group]:[component]:[component_version]`.\n    ",
              "example" : "simscale.cad.data-types:cad-model",
              "default" : null
            }
          }
        },
        "description" : "Contains the component versions dependent on a component version, grouped by component type. Note that not all component types can have dependents of all component types. For instance, data types cannot depend on methods or workflow types.",
        "default" : null
      },
      "ComponentRegistry.ComponentVersionMetadata" : {
        "type" : "object",
        "properties" : {
          "componentVersionReference" : {
            "type" : "string",
            "description" : "\nReference to a component version.\n\nComponents are organized into a group hierarchy which serves as a qualification mechanism to avoid collisions and also to group components semantically.\n\nComponent versions follow the convention of semantic versioning.\n\nThe fully qualified reference of a component version follows the following syntax: `[component_group]:[component]:[component_version]`.\n    ",
            "example" : "simscale.cad.data-types:cad-model",
            "default" : null
          },
          "description" : {
            "type" : "string"
          },
          "multiLanguageDescription" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "nullable" : true
          },
          "multiLanguageName" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "nullable" : true
          },
          "name" : {
            "type" : "string"
          },
          "releaseNotes" : {
            "type" : "string",
            "nullable" : true
          },
          "state" : {
            "type" : "string",
            "description" : "Possible states of a component version.",
            "default" : null,
            "enum" : [ "SNAPSHOT", "RELEASE_CANDIDATE", "RELEASED", "DEPRECATED", "ARCHIVED" ]
          }
        },
        "description" : "Encapsulates all generic metadata about a component at a particular version.",
        "default" : null
      },
      "Workflows.CompoundComparisonEqual" : {
        "description" : "Value model of comparing two compound values for structural equality by their resolved JSON representations.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.BooleanValue"
        }, {
          "type" : "object",
          "properties" : {
            "operandA" : {
              "description" : "Value model for a compound value. Resolves to an object JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "compound" : "#/components/schemas/Workflows.CompoundValue",
                  "compound:expression:select" : "#/components/schemas/Workflows.CompoundExpressionSelect",
                  "compound:function:map_entities" : "#/components/schemas/Workflows.CompoundMapEntities"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            },
            "operandB" : {
              "description" : "Value model for a compound value. Resolves to an object JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "compound" : "#/components/schemas/Workflows.CompoundValue",
                  "compound:expression:select" : "#/components/schemas/Workflows.CompoundExpressionSelect",
                  "compound:function:map_entities" : "#/components/schemas/Workflows.CompoundMapEntities"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.CompoundExpressionSelect" : {
        "description" : "Value model for selecting a compound value from a list of options based on the provided conditions.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.AbstractCompoundValue"
        }, {
          "type" : "object",
          "properties" : {
            "options" : {
              "type" : "array",
              "items" : {
                "$ref" : "#/components/schemas/Workflows.PairBooleanValueAbstractCompoundValue"
              }
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.CompoundField" : {
        "description" : "Compound field represents an object that is composed of nested schema elements.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.AbstractCompoundField"
        }, {
          "type" : "object",
          "properties" : {
            "associatedDataType" : {
              "type" : "string"
            },
            "defaultSubtype" : {
              "type" : "boolean"
            },
            "doc" : {
              "type" : "string"
            },
            "expert" : {
              "type" : "boolean"
            },
            "fields" : {
              "type" : "object",
              "additionalProperties" : {
                "$ref" : "#/components/schemas/Workflows.SchemaElement"
              }
            },
            "label" : {
              "type" : "string"
            },
            "list" : {
              "type" : "boolean"
            },
            "modelFieldName" : {
              "type" : "string"
            },
            "multiLanguageDoc" : {
              "type" : "object",
              "additionalProperties" : {
                "type" : "string"
              }
            },
            "multiLanguageLabel" : {
              "type" : "object",
              "additionalProperties" : {
                "type" : "string"
              }
            },
            "name" : {
              "type" : "string"
            },
            "optional" : {
              "type" : "boolean"
            },
            "polymorphic" : {
              "type" : "boolean"
            },
            "schemaDefinitionFieldIndex" : {
              "type" : "integer",
              "format" : "int32"
            },
            "subtypes" : {
              "type" : "array",
              "items" : {
                "description" : "Abstract compound field denotes a schema element which has nested schema elements.",
                "discriminator" : {
                  "propertyName" : "schema_element_type",
                  "mapping" : {
                    "CompoundField" : "#/components/schemas/Workflows.CompoundField",
                    "SchemaDefinition" : "#/components/schemas/Workflows.SchemaDefinition"
                  }
                },
                "allOf" : [ {
                  "$ref" : "#/components/schemas/Workflows.SchemaElement"
                }, {
                  "type" : "object",
                  "properties" : {
                    "defaultSubtype" : {
                      "type" : "boolean"
                    },
                    "polymorphic" : {
                      "type" : "boolean"
                    },
                    "subtypes" : {
                      "type" : "array",
                      "items" : {
                        "type" : "object",
                        "description" : "Abstract compound field denotes a schema element which has nested schema elements.",
                        "default" : null
                      }
                    },
                    "supertype" : {
                      "description" : "Abstract compound field denotes a schema element which has nested schema elements.",
                      "discriminator" : {
                        "propertyName" : "schema_element_type",
                        "mapping" : {
                          "CompoundField" : "#/components/schemas/Workflows.CompoundField",
                          "SchemaDefinition" : "#/components/schemas/Workflows.SchemaDefinition"
                        }
                      },
                      "allOf" : [ {
                        "$ref" : "#/components/schemas/Workflows.SchemaElement"
                      }, {
                        "type" : "object",
                        "properties" : {
                          "defaultSubtype" : {
                            "type" : "boolean"
                          },
                          "polymorphic" : {
                            "type" : "boolean"
                          },
                          "subtypes" : {
                            "type" : "array",
                            "items" : {
                              "type" : "object",
                              "description" : "Abstract compound field denotes a schema element which has nested schema elements.",
                              "default" : null
                            }
                          },
                          "supertype" : {
                            "$ref" : "#/components/schemas/Workflows.AbstractCompoundField"
                          },
                          "typeName" : {
                            "type" : "string"
                          }
                        }
                      } ],
                      "default" : null
                    },
                    "typeName" : {
                      "type" : "string"
                    }
                  }
                } ],
                "default" : null
              }
            },
            "typeName" : {
              "type" : "string"
            },
            "uiFieldIndex" : {
              "type" : "integer",
              "format" : "int32"
            }
          }
        } ],
        "default" : null
      },
      "Workflows.CompoundFieldCustomUiConfigurationEntry" : {
        "description" : "Navigation UI configuration entry for compound fields.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.UiConfigurationEntry"
        }, {
          "type" : "object",
          "properties" : {
            "customUiConfigurationValue" : {
              "description" : "\nValue model for a concrete compound value. Resolves to an object JSON node.\n\nNote that the serialized representation of this value model contains the nested value models in a field map.\nThis is necessary to make this class sufficient for deserializing and processing compound values in the workflow engine in the absence of the original generated value models.\nWhen the developer is accessing fields of the generated value models then the generated getter and setter functions are storing values in this field map,\nthere's no backing field behind the properties in the generated value models. This architecture makes the value model definition type-safe meanwhile there's no need for the generated classes at runtime.\n    ",
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.AbstractCompoundValue"
              }, {
                "type" : "object",
                "properties" : {
                  "fields" : {
                    "type" : "object",
                    "additionalProperties" : {
                      "required" : [ "value_model_type" ],
                      "type" : "object",
                      "properties" : {
                        "value_model_type" : {
                          "type" : "string"
                        }
                      },
                      "description" : "\nValue interface is the root of the value model type hierarchy.\n\nValue models store the computation model of values. The models are defined by the developer, for convenience through a DSL\ncomposed of receiver and extension functions and other Kotlin language constructs.\n\nWhen the build runs the definition of the value model, it gets serialized into a JSON representation and that is the artifact of the build.\nThese JSONs are persisted into the database and loaded by the workflow engine for the evaluation of the values.\nOnce values are computed they get stored as data and used by methods or clients to show data to the user.\nValue models and data models adhere to the same schema defined by the developer in DSSL, just they have a different implementation due to their different roles.\n\nBelow we define the central repository of value models. These are all part of the framework, available to the workflow engine as well.\nThey provide atomic types and composition mechanisms via containers and the compound value model class. These are in sync with the building blocks in DSSL.\n\nUser defined types via DSSL schemas are based on the compound value model. The generated value models are available only at build time to the user to define\nthe value computation logic in a type-safe way, meanwhile at runtime in the workflow engine only the compound value model is present.\n\nThe single value resolution function of this interface is the one used by the workflow engine to execute the value computation.\nAll value models implement this in their own way. The result is always a JSON node, which can be either a single node or an entire tree of nodes behind it.\n\nValue model types below are organized into groups based on their parent type, essentially following the hierarchy in a flattened way.\nThe type names - which get into the serialized JSON representation - also follow this structure, where levels are separated with a colon (`:`).\nBy convention names composed of multiple words are presented with snake-case and these rules are followed as a naming convention:\n* `operation` for operators (both unary and binary, e.g. plus, minus, not...),\n* `comparison` for comparators (equal, not equal, less than),\n* `function` for the general case.\n    ",
                      "discriminator" : {
                        "propertyName" : "value_model_type",
                        "mapping" : {
                          "boolean:comparison:equal" : "#/components/schemas/Workflows.BooleanComparisonEqual",
                          "boolean:comparison:not_equal" : "#/components/schemas/Workflows.BooleanComparisonNotEqual",
                          "boolean:constant" : "#/components/schemas/Workflows.BooleanConstant",
                          "boolean:conversion:to_string" : "#/components/schemas/Workflows.BooleanToStringValueConversion",
                          "boolean:expression:select" : "#/components/schemas/Workflows.BooleanExpressionSelect",
                          "boolean:operation:and" : "#/components/schemas/Workflows.BooleanOperationAnd",
                          "boolean:operation:not" : "#/components/schemas/Workflows.BooleanOperationNot",
                          "boolean:operation:or" : "#/components/schemas/Workflows.BooleanOperationOr",
                          "boolean:operation:xor" : "#/components/schemas/Workflows.BooleanOperationXor",
                          "boolean:reference" : "#/components/schemas/Workflows.BooleanReference",
                          "compound" : "#/components/schemas/Workflows.CompoundValue",
                          "compound:comparison:equal" : "#/components/schemas/Workflows.CompoundComparisonEqual",
                          "compound:expression:select" : "#/components/schemas/Workflows.CompoundExpressionSelect",
                          "compound:function:is_type" : "#/components/schemas/Workflows.PolymorphicCompoundTypeCheck",
                          "compound:function:map_entities" : "#/components/schemas/Workflows.CompoundMapEntities",
                          "dimensional_scalar:comparison:greater_than" : "#/components/schemas/Workflows.DimensionalScalarComparisonGreaterThan",
                          "dimensional_scalar:comparison:greater_than_or_equal" : "#/components/schemas/Workflows.DimensionalScalarComparisonGreaterThanOrEqual",
                          "dimensional_scalar:comparison:less_than" : "#/components/schemas/Workflows.DimensionalScalarComparisonLessThan",
                          "dimensional_scalar:comparison:less_than_or_equal" : "#/components/schemas/Workflows.DimensionalScalarComparisonLessThanOrEqual",
                          "dimensional_scalar:constant" : "#/components/schemas/Workflows.DimensionalScalarConstant",
                          "dimensional_scalar:conversion:to_real" : "#/components/schemas/Workflows.DimensionalScalarToRealValueConversion",
                          "dimensional_scalar:conversion:to_string" : "#/components/schemas/Workflows.DimensionalScalarToStringValueConversion",
                          "dimensional_scalar:expression:select" : "#/components/schemas/Workflows.DimensionalScalarExpressionSelect",
                          "dimensional_scalar:function:pow" : "#/components/schemas/Workflows.DimensionalScalarFunctionPow",
                          "dimensional_scalar:operation:div" : "#/components/schemas/Workflows.DimensionalScalarOperationDiv",
                          "dimensional_scalar:operation:minus" : "#/components/schemas/Workflows.DimensionalScalarOperationMinus",
                          "dimensional_scalar:operation:plus" : "#/components/schemas/Workflows.DimensionalScalarOperationPlus",
                          "dimensional_scalar:operation:times" : "#/components/schemas/Workflows.DimensionalScalarOperationTimes",
                          "dimensional_scalar:reference" : "#/components/schemas/Workflows.DimensionalScalarReference",
                          "dimensional_vector:constant" : "#/components/schemas/Workflows.DimensionalVectorConstant",
                          "dimensional_vector:conversion:to_string" : "#/components/schemas/Workflows.DimensionalVectorToStringValueConversion",
                          "dimensional_vector:expression:select" : "#/components/schemas/Workflows.DimensionalVectorExpressionSelect",
                          "dimensional_vector:function:component" : "#/components/schemas/Workflows.DimensionalScalarFromDimensionalVectorComponent",
                          "dimensional_vector:function:mag" : "#/components/schemas/Workflows.DimensionalVectorFunctionMag",
                          "dimensional_vector:function:norm" : "#/components/schemas/Workflows.DimensionalVectorFunctionNorm",
                          "dimensional_vector:operation:div" : "#/components/schemas/Workflows.DimensionalVectorOperationDiv",
                          "dimensional_vector:operation:minus" : "#/components/schemas/Workflows.DimensionalVectorOperationMinus",
                          "dimensional_vector:operation:plus" : "#/components/schemas/Workflows.DimensionalVectorOperationPlus",
                          "dimensional_vector:operation:times" : "#/components/schemas/Workflows.DimensionalVectorOperationTimes",
                          "dimensional_vector:reference" : "#/components/schemas/Workflows.DimensionalVectorReference",
                          "dynamic_cast:as_boolean" : "#/components/schemas/Workflows.AsBooleanValue",
                          "dynamic_cast:as_dimensional_scalar" : "#/components/schemas/Workflows.AsDimensionalScalarValue",
                          "dynamic_cast:as_dimensional_vector" : "#/components/schemas/Workflows.AsDimensionalVectorValue",
                          "dynamic_cast:as_entity_assignment" : "#/components/schemas/Workflows.AsEntityAssignmentValue",
                          "dynamic_cast:as_entity_assignment_list" : "#/components/schemas/Workflows.AsEntityAssignmentListValue",
                          "dynamic_cast:as_enum" : "#/components/schemas/Workflows.AsEnumValue",
                          "dynamic_cast:as_integer" : "#/components/schemas/Workflows.AsIntegerValue",
                          "dynamic_cast:as_list" : "#/components/schemas/Workflows.AsValueList",
                          "dynamic_cast:as_measurement_unit" : "#/components/schemas/Workflows.AsMeasurementUnitValue",
                          "dynamic_cast:as_real" : "#/components/schemas/Workflows.AsRealValue",
                          "dynamic_cast:as_string" : "#/components/schemas/Workflows.AsStringValue",
                          "entity_assignment:constant" : "#/components/schemas/Workflows.EntityAssignmentConstant",
                          "entity_assignment:conversion:to_entity_assignment_list" : "#/components/schemas/Workflows.EntityAssignmentToEntityAssignmentListValueConversion",
                          "entity_assignment:conversion:to_markdown_link_string" : "#/components/schemas/Workflows.EntityAssignmentToMarkdownLinkValueConversion",
                          "entity_assignment:conversion:to_string" : "#/components/schemas/Workflows.EntityAssignmentToStringValueConversion",
                          "entity_assignment:function:is_empty" : "#/components/schemas/Workflows.EntityAssignmentFunctionIsEmpty",
                          "entity_assignment:function:map_entities" : "#/components/schemas/Workflows.EntityAssignmentMapEntities",
                          "entity_assignment:reference" : "#/components/schemas/Workflows.EntityAssignmentReference",
                          "entity_assignment_list:constant" : "#/components/schemas/Workflows.EntityAssignmentListConstant",
                          "entity_assignment_list:conversion:to_markdown_link_string" : "#/components/schemas/Workflows.EntityAssignmentListToMarkdownLinkValueConversion",
                          "entity_assignment_list:function:count_entities" : "#/components/schemas/Workflows.EntityAssignmentListFunctionCountEntities",
                          "entity_assignment_list:function:intersect" : "#/components/schemas/Workflows.EntityAssignmentListIntersect",
                          "entity_assignment_list:function:is_empty" : "#/components/schemas/Workflows.EntityAssignmentListFunctionIsEmpty",
                          "entity_assignment_list:function:map_entities" : "#/components/schemas/Workflows.EntityAssignmentListMapEntities",
                          "entity_assignment_list:reference" : "#/components/schemas/Workflows.EntityAssignmentListReference",
                          "enum:comparison:equal" : "#/components/schemas/Workflows.EnumComparisonEqual",
                          "enum:comparison:not_equal" : "#/components/schemas/Workflows.EnumComparisonNotEqual",
                          "enum:constant" : "#/components/schemas/Workflows.EnumConstant",
                          "enum:conversion:to_string" : "#/components/schemas/Workflows.EnumToStringValueConversion",
                          "enum:expression:select" : "#/components/schemas/Workflows.EnumExpressionSelect",
                          "enum:function:one_of" : "#/components/schemas/Workflows.EnumFunctionOneOf",
                          "enum:reference" : "#/components/schemas/Workflows.EnumReference",
                          "integer:comparison:equal" : "#/components/schemas/Workflows.IntegerComparisonEqual",
                          "integer:comparison:greater_than" : "#/components/schemas/Workflows.IntegerComparisonGreaterThan",
                          "integer:comparison:greater_than_or_equal" : "#/components/schemas/Workflows.IntegerComparisonGreaterThanOrEqual",
                          "integer:comparison:less_than" : "#/components/schemas/Workflows.IntegerComparisonLessThan",
                          "integer:comparison:less_than_or_equal" : "#/components/schemas/Workflows.IntegerComparisonLessThanOrEqual",
                          "integer:comparison:not_equal" : "#/components/schemas/Workflows.IntegerComparisonNotEqual",
                          "integer:constant" : "#/components/schemas/Workflows.IntegerConstant",
                          "integer:conversion:to_dimensional_scalar" : "#/components/schemas/Workflows.IntegerToDimensionalScalarValueConversion",
                          "integer:conversion:to_real" : "#/components/schemas/Workflows.IntegerToRealValueConversion",
                          "integer:conversion:to_string" : "#/components/schemas/Workflows.IntegerToStringValueConversion",
                          "integer:expression:select" : "#/components/schemas/Workflows.IntegerExpressionSelect",
                          "integer:function:abs" : "#/components/schemas/Workflows.IntegerFunctionAbs",
                          "integer:function:max" : "#/components/schemas/Workflows.IntegerFunctionMax",
                          "integer:function:min" : "#/components/schemas/Workflows.IntegerFunctionMin",
                          "integer:operation:div" : "#/components/schemas/Workflows.IntegerOperationDiv",
                          "integer:operation:minus" : "#/components/schemas/Workflows.IntegerOperationMinus",
                          "integer:operation:plus" : "#/components/schemas/Workflows.IntegerOperationPlus",
                          "integer:operation:rem" : "#/components/schemas/Workflows.IntegerOperationRem",
                          "integer:operation:times" : "#/components/schemas/Workflows.IntegerOperationTimes",
                          "integer:reference" : "#/components/schemas/Workflows.IntegerReference",
                          "list:constant" : "#/components/schemas/Workflows.ConstantValueList",
                          "list:conversion:to_entity_assignment_list" : "#/components/schemas/Workflows.EntityAssignmentListFromComponents",
                          "list:expression:select" : "#/components/schemas/Workflows.ValueListExpressionSelect",
                          "list:function:all" : "#/components/schemas/Workflows.ValueListFunctionAll",
                          "list:function:any" : "#/components/schemas/Workflows.ValueListFunctionAny",
                          "list:function:drop" : "#/components/schemas/Workflows.ValueListFunctionDrop",
                          "list:function:drop_last" : "#/components/schemas/Workflows.ValueListFunctionDropLast",
                          "list:function:filter" : "#/components/schemas/Workflows.ValueListFunctionFilter",
                          "list:function:find" : "#/components/schemas/Workflows.ValueListFunctionFind",
                          "list:function:first" : "#/components/schemas/Workflows.ValueListFunctionFirst",
                          "list:function:get" : "#/components/schemas/Workflows.ValueListFunctionGet",
                          "list:function:integer_sum" : "#/components/schemas/Workflows.ValueListFunctionIntegerSum",
                          "list:function:is_empty" : "#/components/schemas/Workflows.ValueListFunctionIsEmpty",
                          "list:function:is_not_empty" : "#/components/schemas/Workflows.ValueListFunctionIsNotEmpty",
                          "list:function:last" : "#/components/schemas/Workflows.ValueListFunctionLast",
                          "list:function:length" : "#/components/schemas/Workflows.ValueListFunctionSize",
                          "list:function:map" : "#/components/schemas/Workflows.ValueListFunctionMap",
                          "list:function:none" : "#/components/schemas/Workflows.ValueListFunctionNone",
                          "list:function:real_sum" : "#/components/schemas/Workflows.ValueListFunctionRealSum",
                          "list:function:sublist" : "#/components/schemas/Workflows.ValueListFunctionSubList",
                          "list:function:take" : "#/components/schemas/Workflows.ValueListFunctionTake",
                          "list:function:take_last" : "#/components/schemas/Workflows.ValueListFunctionTakeLast",
                          "list:generator:integer_sequence" : "#/components/schemas/Workflows.IntegerSequenceGenerator",
                          "list:generator:real_sequence" : "#/components/schemas/Workflows.RealSequenceGenerator",
                          "list:operation:plus" : "#/components/schemas/Workflows.ValueListOperationPlus",
                          "list:operation:times" : "#/components/schemas/Workflows.ValueListOperationTimes",
                          "list:reference" : "#/components/schemas/Workflows.ReferenceValueList",
                          "real:comparison:equal" : "#/components/schemas/Workflows.RealComparisonEqual",
                          "real:comparison:greater_than" : "#/components/schemas/Workflows.RealComparisonGreaterThan",
                          "real:comparison:greater_than_or_equal" : "#/components/schemas/Workflows.RealComparisonGreaterThanOrEqual",
                          "real:comparison:less_than" : "#/components/schemas/Workflows.RealComparisonLessThan",
                          "real:comparison:less_than_or_equal" : "#/components/schemas/Workflows.RealComparisonLessThanOrEqual",
                          "real:comparison:not_equal" : "#/components/schemas/Workflows.RealComparisonNotEqual",
                          "real:constant" : "#/components/schemas/Workflows.RealConstant",
                          "real:conversion:to_dimensional_scalar" : "#/components/schemas/Workflows.RealToDimensionalScalarValueConversion",
                          "real:conversion:to_dimensional_vector" : "#/components/schemas/Workflows.DimensionalVectorFromComponents",
                          "real:conversion:to_integer" : "#/components/schemas/Workflows.RealToIntegerConversion",
                          "real:conversion:to_string" : "#/components/schemas/Workflows.RealToStringValueConversion",
                          "real:expression:select" : "#/components/schemas/Workflows.RealExpressionSelect",
                          "real:function:abs" : "#/components/schemas/Workflows.RealFunctionAbs",
                          "real:function:acos" : "#/components/schemas/Workflows.RealFunctionACos",
                          "real:function:asin" : "#/components/schemas/Workflows.RealFunctionASin",
                          "real:function:atan" : "#/components/schemas/Workflows.RealFunctionATan",
                          "real:function:atan2" : "#/components/schemas/Workflows.RealFunctionATan2",
                          "real:function:cbrt" : "#/components/schemas/Workflows.RealFunctionCbrt",
                          "real:function:cos" : "#/components/schemas/Workflows.RealFunctionCos",
                          "real:function:exp" : "#/components/schemas/Workflows.RealFunctionExp",
                          "real:function:log" : "#/components/schemas/Workflows.RealFunctionLog",
                          "real:function:log10" : "#/components/schemas/Workflows.RealFunctionLog10",
                          "real:function:max" : "#/components/schemas/Workflows.RealFunctionMax",
                          "real:function:min" : "#/components/schemas/Workflows.RealFunctionMin",
                          "real:function:pow" : "#/components/schemas/Workflows.RealFunctionPow",
                          "real:function:sin" : "#/components/schemas/Workflows.RealFunctionSin",
                          "real:function:sqrt" : "#/components/schemas/Workflows.RealFunctionSqrt",
                          "real:function:tan" : "#/components/schemas/Workflows.RealFunctionTan",
                          "real:operation:div" : "#/components/schemas/Workflows.RealOperationDiv",
                          "real:operation:minus" : "#/components/schemas/Workflows.RealOperationMinus",
                          "real:operation:plus" : "#/components/schemas/Workflows.RealOperationPlus",
                          "real:operation:times" : "#/components/schemas/Workflows.RealOperationTimes",
                          "real:reference" : "#/components/schemas/Workflows.RealReference",
                          "string:comparison:equal" : "#/components/schemas/Workflows.StringComparisonEqual",
                          "string:comparison:not_equal" : "#/components/schemas/Workflows.StringComparisonNotEqual",
                          "string:constant" : "#/components/schemas/Workflows.StringConstant",
                          "string:conversion:to_integer" : "#/components/schemas/Workflows.StringToIntegerValueConversion",
                          "string:conversion:to_real" : "#/components/schemas/Workflows.StringToRealValueConversion",
                          "string:expression:select" : "#/components/schemas/Workflows.StringExpressionSelect",
                          "string:function:contains" : "#/components/schemas/Workflows.StringContainsFunction",
                          "string:function:ends_with" : "#/components/schemas/Workflows.StringEndsWithFunction",
                          "string:function:length" : "#/components/schemas/Workflows.StringLengthFunction",
                          "string:function:lowercase" : "#/components/schemas/Workflows.StringLowerCaseFunction",
                          "string:function:starts_with" : "#/components/schemas/Workflows.StringStartsWithFunction",
                          "string:function:substring" : "#/components/schemas/Workflows.StringSubStringFunction",
                          "string:function:uppercase" : "#/components/schemas/Workflows.StringUpperCaseFunction",
                          "string:operation:plus" : "#/components/schemas/Workflows.StringOperationPlus",
                          "string:reference" : "#/components/schemas/Workflows.StringReference",
                          "unit:comparison:equal" : "#/components/schemas/Workflows.MeasurementUnitComparisonEqual",
                          "unit:comparison:not_equal" : "#/components/schemas/Workflows.MeasurementUnitComparisonNotEqual",
                          "unit:constant" : "#/components/schemas/Workflows.MeasurementUnitConstant",
                          "unit:expression:select" : "#/components/schemas/Workflows.MeasurementUnitExpressionSelect",
                          "unit:function:pow" : "#/components/schemas/Workflows.MeasurementUnitFunctionPow",
                          "unit:operation:div" : "#/components/schemas/Workflows.MeasurementUnitOperationDiv",
                          "unit:operation:times" : "#/components/schemas/Workflows.MeasurementUnitOperationTimes",
                          "unit:reference" : "#/components/schemas/Workflows.MeasurementUnitReference",
                          "value_list:conversion:to_string" : "#/components/schemas/Workflows.ValueListToStringValueConversion"
                        }
                      },
                      "default" : null
                    }
                  },
                  "polymorphicCompoundValue" : {
                    "type" : "boolean"
                  },
                  "subtypeId" : {
                    "type" : "string"
                  },
                  "subtypes" : {
                    "type" : "object",
                    "additionalProperties" : {
                      "description" : "\nValue model for a concrete compound value. Resolves to an object JSON node.\n\nNote that the serialized representation of this value model contains the nested value models in a field map.\nThis is necessary to make this class sufficient for deserializing and processing compound values in the workflow engine in the absence of the original generated value models.\nWhen the developer is accessing fields of the generated value models then the generated getter and setter functions are storing values in this field map,\nthere's no backing field behind the properties in the generated value models. This architecture makes the value model definition type-safe meanwhile there's no need for the generated classes at runtime.\n    ",
                      "allOf" : [ {
                        "$ref" : "#/components/schemas/Workflows.AbstractCompoundValue"
                      }, {
                        "type" : "object",
                        "properties" : {
                          "polymorphicCompoundValue" : {
                            "type" : "boolean"
                          },
                          "subtypeId" : {
                            "type" : "string"
                          },
                          "valueReference" : {
                            "$ref" : "#/components/schemas/Workflows.ValueReference"
                          }
                        }
                      } ],
                      "default" : null
                    }
                  },
                  "valueReference" : {
                    "$ref" : "#/components/schemas/Workflows.ValueReference"
                  }
                }
              } ],
              "default" : null
            }
          }
        } ],
        "default" : null
      },
      "Workflows.CompoundFieldTitleUiConfigurationEntry" : {
        "description" : "UI configuration for the title of compound fields.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.UiConfigurationEntry"
        }, {
          "type" : "object",
          "properties" : {
            "titleType" : {
              "description" : "Value model for an enum value. Resolves to a text JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "enum:constant" : "#/components/schemas/Workflows.EnumConstant",
                  "enum:expression:select" : "#/components/schemas/Workflows.EnumExpressionSelect",
                  "enum:reference" : "#/components/schemas/Workflows.EnumReference"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        } ],
        "default" : null
      },
      "Workflows.CompoundMapEntities" : {
        "description" : "Value model for mapping entities from entity list or entity assignments in a compound value to a target source.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.AbstractCompoundValue"
        }, {
          "type" : "object",
          "properties" : {
            "compoundValue" : {
              "description" : "\nValue model for a concrete compound value. Resolves to an object JSON node.\n\nNote that the serialized representation of this value model contains the nested value models in a field map.\nThis is necessary to make this class sufficient for deserializing and processing compound values in the workflow engine in the absence of the original generated value models.\nWhen the developer is accessing fields of the generated value models then the generated getter and setter functions are storing values in this field map,\nthere's no backing field behind the properties in the generated value models. This architecture makes the value model definition type-safe meanwhile there's no need for the generated classes at runtime.\n    ",
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.AbstractCompoundValue"
              }, {
                "type" : "object",
                "properties" : {
                  "fields" : {
                    "type" : "object",
                    "additionalProperties" : {
                      "type" : "object",
                      "description" : "\nValue interface is the root of the value model type hierarchy.\n\nValue models store the computation model of values. The models are defined by the developer, for convenience through a DSL\ncomposed of receiver and extension functions and other Kotlin language constructs.\n\nWhen the build runs the definition of the value model, it gets serialized into a JSON representation and that is the artifact of the build.\nThese JSONs are persisted into the database and loaded by the workflow engine for the evaluation of the values.\nOnce values are computed they get stored as data and used by methods or clients to show data to the user.\nValue models and data models adhere to the same schema defined by the developer in DSSL, just they have a different implementation due to their different roles.\n\nBelow we define the central repository of value models. These are all part of the framework, available to the workflow engine as well.\nThey provide atomic types and composition mechanisms via containers and the compound value model class. These are in sync with the building blocks in DSSL.\n\nUser defined types via DSSL schemas are based on the compound value model. The generated value models are available only at build time to the user to define\nthe value computation logic in a type-safe way, meanwhile at runtime in the workflow engine only the compound value model is present.\n\nThe single value resolution function of this interface is the one used by the workflow engine to execute the value computation.\nAll value models implement this in their own way. The result is always a JSON node, which can be either a single node or an entire tree of nodes behind it.\n\nValue model types below are organized into groups based on their parent type, essentially following the hierarchy in a flattened way.\nThe type names - which get into the serialized JSON representation - also follow this structure, where levels are separated with a colon (`:`).\nBy convention names composed of multiple words are presented with snake-case and these rules are followed as a naming convention:\n* `operation` for operators (both unary and binary, e.g. plus, minus, not...),\n* `comparison` for comparators (equal, not equal, less than),\n* `function` for the general case.\n    ",
                      "default" : null
                    }
                  },
                  "polymorphicCompoundValue" : {
                    "type" : "boolean"
                  },
                  "subtypeId" : {
                    "type" : "string"
                  },
                  "subtypes" : {
                    "type" : "object",
                    "additionalProperties" : {
                      "description" : "\nValue model for a concrete compound value. Resolves to an object JSON node.\n\nNote that the serialized representation of this value model contains the nested value models in a field map.\nThis is necessary to make this class sufficient for deserializing and processing compound values in the workflow engine in the absence of the original generated value models.\nWhen the developer is accessing fields of the generated value models then the generated getter and setter functions are storing values in this field map,\nthere's no backing field behind the properties in the generated value models. This architecture makes the value model definition type-safe meanwhile there's no need for the generated classes at runtime.\n    ",
                      "allOf" : [ {
                        "$ref" : "#/components/schemas/Workflows.AbstractCompoundValue"
                      }, {
                        "type" : "object",
                        "properties" : {
                          "polymorphicCompoundValue" : {
                            "type" : "boolean"
                          },
                          "subtypeId" : {
                            "type" : "string"
                          },
                          "valueReference" : {
                            "$ref" : "#/components/schemas/Workflows.ValueReference"
                          }
                        }
                      } ],
                      "default" : null
                    }
                  },
                  "valueReference" : {
                    "$ref" : "#/components/schemas/Workflows.ValueReference"
                  }
                }
              } ],
              "default" : null
            },
            "targetAssignmentSource" : {
              "$ref" : "#/components/schemas/Workflows.EntityAssignmentSource"
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.CompoundValue" : {
        "description" : "\nValue model for a concrete compound value. Resolves to an object JSON node.\n\nNote that the serialized representation of this value model contains the nested value models in a field map.\nThis is necessary to make this class sufficient for deserializing and processing compound values in the workflow engine in the absence of the original generated value models.\nWhen the developer is accessing fields of the generated value models then the generated getter and setter functions are storing values in this field map,\nthere's no backing field behind the properties in the generated value models. This architecture makes the value model definition type-safe meanwhile there's no need for the generated classes at runtime.\n    ",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.AbstractCompoundValue"
        }, {
          "type" : "object",
          "properties" : {
            "fields" : {
              "type" : "object",
              "additionalProperties" : {
                "type" : "object",
                "description" : "\nValue interface is the root of the value model type hierarchy.\n\nValue models store the computation model of values. The models are defined by the developer, for convenience through a DSL\ncomposed of receiver and extension functions and other Kotlin language constructs.\n\nWhen the build runs the definition of the value model, it gets serialized into a JSON representation and that is the artifact of the build.\nThese JSONs are persisted into the database and loaded by the workflow engine for the evaluation of the values.\nOnce values are computed they get stored as data and used by methods or clients to show data to the user.\nValue models and data models adhere to the same schema defined by the developer in DSSL, just they have a different implementation due to their different roles.\n\nBelow we define the central repository of value models. These are all part of the framework, available to the workflow engine as well.\nThey provide atomic types and composition mechanisms via containers and the compound value model class. These are in sync with the building blocks in DSSL.\n\nUser defined types via DSSL schemas are based on the compound value model. The generated value models are available only at build time to the user to define\nthe value computation logic in a type-safe way, meanwhile at runtime in the workflow engine only the compound value model is present.\n\nThe single value resolution function of this interface is the one used by the workflow engine to execute the value computation.\nAll value models implement this in their own way. The result is always a JSON node, which can be either a single node or an entire tree of nodes behind it.\n\nValue model types below are organized into groups based on their parent type, essentially following the hierarchy in a flattened way.\nThe type names - which get into the serialized JSON representation - also follow this structure, where levels are separated with a colon (`:`).\nBy convention names composed of multiple words are presented with snake-case and these rules are followed as a naming convention:\n* `operation` for operators (both unary and binary, e.g. plus, minus, not...),\n* `comparison` for comparators (equal, not equal, less than),\n* `function` for the general case.\n    ",
                "default" : null
              }
            },
            "polymorphicCompoundValue" : {
              "type" : "boolean"
            },
            "subtypeId" : {
              "type" : "string"
            },
            "subtypes" : {
              "type" : "object",
              "additionalProperties" : {
                "description" : "\nValue model for a concrete compound value. Resolves to an object JSON node.\n\nNote that the serialized representation of this value model contains the nested value models in a field map.\nThis is necessary to make this class sufficient for deserializing and processing compound values in the workflow engine in the absence of the original generated value models.\nWhen the developer is accessing fields of the generated value models then the generated getter and setter functions are storing values in this field map,\nthere's no backing field behind the properties in the generated value models. This architecture makes the value model definition type-safe meanwhile there's no need for the generated classes at runtime.\n    ",
                "allOf" : [ {
                  "$ref" : "#/components/schemas/Workflows.AbstractCompoundValue"
                }, {
                  "type" : "object",
                  "properties" : {
                    "polymorphicCompoundValue" : {
                      "type" : "boolean"
                    },
                    "subtypeId" : {
                      "type" : "string"
                    },
                    "valueReference" : {
                      "$ref" : "#/components/schemas/Workflows.ValueReference"
                    }
                  }
                } ],
                "default" : null
              }
            },
            "valueReference" : {
              "$ref" : "#/components/schemas/Workflows.ValueReference"
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.ConfigValueReference" : {
        "description" : "Reference to a value in the workflow configuration.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.ValueReference"
        }, {
          "type" : "object",
          "properties" : {
            "valuePath" : {
              "type" : "string"
            }
          }
        } ],
        "default" : null
      },
      "Workflows.ConstantValueList" : {
        "description" : "Value model of a constant list value.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.ValueList"
        }, {
          "type" : "object",
          "properties" : {
            "elementModel" : {
              "$ref" : "#/components/schemas/Workflows.Value"
            },
            "values" : {
              "type" : "array",
              "items" : {
                "$ref" : "#/components/schemas/Workflows.Value"
              }
            }
          }
        } ],
        "default" : null
      },
      "ComponentRegistry.DataDescription" : {
        "type" : "object",
        "properties" : {
          "dataProviderType" : {
            "type" : "string",
            "description" : "\nIdentifies if a data is\n- `INTERNAL`: data is stored and managed by `data-repository` service or\n- `EXTERNAL`: data is stored and managed by an external service. Only a reference for it is stored in `data-repository` service.\n",
            "default" : null,
            "enum" : [ "INTERNAL", "EXTERNAL" ]
          },
          "dataTypeFilter" : {
            "oneOf" : [ {
              "$ref" : "#/components/schemas/Workflows.BooleanValue"
            }, {
              "nullable" : true
            } ]
          },
          "dataValidationRuleSet" : {
            "oneOf" : [ {
              "$ref" : "#/components/schemas/ComponentRegistry.ValidationRuleSet"
            }, {
              "nullable" : true
            } ]
          },
          "doc" : {
            "type" : "string",
            "nullable" : true
          },
          "fixedDataId" : {
            "type" : "string",
            "description" : "Data identifier. It is a string composed of the type identifier and a UUID: `data:[UUID]`.",
            "nullable" : true,
            "example" : "data:3fa85f64-5717-4562-b3fc-2c963f66afa6",
            "default" : null
          },
          "label" : {
            "type" : "string",
            "nullable" : true
          },
          "multiLanguageDoc" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "nullable" : true
          },
          "multiLanguageLabel" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "nullable" : true
          },
          "name" : {
            "type" : "string"
          },
          "optional" : {
            "type" : "boolean"
          },
          "parameters" : {
            "uniqueItems" : true,
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ComponentRegistry.ParameterDescription"
            }
          },
          "type" : {
            "type" : "string"
          }
        },
        "description" : "Description of a single data.",
        "default" : null
      },
      "ComponentRegistry.DataInterface" : {
        "type" : "object",
        "properties" : {
          "input" : {
            "uniqueItems" : true,
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ComponentRegistry.DataDescription"
            }
          },
          "output" : {
            "uniqueItems" : true,
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ComponentRegistry.DataDescription"
            }
          }
        },
        "description" : "Description of the input and output data of a method or a workflow.",
        "default" : null
      },
      "Workflows.DataMappingEntry" : {
        "type" : "object",
        "properties" : {
          "dataReference" : {
            "$ref" : "#/components/schemas/Workflows.DataReference"
          },
          "operationDataName" : {
            "type" : "string"
          },
          "parameterNameMapping" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            }
          }
        }
      },
      "Workflows.DataPresenceReference" : {
        "description" : "Reference to a workflow data. Used to determine the presence of the data itself.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.ValueReference"
        }, {
          "type" : "object",
          "properties" : {
            "dataName" : {
              "type" : "string"
            }
          }
        } ],
        "default" : null
      },
      "Workflows.DataReference" : {
        "type" : "object",
        "properties" : {
          "dataName" : {
            "type" : "string"
          },
          "dataTypeReference" : {
            "type" : "string"
          },
          "doc" : {
            "type" : "string"
          },
          "label" : {
            "type" : "string"
          },
          "multiLanguageDoc" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            }
          },
          "multiLanguageLabel" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            }
          }
        },
        "description" : "\nReference to a data in a workflow.\n\nIt is used to wire together the workflow topology and also used in the algorithms for the workflow execution.\n\nSpecific subtypes are generated for each data type for type safe wiring.\n",
        "default" : null
      },
      "ComponentRegistry.DataTypeFileOperationsDescription" : {
        "type" : "object",
        "properties" : {
          "downloadable" : {
            "type" : "boolean"
          },
          "fileFormatGroups" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ComponentRegistry.FileFormatGroup"
            }
          },
          "uploadable" : {
            "type" : "boolean"
          }
        },
        "description" : "Data type description in association to file operations",
        "default" : null
      },
      "Workflows.DataValueReference" : {
        "description" : "Reference to a value in a workflow data.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.ValueReference"
        }, {
          "type" : "object",
          "properties" : {
            "dataName" : {
              "type" : "string"
            },
            "valuePath" : {
              "type" : "string"
            }
          }
        } ],
        "default" : null
      },
      "Workflows.DimensionalField" : {
        "description" : "Dimensional field denotes a schema element which represents a dimensional quantity (scalar, vector...) with a unit.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.SchemaElement"
        }, {
          "type" : "object",
          "properties" : {
            "dataTypeReference" : {
              "type" : "string"
            },
            "dimensionalProfiles" : {
              "$ref" : "#/components/schemas/Workflows.DimensionalProfilesObjectDimension"
            },
            "quantityClass" : {
              "type" : "string",
              "description" : "Possible values are: `Double` for dimensional scalar and `Vector` for dimensional vector.",
              "example" : "Double",
              "default" : ""
            }
          }
        } ],
        "default" : null
      },
      "Workflows.DimensionalProfileObjectDimension" : {
        "type" : "object",
        "properties" : {
          "additionalUnits" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          },
          "defaultUnit" : {
            "type" : "string"
          },
          "defaultValue" : {
            "type" : "object"
          }
        },
        "description" : "Encapsulates a default unit, additional units, and an optional default value for a dimensional quantity.",
        "default" : null
      },
      "Workflows.DimensionalProfilesObjectDimension" : {
        "type" : "object",
        "properties" : {
          "metric" : {
            "$ref" : "#/components/schemas/Workflows.DimensionalProfileObjectDimension"
          },
          "usCustomary" : {
            "$ref" : "#/components/schemas/Workflows.DimensionalProfileObjectDimension"
          }
        },
        "description" : "Holds dimensional profiles for a given quantity: one for the metric system, and an optional profile for the US customary system.",
        "default" : null
      },
      "Workflows.DimensionalScalar" : {
        "type" : "object",
        "properties" : {
          "unit" : {
            "type" : "string"
          },
          "value" : {
            "type" : "number",
            "format" : "double"
          }
        },
        "description" : "\n        A dimensional scalar is represented by a real number and a unit.\n        \n        By convention, all operators return a DimensionalScalar in base SI units.\n        \n        The interface for certain functions accepts Numbers instead of Doubles so that we can have operations with all types of numbers. If this proves to be a performance bottleneck, we can re-assess.\n    ",
        "example" : "{\"value\": 42.0, \"unit: \"m/s\"}",
        "default" : null
      },
      "Workflows.DimensionalScalarComparisonGreaterThan" : {
        "description" : "Value model of comparing two dimensional scalars to decide if the left operand is greater than the right operand.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.BooleanValue"
        }, {
          "type" : "object",
          "properties" : {
            "operandA" : {
              "description" : "\nValue model for a dimensional scalar.\n\nResolves to an object node with field `value` (double node) and field `unit` (text node).\n\nNote: during resolution dimensionals are converted to base SI units (e.g. 50 miles/hour -> 22.352 m/s), unless the\nresolution context opts out of the conversion to keep the original units; results of operations are always in base SI units.\n    ",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "dimensional_scalar:constant" : "#/components/schemas/Workflows.DimensionalScalarConstant",
                  "dimensional_scalar:expression:select" : "#/components/schemas/Workflows.DimensionalScalarExpressionSelect",
                  "dimensional_scalar:function:pow" : "#/components/schemas/Workflows.DimensionalScalarFunctionPow",
                  "dimensional_scalar:operation:div" : "#/components/schemas/Workflows.DimensionalScalarOperationDiv",
                  "dimensional_scalar:operation:minus" : "#/components/schemas/Workflows.DimensionalScalarOperationMinus",
                  "dimensional_scalar:operation:plus" : "#/components/schemas/Workflows.DimensionalScalarOperationPlus",
                  "dimensional_scalar:operation:times" : "#/components/schemas/Workflows.DimensionalScalarOperationTimes",
                  "dimensional_scalar:reference" : "#/components/schemas/Workflows.DimensionalScalarReference",
                  "dimensional_vector:function:component" : "#/components/schemas/Workflows.DimensionalScalarFromDimensionalVectorComponent",
                  "dimensional_vector:function:mag" : "#/components/schemas/Workflows.DimensionalVectorFunctionMag",
                  "integer:conversion:to_dimensional_scalar" : "#/components/schemas/Workflows.IntegerToDimensionalScalarValueConversion",
                  "real:conversion:to_dimensional_scalar" : "#/components/schemas/Workflows.RealToDimensionalScalarValueConversion"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            },
            "operandB" : {
              "description" : "\nValue model for a dimensional scalar.\n\nResolves to an object node with field `value` (double node) and field `unit` (text node).\n\nNote: during resolution dimensionals are converted to base SI units (e.g. 50 miles/hour -> 22.352 m/s), unless the\nresolution context opts out of the conversion to keep the original units; results of operations are always in base SI units.\n    ",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "dimensional_scalar:constant" : "#/components/schemas/Workflows.DimensionalScalarConstant",
                  "dimensional_scalar:expression:select" : "#/components/schemas/Workflows.DimensionalScalarExpressionSelect",
                  "dimensional_scalar:function:pow" : "#/components/schemas/Workflows.DimensionalScalarFunctionPow",
                  "dimensional_scalar:operation:div" : "#/components/schemas/Workflows.DimensionalScalarOperationDiv",
                  "dimensional_scalar:operation:minus" : "#/components/schemas/Workflows.DimensionalScalarOperationMinus",
                  "dimensional_scalar:operation:plus" : "#/components/schemas/Workflows.DimensionalScalarOperationPlus",
                  "dimensional_scalar:operation:times" : "#/components/schemas/Workflows.DimensionalScalarOperationTimes",
                  "dimensional_scalar:reference" : "#/components/schemas/Workflows.DimensionalScalarReference",
                  "dimensional_vector:function:component" : "#/components/schemas/Workflows.DimensionalScalarFromDimensionalVectorComponent",
                  "dimensional_vector:function:mag" : "#/components/schemas/Workflows.DimensionalVectorFunctionMag",
                  "integer:conversion:to_dimensional_scalar" : "#/components/schemas/Workflows.IntegerToDimensionalScalarValueConversion",
                  "real:conversion:to_dimensional_scalar" : "#/components/schemas/Workflows.RealToDimensionalScalarValueConversion"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.DimensionalScalarComparisonGreaterThanOrEqual" : {
        "description" : "Value model of comparing two dimensional scalars to decide if the left operand is greater than or equal with right operand.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.BooleanValue"
        }, {
          "type" : "object",
          "properties" : {
            "operandA" : {
              "description" : "\nValue model for a dimensional scalar.\n\nResolves to an object node with field `value` (double node) and field `unit` (text node).\n\nNote: during resolution dimensionals are converted to base SI units (e.g. 50 miles/hour -> 22.352 m/s), unless the\nresolution context opts out of the conversion to keep the original units; results of operations are always in base SI units.\n    ",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "dimensional_scalar:constant" : "#/components/schemas/Workflows.DimensionalScalarConstant",
                  "dimensional_scalar:expression:select" : "#/components/schemas/Workflows.DimensionalScalarExpressionSelect",
                  "dimensional_scalar:function:pow" : "#/components/schemas/Workflows.DimensionalScalarFunctionPow",
                  "dimensional_scalar:operation:div" : "#/components/schemas/Workflows.DimensionalScalarOperationDiv",
                  "dimensional_scalar:operation:minus" : "#/components/schemas/Workflows.DimensionalScalarOperationMinus",
                  "dimensional_scalar:operation:plus" : "#/components/schemas/Workflows.DimensionalScalarOperationPlus",
                  "dimensional_scalar:operation:times" : "#/components/schemas/Workflows.DimensionalScalarOperationTimes",
                  "dimensional_scalar:reference" : "#/components/schemas/Workflows.DimensionalScalarReference",
                  "dimensional_vector:function:component" : "#/components/schemas/Workflows.DimensionalScalarFromDimensionalVectorComponent",
                  "dimensional_vector:function:mag" : "#/components/schemas/Workflows.DimensionalVectorFunctionMag",
                  "integer:conversion:to_dimensional_scalar" : "#/components/schemas/Workflows.IntegerToDimensionalScalarValueConversion",
                  "real:conversion:to_dimensional_scalar" : "#/components/schemas/Workflows.RealToDimensionalScalarValueConversion"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            },
            "operandB" : {
              "description" : "\nValue model for a dimensional scalar.\n\nResolves to an object node with field `value` (double node) and field `unit` (text node).\n\nNote: during resolution dimensionals are converted to base SI units (e.g. 50 miles/hour -> 22.352 m/s), unless the\nresolution context opts out of the conversion to keep the original units; results of operations are always in base SI units.\n    ",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "dimensional_scalar:constant" : "#/components/schemas/Workflows.DimensionalScalarConstant",
                  "dimensional_scalar:expression:select" : "#/components/schemas/Workflows.DimensionalScalarExpressionSelect",
                  "dimensional_scalar:function:pow" : "#/components/schemas/Workflows.DimensionalScalarFunctionPow",
                  "dimensional_scalar:operation:div" : "#/components/schemas/Workflows.DimensionalScalarOperationDiv",
                  "dimensional_scalar:operation:minus" : "#/components/schemas/Workflows.DimensionalScalarOperationMinus",
                  "dimensional_scalar:operation:plus" : "#/components/schemas/Workflows.DimensionalScalarOperationPlus",
                  "dimensional_scalar:operation:times" : "#/components/schemas/Workflows.DimensionalScalarOperationTimes",
                  "dimensional_scalar:reference" : "#/components/schemas/Workflows.DimensionalScalarReference",
                  "dimensional_vector:function:component" : "#/components/schemas/Workflows.DimensionalScalarFromDimensionalVectorComponent",
                  "dimensional_vector:function:mag" : "#/components/schemas/Workflows.DimensionalVectorFunctionMag",
                  "integer:conversion:to_dimensional_scalar" : "#/components/schemas/Workflows.IntegerToDimensionalScalarValueConversion",
                  "real:conversion:to_dimensional_scalar" : "#/components/schemas/Workflows.RealToDimensionalScalarValueConversion"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.DimensionalScalarComparisonLessThan" : {
        "description" : "Value model of comparing two dimensional scalars to decide if the left operand is less than the right operand.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.BooleanValue"
        }, {
          "type" : "object",
          "properties" : {
            "operandA" : {
              "description" : "\nValue model for a dimensional scalar.\n\nResolves to an object node with field `value` (double node) and field `unit` (text node).\n\nNote: during resolution dimensionals are converted to base SI units (e.g. 50 miles/hour -> 22.352 m/s), unless the\nresolution context opts out of the conversion to keep the original units; results of operations are always in base SI units.\n    ",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "dimensional_scalar:constant" : "#/components/schemas/Workflows.DimensionalScalarConstant",
                  "dimensional_scalar:expression:select" : "#/components/schemas/Workflows.DimensionalScalarExpressionSelect",
                  "dimensional_scalar:function:pow" : "#/components/schemas/Workflows.DimensionalScalarFunctionPow",
                  "dimensional_scalar:operation:div" : "#/components/schemas/Workflows.DimensionalScalarOperationDiv",
                  "dimensional_scalar:operation:minus" : "#/components/schemas/Workflows.DimensionalScalarOperationMinus",
                  "dimensional_scalar:operation:plus" : "#/components/schemas/Workflows.DimensionalScalarOperationPlus",
                  "dimensional_scalar:operation:times" : "#/components/schemas/Workflows.DimensionalScalarOperationTimes",
                  "dimensional_scalar:reference" : "#/components/schemas/Workflows.DimensionalScalarReference",
                  "dimensional_vector:function:component" : "#/components/schemas/Workflows.DimensionalScalarFromDimensionalVectorComponent",
                  "dimensional_vector:function:mag" : "#/components/schemas/Workflows.DimensionalVectorFunctionMag",
                  "integer:conversion:to_dimensional_scalar" : "#/components/schemas/Workflows.IntegerToDimensionalScalarValueConversion",
                  "real:conversion:to_dimensional_scalar" : "#/components/schemas/Workflows.RealToDimensionalScalarValueConversion"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            },
            "operandB" : {
              "description" : "\nValue model for a dimensional scalar.\n\nResolves to an object node with field `value` (double node) and field `unit` (text node).\n\nNote: during resolution dimensionals are converted to base SI units (e.g. 50 miles/hour -> 22.352 m/s), unless the\nresolution context opts out of the conversion to keep the original units; results of operations are always in base SI units.\n    ",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "dimensional_scalar:constant" : "#/components/schemas/Workflows.DimensionalScalarConstant",
                  "dimensional_scalar:expression:select" : "#/components/schemas/Workflows.DimensionalScalarExpressionSelect",
                  "dimensional_scalar:function:pow" : "#/components/schemas/Workflows.DimensionalScalarFunctionPow",
                  "dimensional_scalar:operation:div" : "#/components/schemas/Workflows.DimensionalScalarOperationDiv",
                  "dimensional_scalar:operation:minus" : "#/components/schemas/Workflows.DimensionalScalarOperationMinus",
                  "dimensional_scalar:operation:plus" : "#/components/schemas/Workflows.DimensionalScalarOperationPlus",
                  "dimensional_scalar:operation:times" : "#/components/schemas/Workflows.DimensionalScalarOperationTimes",
                  "dimensional_scalar:reference" : "#/components/schemas/Workflows.DimensionalScalarReference",
                  "dimensional_vector:function:component" : "#/components/schemas/Workflows.DimensionalScalarFromDimensionalVectorComponent",
                  "dimensional_vector:function:mag" : "#/components/schemas/Workflows.DimensionalVectorFunctionMag",
                  "integer:conversion:to_dimensional_scalar" : "#/components/schemas/Workflows.IntegerToDimensionalScalarValueConversion",
                  "real:conversion:to_dimensional_scalar" : "#/components/schemas/Workflows.RealToDimensionalScalarValueConversion"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.DimensionalScalarComparisonLessThanOrEqual" : {
        "description" : "Value model of comparing two dimensional scalars to decide if the left operand is less than or equal with the right operand.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.BooleanValue"
        }, {
          "type" : "object",
          "properties" : {
            "operandA" : {
              "description" : "\nValue model for a dimensional scalar.\n\nResolves to an object node with field `value` (double node) and field `unit` (text node).\n\nNote: during resolution dimensionals are converted to base SI units (e.g. 50 miles/hour -> 22.352 m/s), unless the\nresolution context opts out of the conversion to keep the original units; results of operations are always in base SI units.\n    ",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "dimensional_scalar:constant" : "#/components/schemas/Workflows.DimensionalScalarConstant",
                  "dimensional_scalar:expression:select" : "#/components/schemas/Workflows.DimensionalScalarExpressionSelect",
                  "dimensional_scalar:function:pow" : "#/components/schemas/Workflows.DimensionalScalarFunctionPow",
                  "dimensional_scalar:operation:div" : "#/components/schemas/Workflows.DimensionalScalarOperationDiv",
                  "dimensional_scalar:operation:minus" : "#/components/schemas/Workflows.DimensionalScalarOperationMinus",
                  "dimensional_scalar:operation:plus" : "#/components/schemas/Workflows.DimensionalScalarOperationPlus",
                  "dimensional_scalar:operation:times" : "#/components/schemas/Workflows.DimensionalScalarOperationTimes",
                  "dimensional_scalar:reference" : "#/components/schemas/Workflows.DimensionalScalarReference",
                  "dimensional_vector:function:component" : "#/components/schemas/Workflows.DimensionalScalarFromDimensionalVectorComponent",
                  "dimensional_vector:function:mag" : "#/components/schemas/Workflows.DimensionalVectorFunctionMag",
                  "integer:conversion:to_dimensional_scalar" : "#/components/schemas/Workflows.IntegerToDimensionalScalarValueConversion",
                  "real:conversion:to_dimensional_scalar" : "#/components/schemas/Workflows.RealToDimensionalScalarValueConversion"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            },
            "operandB" : {
              "description" : "\nValue model for a dimensional scalar.\n\nResolves to an object node with field `value` (double node) and field `unit` (text node).\n\nNote: during resolution dimensionals are converted to base SI units (e.g. 50 miles/hour -> 22.352 m/s), unless the\nresolution context opts out of the conversion to keep the original units; results of operations are always in base SI units.\n    ",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "dimensional_scalar:constant" : "#/components/schemas/Workflows.DimensionalScalarConstant",
                  "dimensional_scalar:expression:select" : "#/components/schemas/Workflows.DimensionalScalarExpressionSelect",
                  "dimensional_scalar:function:pow" : "#/components/schemas/Workflows.DimensionalScalarFunctionPow",
                  "dimensional_scalar:operation:div" : "#/components/schemas/Workflows.DimensionalScalarOperationDiv",
                  "dimensional_scalar:operation:minus" : "#/components/schemas/Workflows.DimensionalScalarOperationMinus",
                  "dimensional_scalar:operation:plus" : "#/components/schemas/Workflows.DimensionalScalarOperationPlus",
                  "dimensional_scalar:operation:times" : "#/components/schemas/Workflows.DimensionalScalarOperationTimes",
                  "dimensional_scalar:reference" : "#/components/schemas/Workflows.DimensionalScalarReference",
                  "dimensional_vector:function:component" : "#/components/schemas/Workflows.DimensionalScalarFromDimensionalVectorComponent",
                  "dimensional_vector:function:mag" : "#/components/schemas/Workflows.DimensionalVectorFunctionMag",
                  "integer:conversion:to_dimensional_scalar" : "#/components/schemas/Workflows.IntegerToDimensionalScalarValueConversion",
                  "real:conversion:to_dimensional_scalar" : "#/components/schemas/Workflows.RealToDimensionalScalarValueConversion"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.DimensionalScalarConstant" : {
        "description" : "Value model of a constant dimensional scalar.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.DimensionalScalarValue"
        }, {
          "type" : "object",
          "properties" : {
            "value" : {
              "$ref" : "#/components/schemas/Workflows.DimensionalScalarObject"
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.DimensionalScalarExpressionSelect" : {
        "description" : "Value model for selecting a dimensional scalar value from a list of options based on the provided conditions.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.DimensionalScalarValue"
        }, {
          "type" : "object",
          "properties" : {
            "options" : {
              "type" : "array",
              "items" : {
                "type" : "object"
              }
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.DimensionalScalarFromDimensionalVectorComponent" : {
        "description" : "Value model for creating a dimensional scalar from a dimensional vector component.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.DimensionalScalarValue"
        }, {
          "type" : "object",
          "properties" : {
            "component" : {
              "type" : "string",
              "description" : "Components of a dimensional vector (x, y, z).",
              "default" : "",
              "enum" : [ "X", "Y", "Z" ]
            },
            "vector" : {
              "description" : "\nValue model for a dimensional vector.\n\nResolves to an object node with field `vector` containing Cartesian vector components (`x`, `y`, `z`; as double nodes) and field `unit` (text node).\n\nNote that during resolution dimensionals are converted to base SI units (e.g. 50 miles/hour -> 22.352 m/s), unless the\nresolution context opts out of the conversion to keep the original units; results of operations are always in base SI units.\n    ",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "dimensional_vector:constant" : "#/components/schemas/Workflows.DimensionalVectorConstant",
                  "dimensional_vector:expression:select" : "#/components/schemas/Workflows.DimensionalVectorExpressionSelect",
                  "dimensional_vector:function:norm" : "#/components/schemas/Workflows.DimensionalVectorFunctionNorm",
                  "dimensional_vector:operation:div" : "#/components/schemas/Workflows.DimensionalVectorOperationDiv",
                  "dimensional_vector:operation:minus" : "#/components/schemas/Workflows.DimensionalVectorOperationMinus",
                  "dimensional_vector:operation:plus" : "#/components/schemas/Workflows.DimensionalVectorOperationPlus",
                  "dimensional_vector:operation:times" : "#/components/schemas/Workflows.DimensionalVectorOperationTimes",
                  "dimensional_vector:reference" : "#/components/schemas/Workflows.DimensionalVectorReference",
                  "real:conversion:to_dimensional_vector" : "#/components/schemas/Workflows.DimensionalVectorFromComponents"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.DimensionalScalarFunctionPow" : {
        "description" : "Value model of a dimensional scalar `**` (exponentiation) operation.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.DimensionalScalarValue"
        }, {
          "type" : "object",
          "properties" : {
            "argument1" : {
              "description" : "\nValue model for a dimensional scalar.\n\nResolves to an object node with field `value` (double node) and field `unit` (text node).\n\nNote: during resolution dimensionals are converted to base SI units (e.g. 50 miles/hour -> 22.352 m/s), unless the\nresolution context opts out of the conversion to keep the original units; results of operations are always in base SI units.\n    ",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "dimensional_scalar:constant" : "#/components/schemas/Workflows.DimensionalScalarConstant",
                  "dimensional_scalar:expression:select" : "#/components/schemas/Workflows.DimensionalScalarExpressionSelect",
                  "dimensional_scalar:function:pow" : "#/components/schemas/Workflows.DimensionalScalarFunctionPow",
                  "dimensional_scalar:operation:div" : "#/components/schemas/Workflows.DimensionalScalarOperationDiv",
                  "dimensional_scalar:operation:minus" : "#/components/schemas/Workflows.DimensionalScalarOperationMinus",
                  "dimensional_scalar:operation:plus" : "#/components/schemas/Workflows.DimensionalScalarOperationPlus",
                  "dimensional_scalar:operation:times" : "#/components/schemas/Workflows.DimensionalScalarOperationTimes",
                  "dimensional_scalar:reference" : "#/components/schemas/Workflows.DimensionalScalarReference",
                  "dimensional_vector:function:component" : "#/components/schemas/Workflows.DimensionalScalarFromDimensionalVectorComponent",
                  "dimensional_vector:function:mag" : "#/components/schemas/Workflows.DimensionalVectorFunctionMag",
                  "integer:conversion:to_dimensional_scalar" : "#/components/schemas/Workflows.IntegerToDimensionalScalarValueConversion",
                  "real:conversion:to_dimensional_scalar" : "#/components/schemas/Workflows.RealToDimensionalScalarValueConversion"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            },
            "argument2" : {
              "description" : "Value model for a 64-bit signed integer value. Resolves to a long JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "entity_assignment_list:function:count_entities" : "#/components/schemas/Workflows.EntityAssignmentListFunctionCountEntities",
                  "integer:constant" : "#/components/schemas/Workflows.IntegerConstant",
                  "integer:expression:select" : "#/components/schemas/Workflows.IntegerExpressionSelect",
                  "integer:function:abs" : "#/components/schemas/Workflows.IntegerFunctionAbs",
                  "integer:function:max" : "#/components/schemas/Workflows.IntegerFunctionMax",
                  "integer:function:min" : "#/components/schemas/Workflows.IntegerFunctionMin",
                  "integer:operation:div" : "#/components/schemas/Workflows.IntegerOperationDiv",
                  "integer:operation:minus" : "#/components/schemas/Workflows.IntegerOperationMinus",
                  "integer:operation:plus" : "#/components/schemas/Workflows.IntegerOperationPlus",
                  "integer:operation:rem" : "#/components/schemas/Workflows.IntegerOperationRem",
                  "integer:operation:times" : "#/components/schemas/Workflows.IntegerOperationTimes",
                  "integer:reference" : "#/components/schemas/Workflows.IntegerReference",
                  "list:function:integer_sum" : "#/components/schemas/Workflows.ValueListFunctionIntegerSum",
                  "list:function:length" : "#/components/schemas/Workflows.ValueListFunctionSize",
                  "real:conversion:to_integer" : "#/components/schemas/Workflows.RealToIntegerConversion",
                  "string:conversion:to_integer" : "#/components/schemas/Workflows.StringToIntegerValueConversion",
                  "string:function:length" : "#/components/schemas/Workflows.StringLengthFunction"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.DimensionalScalarObject" : {
        "type" : "object",
        "properties" : {
          "unit" : {
            "type" : "string"
          },
          "value" : {
            "type" : "number",
            "format" : "double"
          }
        },
        "description" : "\n        A dimensional scalar is represented by a real number and a unit.\n        \n        By convention, all operators return a DimensionalScalar in base SI units.\n        \n        The interface for certain functions accepts Numbers instead of Doubles so that we can have operations with all types of numbers. If this proves to be a performance bottleneck, we can re-assess.\n    ",
        "example" : "{\"value\": 42.0, \"unit: \"m/s\"}",
        "default" : null
      },
      "Workflows.DimensionalScalarOperationDiv" : {
        "description" : "Value model of a dimensional scalar `/` operation.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.DimensionalScalarValue"
        }, {
          "type" : "object",
          "properties" : {
            "operandA" : {
              "description" : "\nValue model for a dimensional scalar.\n\nResolves to an object node with field `value` (double node) and field `unit` (text node).\n\nNote: during resolution dimensionals are converted to base SI units (e.g. 50 miles/hour -> 22.352 m/s), unless the\nresolution context opts out of the conversion to keep the original units; results of operations are always in base SI units.\n    ",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "dimensional_scalar:constant" : "#/components/schemas/Workflows.DimensionalScalarConstant",
                  "dimensional_scalar:expression:select" : "#/components/schemas/Workflows.DimensionalScalarExpressionSelect",
                  "dimensional_scalar:function:pow" : "#/components/schemas/Workflows.DimensionalScalarFunctionPow",
                  "dimensional_scalar:operation:div" : "#/components/schemas/Workflows.DimensionalScalarOperationDiv",
                  "dimensional_scalar:operation:minus" : "#/components/schemas/Workflows.DimensionalScalarOperationMinus",
                  "dimensional_scalar:operation:plus" : "#/components/schemas/Workflows.DimensionalScalarOperationPlus",
                  "dimensional_scalar:operation:times" : "#/components/schemas/Workflows.DimensionalScalarOperationTimes",
                  "dimensional_scalar:reference" : "#/components/schemas/Workflows.DimensionalScalarReference",
                  "dimensional_vector:function:component" : "#/components/schemas/Workflows.DimensionalScalarFromDimensionalVectorComponent",
                  "dimensional_vector:function:mag" : "#/components/schemas/Workflows.DimensionalVectorFunctionMag",
                  "integer:conversion:to_dimensional_scalar" : "#/components/schemas/Workflows.IntegerToDimensionalScalarValueConversion",
                  "real:conversion:to_dimensional_scalar" : "#/components/schemas/Workflows.RealToDimensionalScalarValueConversion"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            },
            "operandB" : {
              "description" : "\nValue model for a dimensional scalar.\n\nResolves to an object node with field `value` (double node) and field `unit` (text node).\n\nNote: during resolution dimensionals are converted to base SI units (e.g. 50 miles/hour -> 22.352 m/s), unless the\nresolution context opts out of the conversion to keep the original units; results of operations are always in base SI units.\n    ",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "dimensional_scalar:constant" : "#/components/schemas/Workflows.DimensionalScalarConstant",
                  "dimensional_scalar:expression:select" : "#/components/schemas/Workflows.DimensionalScalarExpressionSelect",
                  "dimensional_scalar:function:pow" : "#/components/schemas/Workflows.DimensionalScalarFunctionPow",
                  "dimensional_scalar:operation:div" : "#/components/schemas/Workflows.DimensionalScalarOperationDiv",
                  "dimensional_scalar:operation:minus" : "#/components/schemas/Workflows.DimensionalScalarOperationMinus",
                  "dimensional_scalar:operation:plus" : "#/components/schemas/Workflows.DimensionalScalarOperationPlus",
                  "dimensional_scalar:operation:times" : "#/components/schemas/Workflows.DimensionalScalarOperationTimes",
                  "dimensional_scalar:reference" : "#/components/schemas/Workflows.DimensionalScalarReference",
                  "dimensional_vector:function:component" : "#/components/schemas/Workflows.DimensionalScalarFromDimensionalVectorComponent",
                  "dimensional_vector:function:mag" : "#/components/schemas/Workflows.DimensionalVectorFunctionMag",
                  "integer:conversion:to_dimensional_scalar" : "#/components/schemas/Workflows.IntegerToDimensionalScalarValueConversion",
                  "real:conversion:to_dimensional_scalar" : "#/components/schemas/Workflows.RealToDimensionalScalarValueConversion"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.DimensionalScalarOperationMinus" : {
        "description" : "Value model of a dimensional scalar `-` operation.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.DimensionalScalarValue"
        }, {
          "type" : "object",
          "properties" : {
            "operandA" : {
              "description" : "\nValue model for a dimensional scalar.\n\nResolves to an object node with field `value` (double node) and field `unit` (text node).\n\nNote: during resolution dimensionals are converted to base SI units (e.g. 50 miles/hour -> 22.352 m/s), unless the\nresolution context opts out of the conversion to keep the original units; results of operations are always in base SI units.\n    ",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "dimensional_scalar:constant" : "#/components/schemas/Workflows.DimensionalScalarConstant",
                  "dimensional_scalar:expression:select" : "#/components/schemas/Workflows.DimensionalScalarExpressionSelect",
                  "dimensional_scalar:function:pow" : "#/components/schemas/Workflows.DimensionalScalarFunctionPow",
                  "dimensional_scalar:operation:div" : "#/components/schemas/Workflows.DimensionalScalarOperationDiv",
                  "dimensional_scalar:operation:minus" : "#/components/schemas/Workflows.DimensionalScalarOperationMinus",
                  "dimensional_scalar:operation:plus" : "#/components/schemas/Workflows.DimensionalScalarOperationPlus",
                  "dimensional_scalar:operation:times" : "#/components/schemas/Workflows.DimensionalScalarOperationTimes",
                  "dimensional_scalar:reference" : "#/components/schemas/Workflows.DimensionalScalarReference",
                  "dimensional_vector:function:component" : "#/components/schemas/Workflows.DimensionalScalarFromDimensionalVectorComponent",
                  "dimensional_vector:function:mag" : "#/components/schemas/Workflows.DimensionalVectorFunctionMag",
                  "integer:conversion:to_dimensional_scalar" : "#/components/schemas/Workflows.IntegerToDimensionalScalarValueConversion",
                  "real:conversion:to_dimensional_scalar" : "#/components/schemas/Workflows.RealToDimensionalScalarValueConversion"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            },
            "operandB" : {
              "description" : "\nValue model for a dimensional scalar.\n\nResolves to an object node with field `value` (double node) and field `unit` (text node).\n\nNote: during resolution dimensionals are converted to base SI units (e.g. 50 miles/hour -> 22.352 m/s), unless the\nresolution context opts out of the conversion to keep the original units; results of operations are always in base SI units.\n    ",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "dimensional_scalar:constant" : "#/components/schemas/Workflows.DimensionalScalarConstant",
                  "dimensional_scalar:expression:select" : "#/components/schemas/Workflows.DimensionalScalarExpressionSelect",
                  "dimensional_scalar:function:pow" : "#/components/schemas/Workflows.DimensionalScalarFunctionPow",
                  "dimensional_scalar:operation:div" : "#/components/schemas/Workflows.DimensionalScalarOperationDiv",
                  "dimensional_scalar:operation:minus" : "#/components/schemas/Workflows.DimensionalScalarOperationMinus",
                  "dimensional_scalar:operation:plus" : "#/components/schemas/Workflows.DimensionalScalarOperationPlus",
                  "dimensional_scalar:operation:times" : "#/components/schemas/Workflows.DimensionalScalarOperationTimes",
                  "dimensional_scalar:reference" : "#/components/schemas/Workflows.DimensionalScalarReference",
                  "dimensional_vector:function:component" : "#/components/schemas/Workflows.DimensionalScalarFromDimensionalVectorComponent",
                  "dimensional_vector:function:mag" : "#/components/schemas/Workflows.DimensionalVectorFunctionMag",
                  "integer:conversion:to_dimensional_scalar" : "#/components/schemas/Workflows.IntegerToDimensionalScalarValueConversion",
                  "real:conversion:to_dimensional_scalar" : "#/components/schemas/Workflows.RealToDimensionalScalarValueConversion"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.DimensionalScalarOperationPlus" : {
        "description" : "Value model of a dimensional scalar `+` operation.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.DimensionalScalarValue"
        }, {
          "type" : "object",
          "properties" : {
            "operandA" : {
              "description" : "\nValue model for a dimensional scalar.\n\nResolves to an object node with field `value` (double node) and field `unit` (text node).\n\nNote: during resolution dimensionals are converted to base SI units (e.g. 50 miles/hour -> 22.352 m/s), unless the\nresolution context opts out of the conversion to keep the original units; results of operations are always in base SI units.\n    ",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "dimensional_scalar:constant" : "#/components/schemas/Workflows.DimensionalScalarConstant",
                  "dimensional_scalar:expression:select" : "#/components/schemas/Workflows.DimensionalScalarExpressionSelect",
                  "dimensional_scalar:function:pow" : "#/components/schemas/Workflows.DimensionalScalarFunctionPow",
                  "dimensional_scalar:operation:div" : "#/components/schemas/Workflows.DimensionalScalarOperationDiv",
                  "dimensional_scalar:operation:minus" : "#/components/schemas/Workflows.DimensionalScalarOperationMinus",
                  "dimensional_scalar:operation:plus" : "#/components/schemas/Workflows.DimensionalScalarOperationPlus",
                  "dimensional_scalar:operation:times" : "#/components/schemas/Workflows.DimensionalScalarOperationTimes",
                  "dimensional_scalar:reference" : "#/components/schemas/Workflows.DimensionalScalarReference",
                  "dimensional_vector:function:component" : "#/components/schemas/Workflows.DimensionalScalarFromDimensionalVectorComponent",
                  "dimensional_vector:function:mag" : "#/components/schemas/Workflows.DimensionalVectorFunctionMag",
                  "integer:conversion:to_dimensional_scalar" : "#/components/schemas/Workflows.IntegerToDimensionalScalarValueConversion",
                  "real:conversion:to_dimensional_scalar" : "#/components/schemas/Workflows.RealToDimensionalScalarValueConversion"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            },
            "operandB" : {
              "description" : "\nValue model for a dimensional scalar.\n\nResolves to an object node with field `value` (double node) and field `unit` (text node).\n\nNote: during resolution dimensionals are converted to base SI units (e.g. 50 miles/hour -> 22.352 m/s), unless the\nresolution context opts out of the conversion to keep the original units; results of operations are always in base SI units.\n    ",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "dimensional_scalar:constant" : "#/components/schemas/Workflows.DimensionalScalarConstant",
                  "dimensional_scalar:expression:select" : "#/components/schemas/Workflows.DimensionalScalarExpressionSelect",
                  "dimensional_scalar:function:pow" : "#/components/schemas/Workflows.DimensionalScalarFunctionPow",
                  "dimensional_scalar:operation:div" : "#/components/schemas/Workflows.DimensionalScalarOperationDiv",
                  "dimensional_scalar:operation:minus" : "#/components/schemas/Workflows.DimensionalScalarOperationMinus",
                  "dimensional_scalar:operation:plus" : "#/components/schemas/Workflows.DimensionalScalarOperationPlus",
                  "dimensional_scalar:operation:times" : "#/components/schemas/Workflows.DimensionalScalarOperationTimes",
                  "dimensional_scalar:reference" : "#/components/schemas/Workflows.DimensionalScalarReference",
                  "dimensional_vector:function:component" : "#/components/schemas/Workflows.DimensionalScalarFromDimensionalVectorComponent",
                  "dimensional_vector:function:mag" : "#/components/schemas/Workflows.DimensionalVectorFunctionMag",
                  "integer:conversion:to_dimensional_scalar" : "#/components/schemas/Workflows.IntegerToDimensionalScalarValueConversion",
                  "real:conversion:to_dimensional_scalar" : "#/components/schemas/Workflows.RealToDimensionalScalarValueConversion"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.DimensionalScalarOperationTimes" : {
        "description" : "Value model of a dimensional scalar `*` operation.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.DimensionalScalarValue"
        }, {
          "type" : "object",
          "properties" : {
            "operandA" : {
              "description" : "\nValue model for a dimensional scalar.\n\nResolves to an object node with field `value` (double node) and field `unit` (text node).\n\nNote: during resolution dimensionals are converted to base SI units (e.g. 50 miles/hour -> 22.352 m/s), unless the\nresolution context opts out of the conversion to keep the original units; results of operations are always in base SI units.\n    ",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "dimensional_scalar:constant" : "#/components/schemas/Workflows.DimensionalScalarConstant",
                  "dimensional_scalar:expression:select" : "#/components/schemas/Workflows.DimensionalScalarExpressionSelect",
                  "dimensional_scalar:function:pow" : "#/components/schemas/Workflows.DimensionalScalarFunctionPow",
                  "dimensional_scalar:operation:div" : "#/components/schemas/Workflows.DimensionalScalarOperationDiv",
                  "dimensional_scalar:operation:minus" : "#/components/schemas/Workflows.DimensionalScalarOperationMinus",
                  "dimensional_scalar:operation:plus" : "#/components/schemas/Workflows.DimensionalScalarOperationPlus",
                  "dimensional_scalar:operation:times" : "#/components/schemas/Workflows.DimensionalScalarOperationTimes",
                  "dimensional_scalar:reference" : "#/components/schemas/Workflows.DimensionalScalarReference",
                  "dimensional_vector:function:component" : "#/components/schemas/Workflows.DimensionalScalarFromDimensionalVectorComponent",
                  "dimensional_vector:function:mag" : "#/components/schemas/Workflows.DimensionalVectorFunctionMag",
                  "integer:conversion:to_dimensional_scalar" : "#/components/schemas/Workflows.IntegerToDimensionalScalarValueConversion",
                  "real:conversion:to_dimensional_scalar" : "#/components/schemas/Workflows.RealToDimensionalScalarValueConversion"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            },
            "operandB" : {
              "description" : "\nValue model for a dimensional scalar.\n\nResolves to an object node with field `value` (double node) and field `unit` (text node).\n\nNote: during resolution dimensionals are converted to base SI units (e.g. 50 miles/hour -> 22.352 m/s), unless the\nresolution context opts out of the conversion to keep the original units; results of operations are always in base SI units.\n    ",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "dimensional_scalar:constant" : "#/components/schemas/Workflows.DimensionalScalarConstant",
                  "dimensional_scalar:expression:select" : "#/components/schemas/Workflows.DimensionalScalarExpressionSelect",
                  "dimensional_scalar:function:pow" : "#/components/schemas/Workflows.DimensionalScalarFunctionPow",
                  "dimensional_scalar:operation:div" : "#/components/schemas/Workflows.DimensionalScalarOperationDiv",
                  "dimensional_scalar:operation:minus" : "#/components/schemas/Workflows.DimensionalScalarOperationMinus",
                  "dimensional_scalar:operation:plus" : "#/components/schemas/Workflows.DimensionalScalarOperationPlus",
                  "dimensional_scalar:operation:times" : "#/components/schemas/Workflows.DimensionalScalarOperationTimes",
                  "dimensional_scalar:reference" : "#/components/schemas/Workflows.DimensionalScalarReference",
                  "dimensional_vector:function:component" : "#/components/schemas/Workflows.DimensionalScalarFromDimensionalVectorComponent",
                  "dimensional_vector:function:mag" : "#/components/schemas/Workflows.DimensionalVectorFunctionMag",
                  "integer:conversion:to_dimensional_scalar" : "#/components/schemas/Workflows.IntegerToDimensionalScalarValueConversion",
                  "real:conversion:to_dimensional_scalar" : "#/components/schemas/Workflows.RealToDimensionalScalarValueConversion"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.DimensionalScalarReference" : {
        "description" : "Value model of a dimensional scalar reference.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.DimensionalScalarValue"
        }, {
          "type" : "object",
          "properties" : {
            "defaultValue" : {
              "$ref" : "#/components/schemas/Workflows.DimensionalScalarObject"
            },
            "valueReference" : {
              "$ref" : "#/components/schemas/Workflows.ValueReference"
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.DimensionalScalarToRealValueConversion" : {
        "description" : "Value model to convert a dimensional scalar value to a real value.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.RealValue"
        }, {
          "type" : "object",
          "properties" : {
            "dimensionalScalarValue" : {
              "description" : "\nValue model for a dimensional scalar.\n\nResolves to an object node with field `value` (double node) and field `unit` (text node).\n\nNote: during resolution dimensionals are converted to base SI units (e.g. 50 miles/hour -> 22.352 m/s), unless the\nresolution context opts out of the conversion to keep the original units; results of operations are always in base SI units.\n    ",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "dimensional_scalar:constant" : "#/components/schemas/Workflows.DimensionalScalarConstant",
                  "dimensional_scalar:expression:select" : "#/components/schemas/Workflows.DimensionalScalarExpressionSelect",
                  "dimensional_scalar:function:pow" : "#/components/schemas/Workflows.DimensionalScalarFunctionPow",
                  "dimensional_scalar:operation:div" : "#/components/schemas/Workflows.DimensionalScalarOperationDiv",
                  "dimensional_scalar:operation:minus" : "#/components/schemas/Workflows.DimensionalScalarOperationMinus",
                  "dimensional_scalar:operation:plus" : "#/components/schemas/Workflows.DimensionalScalarOperationPlus",
                  "dimensional_scalar:operation:times" : "#/components/schemas/Workflows.DimensionalScalarOperationTimes",
                  "dimensional_scalar:reference" : "#/components/schemas/Workflows.DimensionalScalarReference",
                  "dimensional_vector:function:component" : "#/components/schemas/Workflows.DimensionalScalarFromDimensionalVectorComponent",
                  "dimensional_vector:function:mag" : "#/components/schemas/Workflows.DimensionalVectorFunctionMag",
                  "integer:conversion:to_dimensional_scalar" : "#/components/schemas/Workflows.IntegerToDimensionalScalarValueConversion",
                  "real:conversion:to_dimensional_scalar" : "#/components/schemas/Workflows.RealToDimensionalScalarValueConversion"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.DimensionalScalarToStringValueConversion" : {
        "description" : "Value model for converting a dimensional scalar to a string.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.StringValue"
        }, {
          "type" : "object",
          "properties" : {
            "dimensionalScalarValue" : {
              "description" : "\nValue model for a dimensional scalar.\n\nResolves to an object node with field `value` (double node) and field `unit` (text node).\n\nNote: during resolution dimensionals are converted to base SI units (e.g. 50 miles/hour -> 22.352 m/s), unless the\nresolution context opts out of the conversion to keep the original units; results of operations are always in base SI units.\n    ",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "dimensional_scalar:constant" : "#/components/schemas/Workflows.DimensionalScalarConstant",
                  "dimensional_scalar:expression:select" : "#/components/schemas/Workflows.DimensionalScalarExpressionSelect",
                  "dimensional_scalar:function:pow" : "#/components/schemas/Workflows.DimensionalScalarFunctionPow",
                  "dimensional_scalar:operation:div" : "#/components/schemas/Workflows.DimensionalScalarOperationDiv",
                  "dimensional_scalar:operation:minus" : "#/components/schemas/Workflows.DimensionalScalarOperationMinus",
                  "dimensional_scalar:operation:plus" : "#/components/schemas/Workflows.DimensionalScalarOperationPlus",
                  "dimensional_scalar:operation:times" : "#/components/schemas/Workflows.DimensionalScalarOperationTimes",
                  "dimensional_scalar:reference" : "#/components/schemas/Workflows.DimensionalScalarReference",
                  "dimensional_vector:function:component" : "#/components/schemas/Workflows.DimensionalScalarFromDimensionalVectorComponent",
                  "dimensional_vector:function:mag" : "#/components/schemas/Workflows.DimensionalVectorFunctionMag",
                  "integer:conversion:to_dimensional_scalar" : "#/components/schemas/Workflows.IntegerToDimensionalScalarValueConversion",
                  "real:conversion:to_dimensional_scalar" : "#/components/schemas/Workflows.RealToDimensionalScalarValueConversion"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.DimensionalScalarValue" : {
        "description" : "\nValue model for a dimensional scalar.\n\nResolves to an object node with field `value` (double node) and field `unit` (text node).\n\nNote: during resolution dimensionals are converted to base SI units (e.g. 50 miles/hour -> 22.352 m/s), unless the\nresolution context opts out of the conversion to keep the original units; results of operations are always in base SI units.\n    ",
        "discriminator" : {
          "propertyName" : "value_model_type",
          "mapping" : {
            "dimensional_scalar:constant" : "#/components/schemas/Workflows.DimensionalScalarConstant",
            "dimensional_scalar:expression:select" : "#/components/schemas/Workflows.DimensionalScalarExpressionSelect",
            "dimensional_scalar:function:pow" : "#/components/schemas/Workflows.DimensionalScalarFunctionPow",
            "dimensional_scalar:operation:div" : "#/components/schemas/Workflows.DimensionalScalarOperationDiv",
            "dimensional_scalar:operation:minus" : "#/components/schemas/Workflows.DimensionalScalarOperationMinus",
            "dimensional_scalar:operation:plus" : "#/components/schemas/Workflows.DimensionalScalarOperationPlus",
            "dimensional_scalar:operation:times" : "#/components/schemas/Workflows.DimensionalScalarOperationTimes",
            "dimensional_scalar:reference" : "#/components/schemas/Workflows.DimensionalScalarReference",
            "dimensional_vector:function:component" : "#/components/schemas/Workflows.DimensionalScalarFromDimensionalVectorComponent",
            "dimensional_vector:function:mag" : "#/components/schemas/Workflows.DimensionalVectorFunctionMag",
            "integer:conversion:to_dimensional_scalar" : "#/components/schemas/Workflows.IntegerToDimensionalScalarValueConversion",
            "real:conversion:to_dimensional_scalar" : "#/components/schemas/Workflows.RealToDimensionalScalarValueConversion"
          }
        },
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.DimensionalVector" : {
        "type" : "object",
        "properties" : {
          "unit" : {
            "type" : "string"
          },
          "vector" : {
            "$ref" : "#/components/schemas/Workflows.Vector"
          }
        },
        "description" : "\n        A dimensional vector is represented by a 3D vector and a unit.\n        \n        By convention, all operators return a DimensionalVector in base SI units.\n        \n        The interface for certain functions accepts Numbers instead of Doubles so that we can have operations with all types of numbers. If this proves to be a performance bottleneck, we can re-assess.\n    ",
        "example" : "{\"vector\": {\"x\": 42.0, \"y\": 0.0, \"z\": 0.0}, \"unit: \"m/s\"}",
        "default" : null
      },
      "Workflows.DimensionalVectorConstant" : {
        "description" : "Value model of a constant dimensional vector.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.DimensionalVectorValue"
        }, {
          "type" : "object",
          "properties" : {
            "value" : {
              "$ref" : "#/components/schemas/Workflows.DimensionalVectorObject"
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.DimensionalVectorExpressionSelect" : {
        "description" : "Value model for selecting a dimensional vector value from a list of options based on the provided conditions.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.DimensionalVectorValue"
        }, {
          "type" : "object",
          "properties" : {
            "options" : {
              "type" : "array",
              "items" : {
                "type" : "object"
              }
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.DimensionalVectorFromComponents" : {
        "description" : "Value model of a creating a dimensional vector from components.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.DimensionalVectorValue"
        }, {
          "type" : "object",
          "properties" : {
            "unit" : {
              "description" : "Value model for a measurement unit value. Resolves to a text JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "unit:constant" : "#/components/schemas/Workflows.MeasurementUnitConstant",
                  "unit:expression:select" : "#/components/schemas/Workflows.MeasurementUnitExpressionSelect",
                  "unit:function:pow" : "#/components/schemas/Workflows.MeasurementUnitFunctionPow",
                  "unit:operation:div" : "#/components/schemas/Workflows.MeasurementUnitOperationDiv",
                  "unit:operation:times" : "#/components/schemas/Workflows.MeasurementUnitOperationTimes",
                  "unit:reference" : "#/components/schemas/Workflows.MeasurementUnitReference"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            },
            "x" : {
              "description" : "Value model for a 64-bit double precision floating point number. Resolves to a double JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "dimensional_scalar:conversion:to_real" : "#/components/schemas/Workflows.DimensionalScalarToRealValueConversion",
                  "integer:conversion:to_real" : "#/components/schemas/Workflows.IntegerToRealValueConversion",
                  "list:function:real_sum" : "#/components/schemas/Workflows.ValueListFunctionRealSum",
                  "real:constant" : "#/components/schemas/Workflows.RealConstant",
                  "real:expression:select" : "#/components/schemas/Workflows.RealExpressionSelect",
                  "real:function:abs" : "#/components/schemas/Workflows.RealFunctionAbs",
                  "real:function:acos" : "#/components/schemas/Workflows.RealFunctionACos",
                  "real:function:asin" : "#/components/schemas/Workflows.RealFunctionASin",
                  "real:function:atan" : "#/components/schemas/Workflows.RealFunctionATan",
                  "real:function:atan2" : "#/components/schemas/Workflows.RealFunctionATan2",
                  "real:function:cbrt" : "#/components/schemas/Workflows.RealFunctionCbrt",
                  "real:function:cos" : "#/components/schemas/Workflows.RealFunctionCos",
                  "real:function:exp" : "#/components/schemas/Workflows.RealFunctionExp",
                  "real:function:log" : "#/components/schemas/Workflows.RealFunctionLog",
                  "real:function:log10" : "#/components/schemas/Workflows.RealFunctionLog10",
                  "real:function:max" : "#/components/schemas/Workflows.RealFunctionMax",
                  "real:function:min" : "#/components/schemas/Workflows.RealFunctionMin",
                  "real:function:pow" : "#/components/schemas/Workflows.RealFunctionPow",
                  "real:function:sin" : "#/components/schemas/Workflows.RealFunctionSin",
                  "real:function:sqrt" : "#/components/schemas/Workflows.RealFunctionSqrt",
                  "real:function:tan" : "#/components/schemas/Workflows.RealFunctionTan",
                  "real:operation:div" : "#/components/schemas/Workflows.RealOperationDiv",
                  "real:operation:minus" : "#/components/schemas/Workflows.RealOperationMinus",
                  "real:operation:plus" : "#/components/schemas/Workflows.RealOperationPlus",
                  "real:operation:times" : "#/components/schemas/Workflows.RealOperationTimes",
                  "real:reference" : "#/components/schemas/Workflows.RealReference",
                  "string:conversion:to_real" : "#/components/schemas/Workflows.StringToRealValueConversion"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            },
            "y" : {
              "description" : "Value model for a 64-bit double precision floating point number. Resolves to a double JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "dimensional_scalar:conversion:to_real" : "#/components/schemas/Workflows.DimensionalScalarToRealValueConversion",
                  "integer:conversion:to_real" : "#/components/schemas/Workflows.IntegerToRealValueConversion",
                  "list:function:real_sum" : "#/components/schemas/Workflows.ValueListFunctionRealSum",
                  "real:constant" : "#/components/schemas/Workflows.RealConstant",
                  "real:expression:select" : "#/components/schemas/Workflows.RealExpressionSelect",
                  "real:function:abs" : "#/components/schemas/Workflows.RealFunctionAbs",
                  "real:function:acos" : "#/components/schemas/Workflows.RealFunctionACos",
                  "real:function:asin" : "#/components/schemas/Workflows.RealFunctionASin",
                  "real:function:atan" : "#/components/schemas/Workflows.RealFunctionATan",
                  "real:function:atan2" : "#/components/schemas/Workflows.RealFunctionATan2",
                  "real:function:cbrt" : "#/components/schemas/Workflows.RealFunctionCbrt",
                  "real:function:cos" : "#/components/schemas/Workflows.RealFunctionCos",
                  "real:function:exp" : "#/components/schemas/Workflows.RealFunctionExp",
                  "real:function:log" : "#/components/schemas/Workflows.RealFunctionLog",
                  "real:function:log10" : "#/components/schemas/Workflows.RealFunctionLog10",
                  "real:function:max" : "#/components/schemas/Workflows.RealFunctionMax",
                  "real:function:min" : "#/components/schemas/Workflows.RealFunctionMin",
                  "real:function:pow" : "#/components/schemas/Workflows.RealFunctionPow",
                  "real:function:sin" : "#/components/schemas/Workflows.RealFunctionSin",
                  "real:function:sqrt" : "#/components/schemas/Workflows.RealFunctionSqrt",
                  "real:function:tan" : "#/components/schemas/Workflows.RealFunctionTan",
                  "real:operation:div" : "#/components/schemas/Workflows.RealOperationDiv",
                  "real:operation:minus" : "#/components/schemas/Workflows.RealOperationMinus",
                  "real:operation:plus" : "#/components/schemas/Workflows.RealOperationPlus",
                  "real:operation:times" : "#/components/schemas/Workflows.RealOperationTimes",
                  "real:reference" : "#/components/schemas/Workflows.RealReference",
                  "string:conversion:to_real" : "#/components/schemas/Workflows.StringToRealValueConversion"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            },
            "z" : {
              "description" : "Value model for a 64-bit double precision floating point number. Resolves to a double JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "dimensional_scalar:conversion:to_real" : "#/components/schemas/Workflows.DimensionalScalarToRealValueConversion",
                  "integer:conversion:to_real" : "#/components/schemas/Workflows.IntegerToRealValueConversion",
                  "list:function:real_sum" : "#/components/schemas/Workflows.ValueListFunctionRealSum",
                  "real:constant" : "#/components/schemas/Workflows.RealConstant",
                  "real:expression:select" : "#/components/schemas/Workflows.RealExpressionSelect",
                  "real:function:abs" : "#/components/schemas/Workflows.RealFunctionAbs",
                  "real:function:acos" : "#/components/schemas/Workflows.RealFunctionACos",
                  "real:function:asin" : "#/components/schemas/Workflows.RealFunctionASin",
                  "real:function:atan" : "#/components/schemas/Workflows.RealFunctionATan",
                  "real:function:atan2" : "#/components/schemas/Workflows.RealFunctionATan2",
                  "real:function:cbrt" : "#/components/schemas/Workflows.RealFunctionCbrt",
                  "real:function:cos" : "#/components/schemas/Workflows.RealFunctionCos",
                  "real:function:exp" : "#/components/schemas/Workflows.RealFunctionExp",
                  "real:function:log" : "#/components/schemas/Workflows.RealFunctionLog",
                  "real:function:log10" : "#/components/schemas/Workflows.RealFunctionLog10",
                  "real:function:max" : "#/components/schemas/Workflows.RealFunctionMax",
                  "real:function:min" : "#/components/schemas/Workflows.RealFunctionMin",
                  "real:function:pow" : "#/components/schemas/Workflows.RealFunctionPow",
                  "real:function:sin" : "#/components/schemas/Workflows.RealFunctionSin",
                  "real:function:sqrt" : "#/components/schemas/Workflows.RealFunctionSqrt",
                  "real:function:tan" : "#/components/schemas/Workflows.RealFunctionTan",
                  "real:operation:div" : "#/components/schemas/Workflows.RealOperationDiv",
                  "real:operation:minus" : "#/components/schemas/Workflows.RealOperationMinus",
                  "real:operation:plus" : "#/components/schemas/Workflows.RealOperationPlus",
                  "real:operation:times" : "#/components/schemas/Workflows.RealOperationTimes",
                  "real:reference" : "#/components/schemas/Workflows.RealReference",
                  "string:conversion:to_real" : "#/components/schemas/Workflows.StringToRealValueConversion"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.DimensionalVectorFunctionMag" : {
        "description" : "Value model for calculating the magnitude of a dimensional vector.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.DimensionalScalarValue"
        }, {
          "type" : "object",
          "properties" : {
            "argument" : {
              "description" : "\nValue model for a dimensional vector.\n\nResolves to an object node with field `vector` containing Cartesian vector components (`x`, `y`, `z`; as double nodes) and field `unit` (text node).\n\nNote that during resolution dimensionals are converted to base SI units (e.g. 50 miles/hour -> 22.352 m/s), unless the\nresolution context opts out of the conversion to keep the original units; results of operations are always in base SI units.\n    ",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "dimensional_vector:constant" : "#/components/schemas/Workflows.DimensionalVectorConstant",
                  "dimensional_vector:expression:select" : "#/components/schemas/Workflows.DimensionalVectorExpressionSelect",
                  "dimensional_vector:function:norm" : "#/components/schemas/Workflows.DimensionalVectorFunctionNorm",
                  "dimensional_vector:operation:div" : "#/components/schemas/Workflows.DimensionalVectorOperationDiv",
                  "dimensional_vector:operation:minus" : "#/components/schemas/Workflows.DimensionalVectorOperationMinus",
                  "dimensional_vector:operation:plus" : "#/components/schemas/Workflows.DimensionalVectorOperationPlus",
                  "dimensional_vector:operation:times" : "#/components/schemas/Workflows.DimensionalVectorOperationTimes",
                  "dimensional_vector:reference" : "#/components/schemas/Workflows.DimensionalVectorReference",
                  "real:conversion:to_dimensional_vector" : "#/components/schemas/Workflows.DimensionalVectorFromComponents"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.DimensionalVectorFunctionNorm" : {
        "description" : "Value model for normalizing a dimensional vector.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.DimensionalVectorValue"
        }, {
          "type" : "object",
          "properties" : {
            "argument" : {
              "description" : "\nValue model for a dimensional vector.\n\nResolves to an object node with field `vector` containing Cartesian vector components (`x`, `y`, `z`; as double nodes) and field `unit` (text node).\n\nNote that during resolution dimensionals are converted to base SI units (e.g. 50 miles/hour -> 22.352 m/s), unless the\nresolution context opts out of the conversion to keep the original units; results of operations are always in base SI units.\n    ",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "dimensional_vector:constant" : "#/components/schemas/Workflows.DimensionalVectorConstant",
                  "dimensional_vector:expression:select" : "#/components/schemas/Workflows.DimensionalVectorExpressionSelect",
                  "dimensional_vector:function:norm" : "#/components/schemas/Workflows.DimensionalVectorFunctionNorm",
                  "dimensional_vector:operation:div" : "#/components/schemas/Workflows.DimensionalVectorOperationDiv",
                  "dimensional_vector:operation:minus" : "#/components/schemas/Workflows.DimensionalVectorOperationMinus",
                  "dimensional_vector:operation:plus" : "#/components/schemas/Workflows.DimensionalVectorOperationPlus",
                  "dimensional_vector:operation:times" : "#/components/schemas/Workflows.DimensionalVectorOperationTimes",
                  "dimensional_vector:reference" : "#/components/schemas/Workflows.DimensionalVectorReference",
                  "real:conversion:to_dimensional_vector" : "#/components/schemas/Workflows.DimensionalVectorFromComponents"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.DimensionalVectorObject" : {
        "type" : "object",
        "properties" : {
          "unit" : {
            "type" : "string"
          },
          "vector" : {
            "$ref" : "#/components/schemas/Workflows.Vector"
          }
        },
        "description" : "\n        A dimensional vector is represented by a 3D vector and a unit.\n        \n        By convention, all operators return a DimensionalVector in base SI units.\n        \n        The interface for certain functions accepts Numbers instead of Doubles so that we can have operations with all types of numbers. If this proves to be a performance bottleneck, we can re-assess.\n    ",
        "example" : "{\"vector\": {\"x\": 42.0, \"y\": 0.0, \"z\": 0.0}, \"unit: \"m/s\"}",
        "default" : null
      },
      "Workflows.DimensionalVectorOperationDiv" : {
        "description" : "Value model for dividing a dimensional vector with a dimensional scalar.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.DimensionalVectorValue"
        }, {
          "type" : "object",
          "properties" : {
            "operandA" : {
              "description" : "\nValue model for a dimensional vector.\n\nResolves to an object node with field `vector` containing Cartesian vector components (`x`, `y`, `z`; as double nodes) and field `unit` (text node).\n\nNote that during resolution dimensionals are converted to base SI units (e.g. 50 miles/hour -> 22.352 m/s), unless the\nresolution context opts out of the conversion to keep the original units; results of operations are always in base SI units.\n    ",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "dimensional_vector:constant" : "#/components/schemas/Workflows.DimensionalVectorConstant",
                  "dimensional_vector:expression:select" : "#/components/schemas/Workflows.DimensionalVectorExpressionSelect",
                  "dimensional_vector:function:norm" : "#/components/schemas/Workflows.DimensionalVectorFunctionNorm",
                  "dimensional_vector:operation:div" : "#/components/schemas/Workflows.DimensionalVectorOperationDiv",
                  "dimensional_vector:operation:minus" : "#/components/schemas/Workflows.DimensionalVectorOperationMinus",
                  "dimensional_vector:operation:plus" : "#/components/schemas/Workflows.DimensionalVectorOperationPlus",
                  "dimensional_vector:operation:times" : "#/components/schemas/Workflows.DimensionalVectorOperationTimes",
                  "dimensional_vector:reference" : "#/components/schemas/Workflows.DimensionalVectorReference",
                  "real:conversion:to_dimensional_vector" : "#/components/schemas/Workflows.DimensionalVectorFromComponents"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            },
            "operandB" : {
              "description" : "\nValue model for a dimensional scalar.\n\nResolves to an object node with field `value` (double node) and field `unit` (text node).\n\nNote: during resolution dimensionals are converted to base SI units (e.g. 50 miles/hour -> 22.352 m/s), unless the\nresolution context opts out of the conversion to keep the original units; results of operations are always in base SI units.\n    ",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "dimensional_scalar:constant" : "#/components/schemas/Workflows.DimensionalScalarConstant",
                  "dimensional_scalar:expression:select" : "#/components/schemas/Workflows.DimensionalScalarExpressionSelect",
                  "dimensional_scalar:function:pow" : "#/components/schemas/Workflows.DimensionalScalarFunctionPow",
                  "dimensional_scalar:operation:div" : "#/components/schemas/Workflows.DimensionalScalarOperationDiv",
                  "dimensional_scalar:operation:minus" : "#/components/schemas/Workflows.DimensionalScalarOperationMinus",
                  "dimensional_scalar:operation:plus" : "#/components/schemas/Workflows.DimensionalScalarOperationPlus",
                  "dimensional_scalar:operation:times" : "#/components/schemas/Workflows.DimensionalScalarOperationTimes",
                  "dimensional_scalar:reference" : "#/components/schemas/Workflows.DimensionalScalarReference",
                  "dimensional_vector:function:component" : "#/components/schemas/Workflows.DimensionalScalarFromDimensionalVectorComponent",
                  "dimensional_vector:function:mag" : "#/components/schemas/Workflows.DimensionalVectorFunctionMag",
                  "integer:conversion:to_dimensional_scalar" : "#/components/schemas/Workflows.IntegerToDimensionalScalarValueConversion",
                  "real:conversion:to_dimensional_scalar" : "#/components/schemas/Workflows.RealToDimensionalScalarValueConversion"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.DimensionalVectorOperationMinus" : {
        "description" : "Value model of a dimensional vector `-` operation.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.DimensionalVectorValue"
        }, {
          "type" : "object",
          "properties" : {
            "operandA" : {
              "description" : "\nValue model for a dimensional vector.\n\nResolves to an object node with field `vector` containing Cartesian vector components (`x`, `y`, `z`; as double nodes) and field `unit` (text node).\n\nNote that during resolution dimensionals are converted to base SI units (e.g. 50 miles/hour -> 22.352 m/s), unless the\nresolution context opts out of the conversion to keep the original units; results of operations are always in base SI units.\n    ",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "dimensional_vector:constant" : "#/components/schemas/Workflows.DimensionalVectorConstant",
                  "dimensional_vector:expression:select" : "#/components/schemas/Workflows.DimensionalVectorExpressionSelect",
                  "dimensional_vector:function:norm" : "#/components/schemas/Workflows.DimensionalVectorFunctionNorm",
                  "dimensional_vector:operation:div" : "#/components/schemas/Workflows.DimensionalVectorOperationDiv",
                  "dimensional_vector:operation:minus" : "#/components/schemas/Workflows.DimensionalVectorOperationMinus",
                  "dimensional_vector:operation:plus" : "#/components/schemas/Workflows.DimensionalVectorOperationPlus",
                  "dimensional_vector:operation:times" : "#/components/schemas/Workflows.DimensionalVectorOperationTimes",
                  "dimensional_vector:reference" : "#/components/schemas/Workflows.DimensionalVectorReference",
                  "real:conversion:to_dimensional_vector" : "#/components/schemas/Workflows.DimensionalVectorFromComponents"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            },
            "operandB" : {
              "description" : "\nValue model for a dimensional vector.\n\nResolves to an object node with field `vector` containing Cartesian vector components (`x`, `y`, `z`; as double nodes) and field `unit` (text node).\n\nNote that during resolution dimensionals are converted to base SI units (e.g. 50 miles/hour -> 22.352 m/s), unless the\nresolution context opts out of the conversion to keep the original units; results of operations are always in base SI units.\n    ",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "dimensional_vector:constant" : "#/components/schemas/Workflows.DimensionalVectorConstant",
                  "dimensional_vector:expression:select" : "#/components/schemas/Workflows.DimensionalVectorExpressionSelect",
                  "dimensional_vector:function:norm" : "#/components/schemas/Workflows.DimensionalVectorFunctionNorm",
                  "dimensional_vector:operation:div" : "#/components/schemas/Workflows.DimensionalVectorOperationDiv",
                  "dimensional_vector:operation:minus" : "#/components/schemas/Workflows.DimensionalVectorOperationMinus",
                  "dimensional_vector:operation:plus" : "#/components/schemas/Workflows.DimensionalVectorOperationPlus",
                  "dimensional_vector:operation:times" : "#/components/schemas/Workflows.DimensionalVectorOperationTimes",
                  "dimensional_vector:reference" : "#/components/schemas/Workflows.DimensionalVectorReference",
                  "real:conversion:to_dimensional_vector" : "#/components/schemas/Workflows.DimensionalVectorFromComponents"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.DimensionalVectorOperationPlus" : {
        "description" : "Value model of a dimensional vector `+` operation.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.DimensionalVectorValue"
        }, {
          "type" : "object",
          "properties" : {
            "operandA" : {
              "description" : "\nValue model for a dimensional vector.\n\nResolves to an object node with field `vector` containing Cartesian vector components (`x`, `y`, `z`; as double nodes) and field `unit` (text node).\n\nNote that during resolution dimensionals are converted to base SI units (e.g. 50 miles/hour -> 22.352 m/s), unless the\nresolution context opts out of the conversion to keep the original units; results of operations are always in base SI units.\n    ",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "dimensional_vector:constant" : "#/components/schemas/Workflows.DimensionalVectorConstant",
                  "dimensional_vector:expression:select" : "#/components/schemas/Workflows.DimensionalVectorExpressionSelect",
                  "dimensional_vector:function:norm" : "#/components/schemas/Workflows.DimensionalVectorFunctionNorm",
                  "dimensional_vector:operation:div" : "#/components/schemas/Workflows.DimensionalVectorOperationDiv",
                  "dimensional_vector:operation:minus" : "#/components/schemas/Workflows.DimensionalVectorOperationMinus",
                  "dimensional_vector:operation:plus" : "#/components/schemas/Workflows.DimensionalVectorOperationPlus",
                  "dimensional_vector:operation:times" : "#/components/schemas/Workflows.DimensionalVectorOperationTimes",
                  "dimensional_vector:reference" : "#/components/schemas/Workflows.DimensionalVectorReference",
                  "real:conversion:to_dimensional_vector" : "#/components/schemas/Workflows.DimensionalVectorFromComponents"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            },
            "operandB" : {
              "description" : "\nValue model for a dimensional vector.\n\nResolves to an object node with field `vector` containing Cartesian vector components (`x`, `y`, `z`; as double nodes) and field `unit` (text node).\n\nNote that during resolution dimensionals are converted to base SI units (e.g. 50 miles/hour -> 22.352 m/s), unless the\nresolution context opts out of the conversion to keep the original units; results of operations are always in base SI units.\n    ",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "dimensional_vector:constant" : "#/components/schemas/Workflows.DimensionalVectorConstant",
                  "dimensional_vector:expression:select" : "#/components/schemas/Workflows.DimensionalVectorExpressionSelect",
                  "dimensional_vector:function:norm" : "#/components/schemas/Workflows.DimensionalVectorFunctionNorm",
                  "dimensional_vector:operation:div" : "#/components/schemas/Workflows.DimensionalVectorOperationDiv",
                  "dimensional_vector:operation:minus" : "#/components/schemas/Workflows.DimensionalVectorOperationMinus",
                  "dimensional_vector:operation:plus" : "#/components/schemas/Workflows.DimensionalVectorOperationPlus",
                  "dimensional_vector:operation:times" : "#/components/schemas/Workflows.DimensionalVectorOperationTimes",
                  "dimensional_vector:reference" : "#/components/schemas/Workflows.DimensionalVectorReference",
                  "real:conversion:to_dimensional_vector" : "#/components/schemas/Workflows.DimensionalVectorFromComponents"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.DimensionalVectorOperationTimes" : {
        "description" : "Value model for multiplying a dimensional vector with a dimensional scalar.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.DimensionalVectorValue"
        }, {
          "type" : "object",
          "properties" : {
            "operandA" : {
              "description" : "\nValue model for a dimensional vector.\n\nResolves to an object node with field `vector` containing Cartesian vector components (`x`, `y`, `z`; as double nodes) and field `unit` (text node).\n\nNote that during resolution dimensionals are converted to base SI units (e.g. 50 miles/hour -> 22.352 m/s), unless the\nresolution context opts out of the conversion to keep the original units; results of operations are always in base SI units.\n    ",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "dimensional_vector:constant" : "#/components/schemas/Workflows.DimensionalVectorConstant",
                  "dimensional_vector:expression:select" : "#/components/schemas/Workflows.DimensionalVectorExpressionSelect",
                  "dimensional_vector:function:norm" : "#/components/schemas/Workflows.DimensionalVectorFunctionNorm",
                  "dimensional_vector:operation:div" : "#/components/schemas/Workflows.DimensionalVectorOperationDiv",
                  "dimensional_vector:operation:minus" : "#/components/schemas/Workflows.DimensionalVectorOperationMinus",
                  "dimensional_vector:operation:plus" : "#/components/schemas/Workflows.DimensionalVectorOperationPlus",
                  "dimensional_vector:operation:times" : "#/components/schemas/Workflows.DimensionalVectorOperationTimes",
                  "dimensional_vector:reference" : "#/components/schemas/Workflows.DimensionalVectorReference",
                  "real:conversion:to_dimensional_vector" : "#/components/schemas/Workflows.DimensionalVectorFromComponents"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            },
            "operandB" : {
              "description" : "\nValue model for a dimensional scalar.\n\nResolves to an object node with field `value` (double node) and field `unit` (text node).\n\nNote: during resolution dimensionals are converted to base SI units (e.g. 50 miles/hour -> 22.352 m/s), unless the\nresolution context opts out of the conversion to keep the original units; results of operations are always in base SI units.\n    ",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "dimensional_scalar:constant" : "#/components/schemas/Workflows.DimensionalScalarConstant",
                  "dimensional_scalar:expression:select" : "#/components/schemas/Workflows.DimensionalScalarExpressionSelect",
                  "dimensional_scalar:function:pow" : "#/components/schemas/Workflows.DimensionalScalarFunctionPow",
                  "dimensional_scalar:operation:div" : "#/components/schemas/Workflows.DimensionalScalarOperationDiv",
                  "dimensional_scalar:operation:minus" : "#/components/schemas/Workflows.DimensionalScalarOperationMinus",
                  "dimensional_scalar:operation:plus" : "#/components/schemas/Workflows.DimensionalScalarOperationPlus",
                  "dimensional_scalar:operation:times" : "#/components/schemas/Workflows.DimensionalScalarOperationTimes",
                  "dimensional_scalar:reference" : "#/components/schemas/Workflows.DimensionalScalarReference",
                  "dimensional_vector:function:component" : "#/components/schemas/Workflows.DimensionalScalarFromDimensionalVectorComponent",
                  "dimensional_vector:function:mag" : "#/components/schemas/Workflows.DimensionalVectorFunctionMag",
                  "integer:conversion:to_dimensional_scalar" : "#/components/schemas/Workflows.IntegerToDimensionalScalarValueConversion",
                  "real:conversion:to_dimensional_scalar" : "#/components/schemas/Workflows.RealToDimensionalScalarValueConversion"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.DimensionalVectorReference" : {
        "description" : "Value model of a dimensional vector reference.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.DimensionalVectorValue"
        }, {
          "type" : "object",
          "properties" : {
            "defaultValue" : {
              "$ref" : "#/components/schemas/Workflows.DimensionalVectorObject"
            },
            "valueReference" : {
              "$ref" : "#/components/schemas/Workflows.ValueReference"
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.DimensionalVectorToStringValueConversion" : {
        "description" : "Value model for converting a dimensional vector to a string.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.StringValue"
        }, {
          "type" : "object",
          "properties" : {
            "dimensionalVectorValue" : {
              "description" : "\nValue model for a dimensional vector.\n\nResolves to an object node with field `vector` containing Cartesian vector components (`x`, `y`, `z`; as double nodes) and field `unit` (text node).\n\nNote that during resolution dimensionals are converted to base SI units (e.g. 50 miles/hour -> 22.352 m/s), unless the\nresolution context opts out of the conversion to keep the original units; results of operations are always in base SI units.\n    ",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "dimensional_vector:constant" : "#/components/schemas/Workflows.DimensionalVectorConstant",
                  "dimensional_vector:expression:select" : "#/components/schemas/Workflows.DimensionalVectorExpressionSelect",
                  "dimensional_vector:function:norm" : "#/components/schemas/Workflows.DimensionalVectorFunctionNorm",
                  "dimensional_vector:operation:div" : "#/components/schemas/Workflows.DimensionalVectorOperationDiv",
                  "dimensional_vector:operation:minus" : "#/components/schemas/Workflows.DimensionalVectorOperationMinus",
                  "dimensional_vector:operation:plus" : "#/components/schemas/Workflows.DimensionalVectorOperationPlus",
                  "dimensional_vector:operation:times" : "#/components/schemas/Workflows.DimensionalVectorOperationTimes",
                  "dimensional_vector:reference" : "#/components/schemas/Workflows.DimensionalVectorReference",
                  "real:conversion:to_dimensional_vector" : "#/components/schemas/Workflows.DimensionalVectorFromComponents"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.DimensionalVectorValue" : {
        "description" : "\nValue model for a dimensional vector.\n\nResolves to an object node with field `vector` containing Cartesian vector components (`x`, `y`, `z`; as double nodes) and field `unit` (text node).\n\nNote that during resolution dimensionals are converted to base SI units (e.g. 50 miles/hour -> 22.352 m/s), unless the\nresolution context opts out of the conversion to keep the original units; results of operations are always in base SI units.\n    ",
        "discriminator" : {
          "propertyName" : "value_model_type",
          "mapping" : {
            "dimensional_vector:constant" : "#/components/schemas/Workflows.DimensionalVectorConstant",
            "dimensional_vector:expression:select" : "#/components/schemas/Workflows.DimensionalVectorExpressionSelect",
            "dimensional_vector:function:norm" : "#/components/schemas/Workflows.DimensionalVectorFunctionNorm",
            "dimensional_vector:operation:div" : "#/components/schemas/Workflows.DimensionalVectorOperationDiv",
            "dimensional_vector:operation:minus" : "#/components/schemas/Workflows.DimensionalVectorOperationMinus",
            "dimensional_vector:operation:plus" : "#/components/schemas/Workflows.DimensionalVectorOperationPlus",
            "dimensional_vector:operation:times" : "#/components/schemas/Workflows.DimensionalVectorOperationTimes",
            "dimensional_vector:reference" : "#/components/schemas/Workflows.DimensionalVectorReference",
            "real:conversion:to_dimensional_vector" : "#/components/schemas/Workflows.DimensionalVectorFromComponents"
          }
        },
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.EntityAssignment" : {
        "type" : "object",
        "properties" : {
          "entity" : {
            "type" : "string"
          },
          "savedSelection" : {
            "type" : "string"
          },
          "source" : {
            "$ref" : "#/components/schemas/Workflows.EntityAssignmentSource"
          }
        },
        "description" : "(A single-select) entity assignment from an arbitrary source (CAD/Mesh).",
        "example" : {
          "entity" : "B1_TE1",
          "savedSelection" : null,
          "source" : {
            "inputDataId" : "2e72c8e0-a6ee-4bd0-afa3-b92b4b5a5335",
            "type" : "CAD"
          }
        },
        "default" : null
      },
      "Workflows.EntityAssignmentConstant" : {
        "description" : "Value model of a constant entity assignment.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.EntityAssignmentValue"
        }, {
          "type" : "object",
          "properties" : {
            "entityAssignment" : {
              "$ref" : "#/components/schemas/Workflows.EntityAssignment"
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.EntityAssignmentField" : {
        "description" : "\n        A schema element which represents an assignment of CAD and mesh entities.\n        \n        A single assignment field supports one or more entity types of the same dimensionality, e.g. faces of solids and\n        faces of sheets. Entity types of different dimensionality cannot be mixed together in a single assignment, e.g.\n        faces and bodies.\n\n        A single assignment field supports one or more sources. Source can be either CAD or MESH. It is\n        considered useful to allow assignments of CAD and MESH entities in case these are workflow configuration schema\n        elements where the workflow accepts both the CAD and the MESH as an input. \n        ",
        "example" : "See [EntityAssignment] and [EntityAssignmentList] examples.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.SchemaElement"
        }, {
          "type" : "object",
          "properties" : {
            "allowedEntityTypes" : {
              "uniqueItems" : true,
              "type" : "array",
              "items" : {
                "type" : "string",
                "description" : "An entity type accepted by an entity assignment field. Either a CAD entity type distinguished by its spatial and topological dimensionality (the SOLID / SHEET / WIRE / ACORN constants, see [CadEntityType]) or a deprecated dimensionality-only entity type (VERTEX, EDGE, FACE, REGION, see [EntityType]).",
                "default" : "",
                "enum" : [ "SOLID", "SOLID_FACE", "SOLID_EDGE", "SOLID_VERTEX", "SHEET", "SHEET_FACE", "SHEET_EDGE", "SHEET_VERTEX", "WIRE", "WIRE_EDGE", "WIRE_VERTEX", "ACORN_VERTEX", "VERTEX", "EDGE", "FACE", "REGION" ]
              }
            },
            "allowedSourceTypes" : {
              "uniqueItems" : true,
              "type" : "array",
              "items" : {
                "type" : "string",
                "description" : "Source type is either CAD (model) or mesh.",
                "default" : "",
                "enum" : [ "CAD", "MESH" ]
              }
            }
          }
        } ],
        "default" : null
      },
      "Workflows.EntityAssignmentFunctionIsEmpty" : {
        "description" : "Value model for testing if an entity assignment is empty.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.BooleanValue"
        }, {
          "type" : "object",
          "properties" : {
            "entityAssignmentValue" : {
              "description" : "Value model for an entity assignment. Resolves to an object node following the [EntityAssignment] data model.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "entity_assignment:constant" : "#/components/schemas/Workflows.EntityAssignmentConstant",
                  "entity_assignment:function:map_entities" : "#/components/schemas/Workflows.EntityAssignmentMapEntities",
                  "entity_assignment:reference" : "#/components/schemas/Workflows.EntityAssignmentReference"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.EntityAssignmentList" : {
        "type" : "object",
        "properties" : {
          "entities" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          },
          "savedSelections" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          },
          "source" : {
            "$ref" : "#/components/schemas/Workflows.EntityAssignmentSource"
          }
        },
        "description" : "(A multi-select) geometric entity assignment list.",
        "example" : {
          "entities" : [ "face1", "face2" ],
          "savedSelections" : [ ],
          "source" : {
            "id" : "c01ed752-f493-44a6-b33a-cce08681309e",
            "type" : "MESH"
          }
        },
        "default" : null
      },
      "Workflows.EntityAssignmentListConstant" : {
        "description" : "Value model of a constant entity assignment list.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.EntityAssignmentListValue"
        }, {
          "type" : "object",
          "properties" : {
            "entityAssignmentList" : {
              "$ref" : "#/components/schemas/Workflows.EntityAssignmentList"
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.EntityAssignmentListFromComponents" : {
        "description" : "Value model for converting a list of entity labels (string) into an entity assignment list value. The result is a list of entities with the specified labels and their corresponding source.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.EntityAssignmentListValue"
        }, {
          "type" : "object",
          "properties" : {
            "entities" : {
              "description" : "Value model for a list of values. Resolves to a JSON array.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "list:constant" : "#/components/schemas/Workflows.ConstantValueList",
                  "list:expression:select" : "#/components/schemas/Workflows.ValueListExpressionSelect",
                  "list:function:drop" : "#/components/schemas/Workflows.ValueListFunctionDrop",
                  "list:function:drop_last" : "#/components/schemas/Workflows.ValueListFunctionDropLast",
                  "list:function:filter" : "#/components/schemas/Workflows.ValueListFunctionFilter",
                  "list:function:map" : "#/components/schemas/Workflows.ValueListFunctionMap",
                  "list:function:sublist" : "#/components/schemas/Workflows.ValueListFunctionSubList",
                  "list:function:take" : "#/components/schemas/Workflows.ValueListFunctionTake",
                  "list:function:take_last" : "#/components/schemas/Workflows.ValueListFunctionTakeLast",
                  "list:generator:integer_sequence" : "#/components/schemas/Workflows.IntegerSequenceGenerator",
                  "list:generator:real_sequence" : "#/components/schemas/Workflows.RealSequenceGenerator",
                  "list:operation:plus" : "#/components/schemas/Workflows.ValueListOperationPlus",
                  "list:operation:times" : "#/components/schemas/Workflows.ValueListOperationTimes",
                  "list:reference" : "#/components/schemas/Workflows.ReferenceValueList"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            },
            "source" : {
              "description" : "Value model for a string value. Resolves to a text JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "boolean:conversion:to_string" : "#/components/schemas/Workflows.BooleanToStringValueConversion",
                  "dimensional_scalar:conversion:to_string" : "#/components/schemas/Workflows.DimensionalScalarToStringValueConversion",
                  "dimensional_vector:conversion:to_string" : "#/components/schemas/Workflows.DimensionalVectorToStringValueConversion",
                  "entity_assignment:conversion:to_markdown_link_string" : "#/components/schemas/Workflows.EntityAssignmentToMarkdownLinkValueConversion",
                  "entity_assignment:conversion:to_string" : "#/components/schemas/Workflows.EntityAssignmentToStringValueConversion",
                  "entity_assignment_list:conversion:to_markdown_link_string" : "#/components/schemas/Workflows.EntityAssignmentListToMarkdownLinkValueConversion",
                  "enum:conversion:to_string" : "#/components/schemas/Workflows.EnumToStringValueConversion",
                  "integer:conversion:to_string" : "#/components/schemas/Workflows.IntegerToStringValueConversion",
                  "real:conversion:to_string" : "#/components/schemas/Workflows.RealToStringValueConversion",
                  "string:constant" : "#/components/schemas/Workflows.StringConstant",
                  "string:expression:select" : "#/components/schemas/Workflows.StringExpressionSelect",
                  "string:function:lowercase" : "#/components/schemas/Workflows.StringLowerCaseFunction",
                  "string:function:substring" : "#/components/schemas/Workflows.StringSubStringFunction",
                  "string:function:uppercase" : "#/components/schemas/Workflows.StringUpperCaseFunction",
                  "string:operation:plus" : "#/components/schemas/Workflows.StringOperationPlus",
                  "string:reference" : "#/components/schemas/Workflows.StringReference",
                  "value_list:conversion:to_string" : "#/components/schemas/Workflows.ValueListToStringValueConversion"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            },
            "sourceType" : {
              "type" : "string",
              "description" : "Source type is either CAD (model) or mesh.",
              "default" : "",
              "enum" : [ "CAD", "MESH" ]
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.EntityAssignmentListFunctionCountEntities" : {
        "description" : "Value model for counting the number of assigned entities. If not present, returns no (zero) assignments.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.IntegerValue"
        }, {
          "type" : "object",
          "properties" : {
            "entityAssignmentListValue" : {
              "description" : "Value model for an entity assignment list. Resolves to an object node following the [EntityAssignmentList] data model.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "entity_assignment:conversion:to_entity_assignment_list" : "#/components/schemas/Workflows.EntityAssignmentToEntityAssignmentListValueConversion",
                  "entity_assignment_list:constant" : "#/components/schemas/Workflows.EntityAssignmentListConstant",
                  "entity_assignment_list:function:intersect" : "#/components/schemas/Workflows.EntityAssignmentListIntersect",
                  "entity_assignment_list:function:map_entities" : "#/components/schemas/Workflows.EntityAssignmentListMapEntities",
                  "entity_assignment_list:reference" : "#/components/schemas/Workflows.EntityAssignmentListReference",
                  "list:conversion:to_entity_assignment_list" : "#/components/schemas/Workflows.EntityAssignmentListFromComponents"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.EntityAssignmentListFunctionIsEmpty" : {
        "description" : "Value model for testing if an entity assignment list is empty.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.BooleanValue"
        }, {
          "type" : "object",
          "properties" : {
            "entityAssignmentListValue" : {
              "description" : "Value model for an entity assignment list. Resolves to an object node following the [EntityAssignmentList] data model.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "entity_assignment:conversion:to_entity_assignment_list" : "#/components/schemas/Workflows.EntityAssignmentToEntityAssignmentListValueConversion",
                  "entity_assignment_list:constant" : "#/components/schemas/Workflows.EntityAssignmentListConstant",
                  "entity_assignment_list:function:intersect" : "#/components/schemas/Workflows.EntityAssignmentListIntersect",
                  "entity_assignment_list:function:map_entities" : "#/components/schemas/Workflows.EntityAssignmentListMapEntities",
                  "entity_assignment_list:reference" : "#/components/schemas/Workflows.EntityAssignmentListReference",
                  "list:conversion:to_entity_assignment_list" : "#/components/schemas/Workflows.EntityAssignmentListFromComponents"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.EntityAssignmentListIntersect" : {
        "description" : "Value model for intersecting entities from an entity list assignment with another entity list assignment.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.EntityAssignmentListValue"
        }, {
          "type" : "object",
          "properties" : {
            "first" : {
              "description" : "Value model for an entity assignment list. Resolves to an object node following the [EntityAssignmentList] data model.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "entity_assignment:conversion:to_entity_assignment_list" : "#/components/schemas/Workflows.EntityAssignmentToEntityAssignmentListValueConversion",
                  "entity_assignment_list:constant" : "#/components/schemas/Workflows.EntityAssignmentListConstant",
                  "entity_assignment_list:function:intersect" : "#/components/schemas/Workflows.EntityAssignmentListIntersect",
                  "entity_assignment_list:function:map_entities" : "#/components/schemas/Workflows.EntityAssignmentListMapEntities",
                  "entity_assignment_list:reference" : "#/components/schemas/Workflows.EntityAssignmentListReference",
                  "list:conversion:to_entity_assignment_list" : "#/components/schemas/Workflows.EntityAssignmentListFromComponents"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            },
            "second" : {
              "description" : "Value model for an entity assignment list. Resolves to an object node following the [EntityAssignmentList] data model.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "entity_assignment:conversion:to_entity_assignment_list" : "#/components/schemas/Workflows.EntityAssignmentToEntityAssignmentListValueConversion",
                  "entity_assignment_list:constant" : "#/components/schemas/Workflows.EntityAssignmentListConstant",
                  "entity_assignment_list:function:intersect" : "#/components/schemas/Workflows.EntityAssignmentListIntersect",
                  "entity_assignment_list:function:map_entities" : "#/components/schemas/Workflows.EntityAssignmentListMapEntities",
                  "entity_assignment_list:reference" : "#/components/schemas/Workflows.EntityAssignmentListReference",
                  "list:conversion:to_entity_assignment_list" : "#/components/schemas/Workflows.EntityAssignmentListFromComponents"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.EntityAssignmentListMapEntities" : {
        "description" : "Value model for mapping entities from an entity list assignment to a target source.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.EntityAssignmentListValue"
        }, {
          "type" : "object",
          "properties" : {
            "entityAssignmentListValue" : {
              "description" : "Value model for an entity assignment list. Resolves to an object node following the [EntityAssignmentList] data model.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "entity_assignment:conversion:to_entity_assignment_list" : "#/components/schemas/Workflows.EntityAssignmentToEntityAssignmentListValueConversion",
                  "entity_assignment_list:constant" : "#/components/schemas/Workflows.EntityAssignmentListConstant",
                  "entity_assignment_list:function:intersect" : "#/components/schemas/Workflows.EntityAssignmentListIntersect",
                  "entity_assignment_list:function:map_entities" : "#/components/schemas/Workflows.EntityAssignmentListMapEntities",
                  "entity_assignment_list:reference" : "#/components/schemas/Workflows.EntityAssignmentListReference",
                  "list:conversion:to_entity_assignment_list" : "#/components/schemas/Workflows.EntityAssignmentListFromComponents"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            },
            "targetAssignmentSource" : {
              "$ref" : "#/components/schemas/Workflows.EntityAssignmentSource"
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.EntityAssignmentListReference" : {
        "description" : "Value model of an entity assignment list reference.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.EntityAssignmentListValue"
        }, {
          "type" : "object",
          "properties" : {
            "valueReference" : {
              "$ref" : "#/components/schemas/Workflows.ValueReference"
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.EntityAssignmentListToMarkdownLinkValueConversion" : {
        "description" : "Value model for converting an entity assignment list to a Markdown link.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.StringValue"
        }, {
          "type" : "object",
          "properties" : {
            "entityAssignmentListValue" : {
              "description" : "Value model for an entity assignment list. Resolves to an object node following the [EntityAssignmentList] data model.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "entity_assignment:conversion:to_entity_assignment_list" : "#/components/schemas/Workflows.EntityAssignmentToEntityAssignmentListValueConversion",
                  "entity_assignment_list:constant" : "#/components/schemas/Workflows.EntityAssignmentListConstant",
                  "entity_assignment_list:function:intersect" : "#/components/schemas/Workflows.EntityAssignmentListIntersect",
                  "entity_assignment_list:function:map_entities" : "#/components/schemas/Workflows.EntityAssignmentListMapEntities",
                  "entity_assignment_list:reference" : "#/components/schemas/Workflows.EntityAssignmentListReference",
                  "list:conversion:to_entity_assignment_list" : "#/components/schemas/Workflows.EntityAssignmentListFromComponents"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            },
            "labelValue" : {
              "description" : "Value model for a string value. Resolves to a text JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "boolean:conversion:to_string" : "#/components/schemas/Workflows.BooleanToStringValueConversion",
                  "dimensional_scalar:conversion:to_string" : "#/components/schemas/Workflows.DimensionalScalarToStringValueConversion",
                  "dimensional_vector:conversion:to_string" : "#/components/schemas/Workflows.DimensionalVectorToStringValueConversion",
                  "entity_assignment:conversion:to_markdown_link_string" : "#/components/schemas/Workflows.EntityAssignmentToMarkdownLinkValueConversion",
                  "entity_assignment:conversion:to_string" : "#/components/schemas/Workflows.EntityAssignmentToStringValueConversion",
                  "entity_assignment_list:conversion:to_markdown_link_string" : "#/components/schemas/Workflows.EntityAssignmentListToMarkdownLinkValueConversion",
                  "enum:conversion:to_string" : "#/components/schemas/Workflows.EnumToStringValueConversion",
                  "integer:conversion:to_string" : "#/components/schemas/Workflows.IntegerToStringValueConversion",
                  "real:conversion:to_string" : "#/components/schemas/Workflows.RealToStringValueConversion",
                  "string:constant" : "#/components/schemas/Workflows.StringConstant",
                  "string:expression:select" : "#/components/schemas/Workflows.StringExpressionSelect",
                  "string:function:lowercase" : "#/components/schemas/Workflows.StringLowerCaseFunction",
                  "string:function:substring" : "#/components/schemas/Workflows.StringSubStringFunction",
                  "string:function:uppercase" : "#/components/schemas/Workflows.StringUpperCaseFunction",
                  "string:operation:plus" : "#/components/schemas/Workflows.StringOperationPlus",
                  "string:reference" : "#/components/schemas/Workflows.StringReference",
                  "value_list:conversion:to_string" : "#/components/schemas/Workflows.ValueListToStringValueConversion"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.EntityAssignmentListValue" : {
        "description" : "Value model for an entity assignment list. Resolves to an object node following the [EntityAssignmentList] data model.",
        "discriminator" : {
          "propertyName" : "value_model_type",
          "mapping" : {
            "entity_assignment:conversion:to_entity_assignment_list" : "#/components/schemas/Workflows.EntityAssignmentToEntityAssignmentListValueConversion",
            "entity_assignment_list:constant" : "#/components/schemas/Workflows.EntityAssignmentListConstant",
            "entity_assignment_list:function:intersect" : "#/components/schemas/Workflows.EntityAssignmentListIntersect",
            "entity_assignment_list:function:map_entities" : "#/components/schemas/Workflows.EntityAssignmentListMapEntities",
            "entity_assignment_list:reference" : "#/components/schemas/Workflows.EntityAssignmentListReference",
            "list:conversion:to_entity_assignment_list" : "#/components/schemas/Workflows.EntityAssignmentListFromComponents"
          }
        },
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.EntityAssignmentMapEntities" : {
        "description" : "Value model for mapping entities from an entity assignment to a target source.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.EntityAssignmentValue"
        }, {
          "type" : "object",
          "properties" : {
            "entityAssignmentValue" : {
              "description" : "Value model for an entity assignment. Resolves to an object node following the [EntityAssignment] data model.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "entity_assignment:constant" : "#/components/schemas/Workflows.EntityAssignmentConstant",
                  "entity_assignment:function:map_entities" : "#/components/schemas/Workflows.EntityAssignmentMapEntities",
                  "entity_assignment:reference" : "#/components/schemas/Workflows.EntityAssignmentReference"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            },
            "targetAssignmentSource" : {
              "$ref" : "#/components/schemas/Workflows.EntityAssignmentSource"
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.EntityAssignmentReference" : {
        "description" : "Value model of an entity assignment reference.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.EntityAssignmentValue"
        }, {
          "type" : "object",
          "properties" : {
            "valueReference" : {
              "$ref" : "#/components/schemas/Workflows.ValueReference"
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.EntityAssignmentSource" : {
        "type" : "object",
        "properties" : {
          "inputDataName" : {
            "type" : "string"
          },
          "type" : {
            "type" : "string",
            "description" : "Source type is either CAD (model) or mesh.",
            "default" : "",
            "enum" : [ "CAD", "MESH" ]
          }
        },
        "description" : "Entity assignment source is represented by its input data ID and its type (CAD or MESH).",
        "default" : null
      },
      "Workflows.EntityAssignmentToEntityAssignmentListValueConversion" : {
        "description" : "Value model for converting a (single) entity assignment to an entity assignment list value. The result is a list of entities with a single element.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.EntityAssignmentListValue"
        }, {
          "type" : "object",
          "properties" : {
            "entityAssignmentValue" : {
              "description" : "Value model for an entity assignment. Resolves to an object node following the [EntityAssignment] data model.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "entity_assignment:constant" : "#/components/schemas/Workflows.EntityAssignmentConstant",
                  "entity_assignment:function:map_entities" : "#/components/schemas/Workflows.EntityAssignmentMapEntities",
                  "entity_assignment:reference" : "#/components/schemas/Workflows.EntityAssignmentReference"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.EntityAssignmentToMarkdownLinkValueConversion" : {
        "description" : "Value model for converting a (single) entity assignment to a Markdown link.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.StringValue"
        }, {
          "type" : "object",
          "properties" : {
            "entityAssignmentValue" : {
              "description" : "Value model for an entity assignment. Resolves to an object node following the [EntityAssignment] data model.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "entity_assignment:constant" : "#/components/schemas/Workflows.EntityAssignmentConstant",
                  "entity_assignment:function:map_entities" : "#/components/schemas/Workflows.EntityAssignmentMapEntities",
                  "entity_assignment:reference" : "#/components/schemas/Workflows.EntityAssignmentReference"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            },
            "labelValue" : {
              "description" : "Value model for a string value. Resolves to a text JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "boolean:conversion:to_string" : "#/components/schemas/Workflows.BooleanToStringValueConversion",
                  "dimensional_scalar:conversion:to_string" : "#/components/schemas/Workflows.DimensionalScalarToStringValueConversion",
                  "dimensional_vector:conversion:to_string" : "#/components/schemas/Workflows.DimensionalVectorToStringValueConversion",
                  "entity_assignment:conversion:to_markdown_link_string" : "#/components/schemas/Workflows.EntityAssignmentToMarkdownLinkValueConversion",
                  "entity_assignment:conversion:to_string" : "#/components/schemas/Workflows.EntityAssignmentToStringValueConversion",
                  "entity_assignment_list:conversion:to_markdown_link_string" : "#/components/schemas/Workflows.EntityAssignmentListToMarkdownLinkValueConversion",
                  "enum:conversion:to_string" : "#/components/schemas/Workflows.EnumToStringValueConversion",
                  "integer:conversion:to_string" : "#/components/schemas/Workflows.IntegerToStringValueConversion",
                  "real:conversion:to_string" : "#/components/schemas/Workflows.RealToStringValueConversion",
                  "string:constant" : "#/components/schemas/Workflows.StringConstant",
                  "string:expression:select" : "#/components/schemas/Workflows.StringExpressionSelect",
                  "string:function:lowercase" : "#/components/schemas/Workflows.StringLowerCaseFunction",
                  "string:function:substring" : "#/components/schemas/Workflows.StringSubStringFunction",
                  "string:function:uppercase" : "#/components/schemas/Workflows.StringUpperCaseFunction",
                  "string:operation:plus" : "#/components/schemas/Workflows.StringOperationPlus",
                  "string:reference" : "#/components/schemas/Workflows.StringReference",
                  "value_list:conversion:to_string" : "#/components/schemas/Workflows.ValueListToStringValueConversion"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.EntityAssignmentToStringValueConversion" : {
        "description" : "Value model for converting a (single) entity assignment to a string.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.StringValue"
        }, {
          "type" : "object",
          "properties" : {
            "entityAssignmentValue" : {
              "description" : "Value model for an entity assignment. Resolves to an object node following the [EntityAssignment] data model.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "entity_assignment:constant" : "#/components/schemas/Workflows.EntityAssignmentConstant",
                  "entity_assignment:function:map_entities" : "#/components/schemas/Workflows.EntityAssignmentMapEntities",
                  "entity_assignment:reference" : "#/components/schemas/Workflows.EntityAssignmentReference"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.EntityAssignmentValue" : {
        "description" : "Value model for an entity assignment. Resolves to an object node following the [EntityAssignment] data model.",
        "discriminator" : {
          "propertyName" : "value_model_type",
          "mapping" : {
            "entity_assignment:constant" : "#/components/schemas/Workflows.EntityAssignmentConstant",
            "entity_assignment:function:map_entities" : "#/components/schemas/Workflows.EntityAssignmentMapEntities",
            "entity_assignment:reference" : "#/components/schemas/Workflows.EntityAssignmentReference"
          }
        },
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.EnumComparisonEqual" : {
        "description" : "Value model of comparing two enum values if they are equal.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.BooleanValue"
        }, {
          "type" : "object",
          "properties" : {
            "operandA" : {
              "description" : "Value model for an enum value. Resolves to a text JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "enum:constant" : "#/components/schemas/Workflows.EnumConstant",
                  "enum:expression:select" : "#/components/schemas/Workflows.EnumExpressionSelect",
                  "enum:reference" : "#/components/schemas/Workflows.EnumReference"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            },
            "operandB" : {
              "description" : "Value model for an enum value. Resolves to a text JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "enum:constant" : "#/components/schemas/Workflows.EnumConstant",
                  "enum:expression:select" : "#/components/schemas/Workflows.EnumExpressionSelect",
                  "enum:reference" : "#/components/schemas/Workflows.EnumReference"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.EnumComparisonNotEqual" : {
        "description" : "Value model of comparing two enum values if they are _not_ equal.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.BooleanValue"
        }, {
          "type" : "object",
          "properties" : {
            "operandA" : {
              "description" : "Value model for an enum value. Resolves to a text JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "enum:constant" : "#/components/schemas/Workflows.EnumConstant",
                  "enum:expression:select" : "#/components/schemas/Workflows.EnumExpressionSelect",
                  "enum:reference" : "#/components/schemas/Workflows.EnumReference"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            },
            "operandB" : {
              "description" : "Value model for an enum value. Resolves to a text JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "enum:constant" : "#/components/schemas/Workflows.EnumConstant",
                  "enum:expression:select" : "#/components/schemas/Workflows.EnumExpressionSelect",
                  "enum:reference" : "#/components/schemas/Workflows.EnumReference"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.EnumConstant" : {
        "description" : "Value model of a constant enum value.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.EnumValue"
        }, {
          "type" : "object",
          "properties" : {
            "value" : {
              "type" : "string"
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.EnumExpressionSelect" : {
        "description" : "Value model for selecting an enum value from a list of options based on the provided conditions.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.EnumValue"
        }, {
          "type" : "object",
          "properties" : {
            "options" : {
              "type" : "array",
              "items" : {
                "$ref" : "#/components/schemas/Workflows.PairBooleanValueEnumValue"
              }
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.EnumField" : {
        "description" : "Enum field denotes a schema element which has an enum type.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.SchemaElement"
        }, {
          "type" : "object",
          "properties" : {
            "default" : {
              "type" : "string"
            },
            "enumValueType" : {
              "type" : "string",
              "description" : "Type of the enum value.",
              "default" : "",
              "enum" : [ "STRING", "INTEGER" ]
            },
            "typeName" : {
              "type" : "string"
            },
            "valueDocs" : {
              "type" : "object",
              "additionalProperties" : {
                "$ref" : "#/components/schemas/Workflows.EnumValueDoc"
              }
            },
            "valueLabels" : {
              "type" : "object",
              "additionalProperties" : {
                "$ref" : "#/components/schemas/Workflows.EnumValueLabel"
              }
            },
            "values" : {
              "type" : "array",
              "items" : {
                "type" : "string"
              }
            }
          }
        } ],
        "default" : null
      },
      "Workflows.EnumFunctionOneOf" : {
        "description" : "Value model of determining if an enum value is one of an enum value list.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.BooleanValue"
        }, {
          "type" : "object",
          "properties" : {
            "operandA" : {
              "description" : "Value model for an enum value. Resolves to a text JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "enum:constant" : "#/components/schemas/Workflows.EnumConstant",
                  "enum:expression:select" : "#/components/schemas/Workflows.EnumExpressionSelect",
                  "enum:reference" : "#/components/schemas/Workflows.EnumReference"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            },
            "operandB" : {
              "description" : "Value model for a list of values. Resolves to a JSON array.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "list:constant" : "#/components/schemas/Workflows.ConstantValueList",
                  "list:expression:select" : "#/components/schemas/Workflows.ValueListExpressionSelect",
                  "list:function:drop" : "#/components/schemas/Workflows.ValueListFunctionDrop",
                  "list:function:drop_last" : "#/components/schemas/Workflows.ValueListFunctionDropLast",
                  "list:function:filter" : "#/components/schemas/Workflows.ValueListFunctionFilter",
                  "list:function:map" : "#/components/schemas/Workflows.ValueListFunctionMap",
                  "list:function:sublist" : "#/components/schemas/Workflows.ValueListFunctionSubList",
                  "list:function:take" : "#/components/schemas/Workflows.ValueListFunctionTake",
                  "list:function:take_last" : "#/components/schemas/Workflows.ValueListFunctionTakeLast",
                  "list:generator:integer_sequence" : "#/components/schemas/Workflows.IntegerSequenceGenerator",
                  "list:generator:real_sequence" : "#/components/schemas/Workflows.RealSequenceGenerator",
                  "list:operation:plus" : "#/components/schemas/Workflows.ValueListOperationPlus",
                  "list:operation:times" : "#/components/schemas/Workflows.ValueListOperationTimes",
                  "list:reference" : "#/components/schemas/Workflows.ReferenceValueList"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.EnumReference" : {
        "description" : "Value model of a enum value reference.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.BooleanValue"
        }, {
          "type" : "object",
          "properties" : {
            "defaultValue" : {
              "type" : "string"
            },
            "valueReference" : {
              "$ref" : "#/components/schemas/Workflows.ValueReference"
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.EnumToStringValueConversion" : {
        "description" : "Value model for converting an enum into a string value.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.StringValue"
        }, {
          "type" : "object",
          "properties" : {
            "enumValue" : {
              "description" : "Value model for an enum value. Resolves to a text JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "enum:constant" : "#/components/schemas/Workflows.EnumConstant",
                  "enum:expression:select" : "#/components/schemas/Workflows.EnumExpressionSelect",
                  "enum:reference" : "#/components/schemas/Workflows.EnumReference"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.EnumValue" : {
        "description" : "Value model for an enum value. Resolves to a text JSON node.",
        "discriminator" : {
          "propertyName" : "value_model_type",
          "mapping" : {
            "enum:constant" : "#/components/schemas/Workflows.EnumConstant",
            "enum:expression:select" : "#/components/schemas/Workflows.EnumExpressionSelect",
            "enum:reference" : "#/components/schemas/Workflows.EnumReference"
          }
        },
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.EnumValueDoc" : {
        "type" : "object",
        "properties" : {
          "doc" : {
            "type" : "string"
          },
          "multiLanguageDoc" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            }
          }
        },
        "description" : "Documentation for one particular enum value.",
        "default" : null
      },
      "Workflows.EnumValueLabel" : {
        "type" : "object",
        "properties" : {
          "label" : {
            "type" : "string"
          },
          "multiLanguageLabel" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            }
          }
        },
        "description" : "Label information for one particular enum value.",
        "default" : null
      },
      "ComponentRegistry.FileFormat" : {
        "type" : "object",
        "properties" : {
          "fileExtensions" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          },
          "mimeType" : {
            "type" : "string",
            "nullable" : true
          },
          "multiLanguageName" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "nullable" : true
          },
          "name" : {
            "type" : "string"
          }
        },
        "description" : "High-level description of a file format which makes it suitable for dealing with files on user interfaces.",
        "default" : null
      },
      "ComponentRegistry.FileFormatGroup" : {
        "type" : "object",
        "properties" : {
          "fileFormats" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ComponentRegistry.FileFormat"
            }
          },
          "multiLanguageName" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "nullable" : true
          },
          "name" : {
            "type" : "string"
          }
        },
        "description" : "A group of related file formats.",
        "default" : null
      },
      "Workflows.GeneralMetadataValueReference" : {
        "description" : "Reference to a value in the general metadata associated to a workflow data.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.ValueReference"
        }, {
          "type" : "object",
          "properties" : {
            "dataName" : {
              "type" : "string"
            },
            "valuePath" : {
              "type" : "string"
            }
          }
        } ],
        "default" : null
      },
      "Workflows.GpuScalingEstimationValueModel" : {
        "type" : "object",
        "properties" : {
          "cpus" : {
            "description" : "Value model for a list of values. Resolves to a JSON array.",
            "discriminator" : {
              "propertyName" : "value_model_type",
              "mapping" : {
                "list:constant" : "#/components/schemas/Workflows.ConstantValueList",
                "list:expression:select" : "#/components/schemas/Workflows.ValueListExpressionSelect",
                "list:function:drop" : "#/components/schemas/Workflows.ValueListFunctionDrop",
                "list:function:drop_last" : "#/components/schemas/Workflows.ValueListFunctionDropLast",
                "list:function:filter" : "#/components/schemas/Workflows.ValueListFunctionFilter",
                "list:function:map" : "#/components/schemas/Workflows.ValueListFunctionMap",
                "list:function:sublist" : "#/components/schemas/Workflows.ValueListFunctionSubList",
                "list:function:take" : "#/components/schemas/Workflows.ValueListFunctionTake",
                "list:function:take_last" : "#/components/schemas/Workflows.ValueListFunctionTakeLast",
                "list:generator:integer_sequence" : "#/components/schemas/Workflows.IntegerSequenceGenerator",
                "list:generator:real_sequence" : "#/components/schemas/Workflows.RealSequenceGenerator",
                "list:operation:plus" : "#/components/schemas/Workflows.ValueListOperationPlus",
                "list:operation:times" : "#/components/schemas/Workflows.ValueListOperationTimes",
                "list:reference" : "#/components/schemas/Workflows.ReferenceValueList"
              }
            },
            "allOf" : [ {
              "$ref" : "#/components/schemas/Workflows.Value"
            } ],
            "default" : null
          },
          "gpuMemory" : {
            "description" : "Value model for a list of values. Resolves to a JSON array.",
            "discriminator" : {
              "propertyName" : "value_model_type",
              "mapping" : {
                "list:constant" : "#/components/schemas/Workflows.ConstantValueList",
                "list:expression:select" : "#/components/schemas/Workflows.ValueListExpressionSelect",
                "list:function:drop" : "#/components/schemas/Workflows.ValueListFunctionDrop",
                "list:function:drop_last" : "#/components/schemas/Workflows.ValueListFunctionDropLast",
                "list:function:filter" : "#/components/schemas/Workflows.ValueListFunctionFilter",
                "list:function:map" : "#/components/schemas/Workflows.ValueListFunctionMap",
                "list:function:sublist" : "#/components/schemas/Workflows.ValueListFunctionSubList",
                "list:function:take" : "#/components/schemas/Workflows.ValueListFunctionTake",
                "list:function:take_last" : "#/components/schemas/Workflows.ValueListFunctionTakeLast",
                "list:generator:integer_sequence" : "#/components/schemas/Workflows.IntegerSequenceGenerator",
                "list:generator:real_sequence" : "#/components/schemas/Workflows.RealSequenceGenerator",
                "list:operation:plus" : "#/components/schemas/Workflows.ValueListOperationPlus",
                "list:operation:times" : "#/components/schemas/Workflows.ValueListOperationTimes",
                "list:reference" : "#/components/schemas/Workflows.ReferenceValueList"
              }
            },
            "allOf" : [ {
              "$ref" : "#/components/schemas/Workflows.Value"
            } ],
            "default" : null
          }
        }
      },
      "Workflows.InlineOperationDefinition" : {
        "description" : "\nInline workflow operation which is entirely defined in the workflow definition itself.\n\nInline operations are best suited for logic which is workflow type specific meanwhile computational complexity wise not expensive.\nIn these cases the administration overhead of the dedicated method development can be avoided and also at runtime the resource provisioning can be avoided.\n \nInline operations are executed inside the workflow engine, the method layer is not involved in the process.\n",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.AtomicOperationDefinition"
        }, {
          "type" : "object",
          "properties" : {
            "configurationDataSources" : {
              "type" : "array",
              "items" : {
                "$ref" : "#/components/schemas/Workflows.DataReference"
              }
            },
            "configurationValueModel" : {
              "description" : "\nValue model for a concrete compound value. Resolves to an object JSON node.\n\nNote that the serialized representation of this value model contains the nested value models in a field map.\nThis is necessary to make this class sufficient for deserializing and processing compound values in the workflow engine in the absence of the original generated value models.\nWhen the developer is accessing fields of the generated value models then the generated getter and setter functions are storing values in this field map,\nthere's no backing field behind the properties in the generated value models. This architecture makes the value model definition type-safe meanwhile there's no need for the generated classes at runtime.\n    ",
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.AbstractCompoundValue"
              }, {
                "type" : "object",
                "properties" : {
                  "fields" : {
                    "type" : "object",
                    "additionalProperties" : {
                      "$ref" : "#/components/schemas/Workflows.Value"
                    }
                  },
                  "polymorphicCompoundValue" : {
                    "type" : "boolean"
                  },
                  "subtypeId" : {
                    "type" : "string"
                  },
                  "subtypes" : {
                    "type" : "object",
                    "additionalProperties" : {
                      "description" : "\nValue model for a concrete compound value. Resolves to an object JSON node.\n\nNote that the serialized representation of this value model contains the nested value models in a field map.\nThis is necessary to make this class sufficient for deserializing and processing compound values in the workflow engine in the absence of the original generated value models.\nWhen the developer is accessing fields of the generated value models then the generated getter and setter functions are storing values in this field map,\nthere's no backing field behind the properties in the generated value models. This architecture makes the value model definition type-safe meanwhile there's no need for the generated classes at runtime.\n    ",
                      "allOf" : [ {
                        "$ref" : "#/components/schemas/Workflows.AbstractCompoundValue"
                      }, {
                        "type" : "object",
                        "properties" : {
                          "fields" : {
                            "type" : "object",
                            "additionalProperties" : {
                              "type" : "object",
                              "description" : "\nValue interface is the root of the value model type hierarchy.\n\nValue models store the computation model of values. The models are defined by the developer, for convenience through a DSL\ncomposed of receiver and extension functions and other Kotlin language constructs.\n\nWhen the build runs the definition of the value model, it gets serialized into a JSON representation and that is the artifact of the build.\nThese JSONs are persisted into the database and loaded by the workflow engine for the evaluation of the values.\nOnce values are computed they get stored as data and used by methods or clients to show data to the user.\nValue models and data models adhere to the same schema defined by the developer in DSSL, just they have a different implementation due to their different roles.\n\nBelow we define the central repository of value models. These are all part of the framework, available to the workflow engine as well.\nThey provide atomic types and composition mechanisms via containers and the compound value model class. These are in sync with the building blocks in DSSL.\n\nUser defined types via DSSL schemas are based on the compound value model. The generated value models are available only at build time to the user to define\nthe value computation logic in a type-safe way, meanwhile at runtime in the workflow engine only the compound value model is present.\n\nThe single value resolution function of this interface is the one used by the workflow engine to execute the value computation.\nAll value models implement this in their own way. The result is always a JSON node, which can be either a single node or an entire tree of nodes behind it.\n\nValue model types below are organized into groups based on their parent type, essentially following the hierarchy in a flattened way.\nThe type names - which get into the serialized JSON representation - also follow this structure, where levels are separated with a colon (`:`).\nBy convention names composed of multiple words are presented with snake-case and these rules are followed as a naming convention:\n* `operation` for operators (both unary and binary, e.g. plus, minus, not...),\n* `comparison` for comparators (equal, not equal, less than),\n* `function` for the general case.\n    ",
                              "default" : null
                            }
                          },
                          "polymorphicCompoundValue" : {
                            "type" : "boolean"
                          },
                          "subtypeId" : {
                            "type" : "string"
                          },
                          "valueReference" : {
                            "$ref" : "#/components/schemas/Workflows.ValueReference"
                          }
                        }
                      } ],
                      "default" : null
                    }
                  },
                  "valueReference" : {
                    "$ref" : "#/components/schemas/Workflows.ValueReference"
                  }
                }
              } ],
              "default" : null
            },
            "doc" : {
              "type" : "string"
            },
            "inputMapping" : {
              "type" : "array",
              "items" : {
                "$ref" : "#/components/schemas/Workflows.DataMappingEntry"
              }
            },
            "label" : {
              "type" : "string"
            },
            "metadata" : {
              "type" : "object",
              "additionalProperties" : {
                "type" : "object"
              }
            },
            "multiLanguageDoc" : {
              "type" : "object",
              "additionalProperties" : {
                "type" : "string"
              }
            },
            "multiLanguageLabel" : {
              "type" : "object",
              "additionalProperties" : {
                "type" : "string"
              }
            },
            "name" : {
              "type" : "string"
            },
            "outputDataValueModels" : {
              "type" : "object",
              "additionalProperties" : {
                "$ref" : "#/components/schemas/Workflows.Value"
              }
            },
            "outputMapping" : {
              "type" : "array",
              "items" : {
                "$ref" : "#/components/schemas/Workflows.DataMappingEntry"
              }
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.AbstractOperationDefinition"
        } ],
        "default" : null
      },
      "Workflows.InputDataDefinition" : {
        "description" : "Represents an input data of the workflow.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.AbstractDataDefinition"
        }, {
          "type" : "object",
          "properties" : {
            "optional" : {
              "type" : "boolean"
            }
          }
        } ],
        "default" : null
      },
      "Workflows.IntegerComparisonEqual" : {
        "description" : "Value model to test integer equality.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.BooleanValue"
        }, {
          "type" : "object",
          "properties" : {
            "operandA" : {
              "description" : "Value model for a 64-bit signed integer value. Resolves to a long JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "entity_assignment_list:function:count_entities" : "#/components/schemas/Workflows.EntityAssignmentListFunctionCountEntities",
                  "integer:constant" : "#/components/schemas/Workflows.IntegerConstant",
                  "integer:expression:select" : "#/components/schemas/Workflows.IntegerExpressionSelect",
                  "integer:function:abs" : "#/components/schemas/Workflows.IntegerFunctionAbs",
                  "integer:function:max" : "#/components/schemas/Workflows.IntegerFunctionMax",
                  "integer:function:min" : "#/components/schemas/Workflows.IntegerFunctionMin",
                  "integer:operation:div" : "#/components/schemas/Workflows.IntegerOperationDiv",
                  "integer:operation:minus" : "#/components/schemas/Workflows.IntegerOperationMinus",
                  "integer:operation:plus" : "#/components/schemas/Workflows.IntegerOperationPlus",
                  "integer:operation:rem" : "#/components/schemas/Workflows.IntegerOperationRem",
                  "integer:operation:times" : "#/components/schemas/Workflows.IntegerOperationTimes",
                  "integer:reference" : "#/components/schemas/Workflows.IntegerReference",
                  "list:function:integer_sum" : "#/components/schemas/Workflows.ValueListFunctionIntegerSum",
                  "list:function:length" : "#/components/schemas/Workflows.ValueListFunctionSize",
                  "real:conversion:to_integer" : "#/components/schemas/Workflows.RealToIntegerConversion",
                  "string:conversion:to_integer" : "#/components/schemas/Workflows.StringToIntegerValueConversion",
                  "string:function:length" : "#/components/schemas/Workflows.StringLengthFunction"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            },
            "operandB" : {
              "description" : "Value model for a 64-bit signed integer value. Resolves to a long JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "entity_assignment_list:function:count_entities" : "#/components/schemas/Workflows.EntityAssignmentListFunctionCountEntities",
                  "integer:constant" : "#/components/schemas/Workflows.IntegerConstant",
                  "integer:expression:select" : "#/components/schemas/Workflows.IntegerExpressionSelect",
                  "integer:function:abs" : "#/components/schemas/Workflows.IntegerFunctionAbs",
                  "integer:function:max" : "#/components/schemas/Workflows.IntegerFunctionMax",
                  "integer:function:min" : "#/components/schemas/Workflows.IntegerFunctionMin",
                  "integer:operation:div" : "#/components/schemas/Workflows.IntegerOperationDiv",
                  "integer:operation:minus" : "#/components/schemas/Workflows.IntegerOperationMinus",
                  "integer:operation:plus" : "#/components/schemas/Workflows.IntegerOperationPlus",
                  "integer:operation:rem" : "#/components/schemas/Workflows.IntegerOperationRem",
                  "integer:operation:times" : "#/components/schemas/Workflows.IntegerOperationTimes",
                  "integer:reference" : "#/components/schemas/Workflows.IntegerReference",
                  "list:function:integer_sum" : "#/components/schemas/Workflows.ValueListFunctionIntegerSum",
                  "list:function:length" : "#/components/schemas/Workflows.ValueListFunctionSize",
                  "real:conversion:to_integer" : "#/components/schemas/Workflows.RealToIntegerConversion",
                  "string:conversion:to_integer" : "#/components/schemas/Workflows.StringToIntegerValueConversion",
                  "string:function:length" : "#/components/schemas/Workflows.StringLengthFunction"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.IntegerComparisonGreaterThan" : {
        "description" : "Value model for integer number `>` comparison.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.BooleanValue"
        }, {
          "type" : "object",
          "properties" : {
            "operandA" : {
              "description" : "Value model for a 64-bit signed integer value. Resolves to a long JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "entity_assignment_list:function:count_entities" : "#/components/schemas/Workflows.EntityAssignmentListFunctionCountEntities",
                  "integer:constant" : "#/components/schemas/Workflows.IntegerConstant",
                  "integer:expression:select" : "#/components/schemas/Workflows.IntegerExpressionSelect",
                  "integer:function:abs" : "#/components/schemas/Workflows.IntegerFunctionAbs",
                  "integer:function:max" : "#/components/schemas/Workflows.IntegerFunctionMax",
                  "integer:function:min" : "#/components/schemas/Workflows.IntegerFunctionMin",
                  "integer:operation:div" : "#/components/schemas/Workflows.IntegerOperationDiv",
                  "integer:operation:minus" : "#/components/schemas/Workflows.IntegerOperationMinus",
                  "integer:operation:plus" : "#/components/schemas/Workflows.IntegerOperationPlus",
                  "integer:operation:rem" : "#/components/schemas/Workflows.IntegerOperationRem",
                  "integer:operation:times" : "#/components/schemas/Workflows.IntegerOperationTimes",
                  "integer:reference" : "#/components/schemas/Workflows.IntegerReference",
                  "list:function:integer_sum" : "#/components/schemas/Workflows.ValueListFunctionIntegerSum",
                  "list:function:length" : "#/components/schemas/Workflows.ValueListFunctionSize",
                  "real:conversion:to_integer" : "#/components/schemas/Workflows.RealToIntegerConversion",
                  "string:conversion:to_integer" : "#/components/schemas/Workflows.StringToIntegerValueConversion",
                  "string:function:length" : "#/components/schemas/Workflows.StringLengthFunction"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            },
            "operandB" : {
              "description" : "Value model for a 64-bit signed integer value. Resolves to a long JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "entity_assignment_list:function:count_entities" : "#/components/schemas/Workflows.EntityAssignmentListFunctionCountEntities",
                  "integer:constant" : "#/components/schemas/Workflows.IntegerConstant",
                  "integer:expression:select" : "#/components/schemas/Workflows.IntegerExpressionSelect",
                  "integer:function:abs" : "#/components/schemas/Workflows.IntegerFunctionAbs",
                  "integer:function:max" : "#/components/schemas/Workflows.IntegerFunctionMax",
                  "integer:function:min" : "#/components/schemas/Workflows.IntegerFunctionMin",
                  "integer:operation:div" : "#/components/schemas/Workflows.IntegerOperationDiv",
                  "integer:operation:minus" : "#/components/schemas/Workflows.IntegerOperationMinus",
                  "integer:operation:plus" : "#/components/schemas/Workflows.IntegerOperationPlus",
                  "integer:operation:rem" : "#/components/schemas/Workflows.IntegerOperationRem",
                  "integer:operation:times" : "#/components/schemas/Workflows.IntegerOperationTimes",
                  "integer:reference" : "#/components/schemas/Workflows.IntegerReference",
                  "list:function:integer_sum" : "#/components/schemas/Workflows.ValueListFunctionIntegerSum",
                  "list:function:length" : "#/components/schemas/Workflows.ValueListFunctionSize",
                  "real:conversion:to_integer" : "#/components/schemas/Workflows.RealToIntegerConversion",
                  "string:conversion:to_integer" : "#/components/schemas/Workflows.StringToIntegerValueConversion",
                  "string:function:length" : "#/components/schemas/Workflows.StringLengthFunction"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.IntegerComparisonGreaterThanOrEqual" : {
        "description" : "Value model for integer number `>=` comparison.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.BooleanValue"
        }, {
          "type" : "object",
          "properties" : {
            "operandA" : {
              "description" : "Value model for a 64-bit signed integer value. Resolves to a long JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "entity_assignment_list:function:count_entities" : "#/components/schemas/Workflows.EntityAssignmentListFunctionCountEntities",
                  "integer:constant" : "#/components/schemas/Workflows.IntegerConstant",
                  "integer:expression:select" : "#/components/schemas/Workflows.IntegerExpressionSelect",
                  "integer:function:abs" : "#/components/schemas/Workflows.IntegerFunctionAbs",
                  "integer:function:max" : "#/components/schemas/Workflows.IntegerFunctionMax",
                  "integer:function:min" : "#/components/schemas/Workflows.IntegerFunctionMin",
                  "integer:operation:div" : "#/components/schemas/Workflows.IntegerOperationDiv",
                  "integer:operation:minus" : "#/components/schemas/Workflows.IntegerOperationMinus",
                  "integer:operation:plus" : "#/components/schemas/Workflows.IntegerOperationPlus",
                  "integer:operation:rem" : "#/components/schemas/Workflows.IntegerOperationRem",
                  "integer:operation:times" : "#/components/schemas/Workflows.IntegerOperationTimes",
                  "integer:reference" : "#/components/schemas/Workflows.IntegerReference",
                  "list:function:integer_sum" : "#/components/schemas/Workflows.ValueListFunctionIntegerSum",
                  "list:function:length" : "#/components/schemas/Workflows.ValueListFunctionSize",
                  "real:conversion:to_integer" : "#/components/schemas/Workflows.RealToIntegerConversion",
                  "string:conversion:to_integer" : "#/components/schemas/Workflows.StringToIntegerValueConversion",
                  "string:function:length" : "#/components/schemas/Workflows.StringLengthFunction"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            },
            "operandB" : {
              "description" : "Value model for a 64-bit signed integer value. Resolves to a long JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "entity_assignment_list:function:count_entities" : "#/components/schemas/Workflows.EntityAssignmentListFunctionCountEntities",
                  "integer:constant" : "#/components/schemas/Workflows.IntegerConstant",
                  "integer:expression:select" : "#/components/schemas/Workflows.IntegerExpressionSelect",
                  "integer:function:abs" : "#/components/schemas/Workflows.IntegerFunctionAbs",
                  "integer:function:max" : "#/components/schemas/Workflows.IntegerFunctionMax",
                  "integer:function:min" : "#/components/schemas/Workflows.IntegerFunctionMin",
                  "integer:operation:div" : "#/components/schemas/Workflows.IntegerOperationDiv",
                  "integer:operation:minus" : "#/components/schemas/Workflows.IntegerOperationMinus",
                  "integer:operation:plus" : "#/components/schemas/Workflows.IntegerOperationPlus",
                  "integer:operation:rem" : "#/components/schemas/Workflows.IntegerOperationRem",
                  "integer:operation:times" : "#/components/schemas/Workflows.IntegerOperationTimes",
                  "integer:reference" : "#/components/schemas/Workflows.IntegerReference",
                  "list:function:integer_sum" : "#/components/schemas/Workflows.ValueListFunctionIntegerSum",
                  "list:function:length" : "#/components/schemas/Workflows.ValueListFunctionSize",
                  "real:conversion:to_integer" : "#/components/schemas/Workflows.RealToIntegerConversion",
                  "string:conversion:to_integer" : "#/components/schemas/Workflows.StringToIntegerValueConversion",
                  "string:function:length" : "#/components/schemas/Workflows.StringLengthFunction"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.IntegerComparisonLessThan" : {
        "description" : "Value model for integer number `<` comparison.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.BooleanValue"
        }, {
          "type" : "object",
          "properties" : {
            "operandA" : {
              "description" : "Value model for a 64-bit signed integer value. Resolves to a long JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "entity_assignment_list:function:count_entities" : "#/components/schemas/Workflows.EntityAssignmentListFunctionCountEntities",
                  "integer:constant" : "#/components/schemas/Workflows.IntegerConstant",
                  "integer:expression:select" : "#/components/schemas/Workflows.IntegerExpressionSelect",
                  "integer:function:abs" : "#/components/schemas/Workflows.IntegerFunctionAbs",
                  "integer:function:max" : "#/components/schemas/Workflows.IntegerFunctionMax",
                  "integer:function:min" : "#/components/schemas/Workflows.IntegerFunctionMin",
                  "integer:operation:div" : "#/components/schemas/Workflows.IntegerOperationDiv",
                  "integer:operation:minus" : "#/components/schemas/Workflows.IntegerOperationMinus",
                  "integer:operation:plus" : "#/components/schemas/Workflows.IntegerOperationPlus",
                  "integer:operation:rem" : "#/components/schemas/Workflows.IntegerOperationRem",
                  "integer:operation:times" : "#/components/schemas/Workflows.IntegerOperationTimes",
                  "integer:reference" : "#/components/schemas/Workflows.IntegerReference",
                  "list:function:integer_sum" : "#/components/schemas/Workflows.ValueListFunctionIntegerSum",
                  "list:function:length" : "#/components/schemas/Workflows.ValueListFunctionSize",
                  "real:conversion:to_integer" : "#/components/schemas/Workflows.RealToIntegerConversion",
                  "string:conversion:to_integer" : "#/components/schemas/Workflows.StringToIntegerValueConversion",
                  "string:function:length" : "#/components/schemas/Workflows.StringLengthFunction"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            },
            "operandB" : {
              "description" : "Value model for a 64-bit signed integer value. Resolves to a long JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "entity_assignment_list:function:count_entities" : "#/components/schemas/Workflows.EntityAssignmentListFunctionCountEntities",
                  "integer:constant" : "#/components/schemas/Workflows.IntegerConstant",
                  "integer:expression:select" : "#/components/schemas/Workflows.IntegerExpressionSelect",
                  "integer:function:abs" : "#/components/schemas/Workflows.IntegerFunctionAbs",
                  "integer:function:max" : "#/components/schemas/Workflows.IntegerFunctionMax",
                  "integer:function:min" : "#/components/schemas/Workflows.IntegerFunctionMin",
                  "integer:operation:div" : "#/components/schemas/Workflows.IntegerOperationDiv",
                  "integer:operation:minus" : "#/components/schemas/Workflows.IntegerOperationMinus",
                  "integer:operation:plus" : "#/components/schemas/Workflows.IntegerOperationPlus",
                  "integer:operation:rem" : "#/components/schemas/Workflows.IntegerOperationRem",
                  "integer:operation:times" : "#/components/schemas/Workflows.IntegerOperationTimes",
                  "integer:reference" : "#/components/schemas/Workflows.IntegerReference",
                  "list:function:integer_sum" : "#/components/schemas/Workflows.ValueListFunctionIntegerSum",
                  "list:function:length" : "#/components/schemas/Workflows.ValueListFunctionSize",
                  "real:conversion:to_integer" : "#/components/schemas/Workflows.RealToIntegerConversion",
                  "string:conversion:to_integer" : "#/components/schemas/Workflows.StringToIntegerValueConversion",
                  "string:function:length" : "#/components/schemas/Workflows.StringLengthFunction"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.IntegerComparisonLessThanOrEqual" : {
        "description" : "Value model for integer number `<=` comparison.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.BooleanValue"
        }, {
          "type" : "object",
          "properties" : {
            "operandA" : {
              "description" : "Value model for a 64-bit signed integer value. Resolves to a long JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "entity_assignment_list:function:count_entities" : "#/components/schemas/Workflows.EntityAssignmentListFunctionCountEntities",
                  "integer:constant" : "#/components/schemas/Workflows.IntegerConstant",
                  "integer:expression:select" : "#/components/schemas/Workflows.IntegerExpressionSelect",
                  "integer:function:abs" : "#/components/schemas/Workflows.IntegerFunctionAbs",
                  "integer:function:max" : "#/components/schemas/Workflows.IntegerFunctionMax",
                  "integer:function:min" : "#/components/schemas/Workflows.IntegerFunctionMin",
                  "integer:operation:div" : "#/components/schemas/Workflows.IntegerOperationDiv",
                  "integer:operation:minus" : "#/components/schemas/Workflows.IntegerOperationMinus",
                  "integer:operation:plus" : "#/components/schemas/Workflows.IntegerOperationPlus",
                  "integer:operation:rem" : "#/components/schemas/Workflows.IntegerOperationRem",
                  "integer:operation:times" : "#/components/schemas/Workflows.IntegerOperationTimes",
                  "integer:reference" : "#/components/schemas/Workflows.IntegerReference",
                  "list:function:integer_sum" : "#/components/schemas/Workflows.ValueListFunctionIntegerSum",
                  "list:function:length" : "#/components/schemas/Workflows.ValueListFunctionSize",
                  "real:conversion:to_integer" : "#/components/schemas/Workflows.RealToIntegerConversion",
                  "string:conversion:to_integer" : "#/components/schemas/Workflows.StringToIntegerValueConversion",
                  "string:function:length" : "#/components/schemas/Workflows.StringLengthFunction"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            },
            "operandB" : {
              "description" : "Value model for a 64-bit signed integer value. Resolves to a long JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "entity_assignment_list:function:count_entities" : "#/components/schemas/Workflows.EntityAssignmentListFunctionCountEntities",
                  "integer:constant" : "#/components/schemas/Workflows.IntegerConstant",
                  "integer:expression:select" : "#/components/schemas/Workflows.IntegerExpressionSelect",
                  "integer:function:abs" : "#/components/schemas/Workflows.IntegerFunctionAbs",
                  "integer:function:max" : "#/components/schemas/Workflows.IntegerFunctionMax",
                  "integer:function:min" : "#/components/schemas/Workflows.IntegerFunctionMin",
                  "integer:operation:div" : "#/components/schemas/Workflows.IntegerOperationDiv",
                  "integer:operation:minus" : "#/components/schemas/Workflows.IntegerOperationMinus",
                  "integer:operation:plus" : "#/components/schemas/Workflows.IntegerOperationPlus",
                  "integer:operation:rem" : "#/components/schemas/Workflows.IntegerOperationRem",
                  "integer:operation:times" : "#/components/schemas/Workflows.IntegerOperationTimes",
                  "integer:reference" : "#/components/schemas/Workflows.IntegerReference",
                  "list:function:integer_sum" : "#/components/schemas/Workflows.ValueListFunctionIntegerSum",
                  "list:function:length" : "#/components/schemas/Workflows.ValueListFunctionSize",
                  "real:conversion:to_integer" : "#/components/schemas/Workflows.RealToIntegerConversion",
                  "string:conversion:to_integer" : "#/components/schemas/Workflows.StringToIntegerValueConversion",
                  "string:function:length" : "#/components/schemas/Workflows.StringLengthFunction"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.IntegerComparisonNotEqual" : {
        "description" : "Value model to test integer non-equality.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.BooleanValue"
        }, {
          "type" : "object",
          "properties" : {
            "operandA" : {
              "description" : "Value model for a 64-bit signed integer value. Resolves to a long JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "entity_assignment_list:function:count_entities" : "#/components/schemas/Workflows.EntityAssignmentListFunctionCountEntities",
                  "integer:constant" : "#/components/schemas/Workflows.IntegerConstant",
                  "integer:expression:select" : "#/components/schemas/Workflows.IntegerExpressionSelect",
                  "integer:function:abs" : "#/components/schemas/Workflows.IntegerFunctionAbs",
                  "integer:function:max" : "#/components/schemas/Workflows.IntegerFunctionMax",
                  "integer:function:min" : "#/components/schemas/Workflows.IntegerFunctionMin",
                  "integer:operation:div" : "#/components/schemas/Workflows.IntegerOperationDiv",
                  "integer:operation:minus" : "#/components/schemas/Workflows.IntegerOperationMinus",
                  "integer:operation:plus" : "#/components/schemas/Workflows.IntegerOperationPlus",
                  "integer:operation:rem" : "#/components/schemas/Workflows.IntegerOperationRem",
                  "integer:operation:times" : "#/components/schemas/Workflows.IntegerOperationTimes",
                  "integer:reference" : "#/components/schemas/Workflows.IntegerReference",
                  "list:function:integer_sum" : "#/components/schemas/Workflows.ValueListFunctionIntegerSum",
                  "list:function:length" : "#/components/schemas/Workflows.ValueListFunctionSize",
                  "real:conversion:to_integer" : "#/components/schemas/Workflows.RealToIntegerConversion",
                  "string:conversion:to_integer" : "#/components/schemas/Workflows.StringToIntegerValueConversion",
                  "string:function:length" : "#/components/schemas/Workflows.StringLengthFunction"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            },
            "operandB" : {
              "description" : "Value model for a 64-bit signed integer value. Resolves to a long JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "entity_assignment_list:function:count_entities" : "#/components/schemas/Workflows.EntityAssignmentListFunctionCountEntities",
                  "integer:constant" : "#/components/schemas/Workflows.IntegerConstant",
                  "integer:expression:select" : "#/components/schemas/Workflows.IntegerExpressionSelect",
                  "integer:function:abs" : "#/components/schemas/Workflows.IntegerFunctionAbs",
                  "integer:function:max" : "#/components/schemas/Workflows.IntegerFunctionMax",
                  "integer:function:min" : "#/components/schemas/Workflows.IntegerFunctionMin",
                  "integer:operation:div" : "#/components/schemas/Workflows.IntegerOperationDiv",
                  "integer:operation:minus" : "#/components/schemas/Workflows.IntegerOperationMinus",
                  "integer:operation:plus" : "#/components/schemas/Workflows.IntegerOperationPlus",
                  "integer:operation:rem" : "#/components/schemas/Workflows.IntegerOperationRem",
                  "integer:operation:times" : "#/components/schemas/Workflows.IntegerOperationTimes",
                  "integer:reference" : "#/components/schemas/Workflows.IntegerReference",
                  "list:function:integer_sum" : "#/components/schemas/Workflows.ValueListFunctionIntegerSum",
                  "list:function:length" : "#/components/schemas/Workflows.ValueListFunctionSize",
                  "real:conversion:to_integer" : "#/components/schemas/Workflows.RealToIntegerConversion",
                  "string:conversion:to_integer" : "#/components/schemas/Workflows.StringToIntegerValueConversion",
                  "string:function:length" : "#/components/schemas/Workflows.StringLengthFunction"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.IntegerConstant" : {
        "description" : "Value model of a constant integer value.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.IntegerValue"
        }, {
          "type" : "object",
          "properties" : {
            "value" : {
              "type" : "integer",
              "format" : "int64"
            }
          }
        } ],
        "default" : null
      },
      "Workflows.IntegerExpressionSelect" : {
        "description" : "Value model for selecting an integer value from a list of options based on the provided conditions.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.IntegerValue"
        }, {
          "type" : "object",
          "properties" : {
            "options" : {
              "type" : "array",
              "items" : {
                "$ref" : "#/components/schemas/Workflows.PairBooleanValueIntegerValue"
              }
            }
          }
        } ],
        "default" : null
      },
      "Workflows.IntegerField" : {
        "description" : "Atomic field to store an integer number.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.AtomicField"
        }, {
          "type" : "object",
          "properties" : {
            "default" : {
              "type" : "integer",
              "format" : "int64"
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.SchemaElement"
        } ],
        "default" : null
      },
      "Workflows.IntegerFunctionAbs" : {
        "description" : "Value model to calculate integer absolute value.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.IntegerValue"
        }, {
          "type" : "object",
          "properties" : {
            "argument" : {
              "description" : "Value model for a 64-bit signed integer value. Resolves to a long JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "entity_assignment_list:function:count_entities" : "#/components/schemas/Workflows.EntityAssignmentListFunctionCountEntities",
                  "integer:constant" : "#/components/schemas/Workflows.IntegerConstant",
                  "integer:expression:select" : "#/components/schemas/Workflows.IntegerExpressionSelect",
                  "integer:function:abs" : "#/components/schemas/Workflows.IntegerFunctionAbs",
                  "integer:function:max" : "#/components/schemas/Workflows.IntegerFunctionMax",
                  "integer:function:min" : "#/components/schemas/Workflows.IntegerFunctionMin",
                  "integer:operation:div" : "#/components/schemas/Workflows.IntegerOperationDiv",
                  "integer:operation:minus" : "#/components/schemas/Workflows.IntegerOperationMinus",
                  "integer:operation:plus" : "#/components/schemas/Workflows.IntegerOperationPlus",
                  "integer:operation:rem" : "#/components/schemas/Workflows.IntegerOperationRem",
                  "integer:operation:times" : "#/components/schemas/Workflows.IntegerOperationTimes",
                  "integer:reference" : "#/components/schemas/Workflows.IntegerReference",
                  "list:function:integer_sum" : "#/components/schemas/Workflows.ValueListFunctionIntegerSum",
                  "list:function:length" : "#/components/schemas/Workflows.ValueListFunctionSize",
                  "real:conversion:to_integer" : "#/components/schemas/Workflows.RealToIntegerConversion",
                  "string:conversion:to_integer" : "#/components/schemas/Workflows.StringToIntegerValueConversion",
                  "string:function:length" : "#/components/schemas/Workflows.StringLengthFunction"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        } ],
        "default" : null
      },
      "Workflows.IntegerFunctionMax" : {
        "description" : "Value model to calculate the maximum of two integers.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.IntegerValue"
        }, {
          "type" : "object",
          "properties" : {
            "argument1" : {
              "$ref" : "#/components/schemas/Workflows.IntegerValue"
            },
            "argument2" : {
              "description" : "Value model for a 64-bit signed integer value. Resolves to a long JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "entity_assignment_list:function:count_entities" : "#/components/schemas/Workflows.EntityAssignmentListFunctionCountEntities",
                  "integer:constant" : "#/components/schemas/Workflows.IntegerConstant",
                  "integer:expression:select" : "#/components/schemas/Workflows.IntegerExpressionSelect",
                  "integer:function:abs" : "#/components/schemas/Workflows.IntegerFunctionAbs",
                  "integer:function:max" : "#/components/schemas/Workflows.IntegerFunctionMax",
                  "integer:function:min" : "#/components/schemas/Workflows.IntegerFunctionMin",
                  "integer:operation:div" : "#/components/schemas/Workflows.IntegerOperationDiv",
                  "integer:operation:minus" : "#/components/schemas/Workflows.IntegerOperationMinus",
                  "integer:operation:plus" : "#/components/schemas/Workflows.IntegerOperationPlus",
                  "integer:operation:rem" : "#/components/schemas/Workflows.IntegerOperationRem",
                  "integer:operation:times" : "#/components/schemas/Workflows.IntegerOperationTimes",
                  "integer:reference" : "#/components/schemas/Workflows.IntegerReference",
                  "list:function:integer_sum" : "#/components/schemas/Workflows.ValueListFunctionIntegerSum",
                  "list:function:length" : "#/components/schemas/Workflows.ValueListFunctionSize",
                  "real:conversion:to_integer" : "#/components/schemas/Workflows.RealToIntegerConversion",
                  "string:conversion:to_integer" : "#/components/schemas/Workflows.StringToIntegerValueConversion",
                  "string:function:length" : "#/components/schemas/Workflows.StringLengthFunction"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        } ],
        "default" : null
      },
      "Workflows.IntegerFunctionMin" : {
        "description" : "Value model to calculate the minimum of two integers.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.IntegerValue"
        }, {
          "type" : "object",
          "properties" : {
            "argument1" : {
              "description" : "Value model for a 64-bit signed integer value. Resolves to a long JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "entity_assignment_list:function:count_entities" : "#/components/schemas/Workflows.EntityAssignmentListFunctionCountEntities",
                  "integer:constant" : "#/components/schemas/Workflows.IntegerConstant",
                  "integer:expression:select" : "#/components/schemas/Workflows.IntegerExpressionSelect",
                  "integer:function:abs" : "#/components/schemas/Workflows.IntegerFunctionAbs",
                  "integer:function:max" : "#/components/schemas/Workflows.IntegerFunctionMax",
                  "integer:function:min" : "#/components/schemas/Workflows.IntegerFunctionMin",
                  "integer:operation:div" : "#/components/schemas/Workflows.IntegerOperationDiv",
                  "integer:operation:minus" : "#/components/schemas/Workflows.IntegerOperationMinus",
                  "integer:operation:plus" : "#/components/schemas/Workflows.IntegerOperationPlus",
                  "integer:operation:rem" : "#/components/schemas/Workflows.IntegerOperationRem",
                  "integer:operation:times" : "#/components/schemas/Workflows.IntegerOperationTimes",
                  "integer:reference" : "#/components/schemas/Workflows.IntegerReference",
                  "list:function:integer_sum" : "#/components/schemas/Workflows.ValueListFunctionIntegerSum",
                  "list:function:length" : "#/components/schemas/Workflows.ValueListFunctionSize",
                  "real:conversion:to_integer" : "#/components/schemas/Workflows.RealToIntegerConversion",
                  "string:conversion:to_integer" : "#/components/schemas/Workflows.StringToIntegerValueConversion",
                  "string:function:length" : "#/components/schemas/Workflows.StringLengthFunction"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            },
            "argument2" : {
              "description" : "Value model for a 64-bit signed integer value. Resolves to a long JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "entity_assignment_list:function:count_entities" : "#/components/schemas/Workflows.EntityAssignmentListFunctionCountEntities",
                  "integer:constant" : "#/components/schemas/Workflows.IntegerConstant",
                  "integer:expression:select" : "#/components/schemas/Workflows.IntegerExpressionSelect",
                  "integer:function:abs" : "#/components/schemas/Workflows.IntegerFunctionAbs",
                  "integer:function:max" : "#/components/schemas/Workflows.IntegerFunctionMax",
                  "integer:function:min" : "#/components/schemas/Workflows.IntegerFunctionMin",
                  "integer:operation:div" : "#/components/schemas/Workflows.IntegerOperationDiv",
                  "integer:operation:minus" : "#/components/schemas/Workflows.IntegerOperationMinus",
                  "integer:operation:plus" : "#/components/schemas/Workflows.IntegerOperationPlus",
                  "integer:operation:rem" : "#/components/schemas/Workflows.IntegerOperationRem",
                  "integer:operation:times" : "#/components/schemas/Workflows.IntegerOperationTimes",
                  "integer:reference" : "#/components/schemas/Workflows.IntegerReference",
                  "list:function:integer_sum" : "#/components/schemas/Workflows.ValueListFunctionIntegerSum",
                  "list:function:length" : "#/components/schemas/Workflows.ValueListFunctionSize",
                  "real:conversion:to_integer" : "#/components/schemas/Workflows.RealToIntegerConversion",
                  "string:conversion:to_integer" : "#/components/schemas/Workflows.StringToIntegerValueConversion",
                  "string:function:length" : "#/components/schemas/Workflows.StringLengthFunction"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        } ],
        "default" : null
      },
      "Workflows.IntegerOperationDiv" : {
        "description" : "Value model for integer number division.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.IntegerValue"
        }, {
          "type" : "object",
          "properties" : {
            "operandA" : {
              "description" : "Value model for a 64-bit signed integer value. Resolves to a long JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "entity_assignment_list:function:count_entities" : "#/components/schemas/Workflows.EntityAssignmentListFunctionCountEntities",
                  "integer:constant" : "#/components/schemas/Workflows.IntegerConstant",
                  "integer:expression:select" : "#/components/schemas/Workflows.IntegerExpressionSelect",
                  "integer:function:abs" : "#/components/schemas/Workflows.IntegerFunctionAbs",
                  "integer:function:max" : "#/components/schemas/Workflows.IntegerFunctionMax",
                  "integer:function:min" : "#/components/schemas/Workflows.IntegerFunctionMin",
                  "integer:operation:div" : "#/components/schemas/Workflows.IntegerOperationDiv",
                  "integer:operation:minus" : "#/components/schemas/Workflows.IntegerOperationMinus",
                  "integer:operation:plus" : "#/components/schemas/Workflows.IntegerOperationPlus",
                  "integer:operation:rem" : "#/components/schemas/Workflows.IntegerOperationRem",
                  "integer:operation:times" : "#/components/schemas/Workflows.IntegerOperationTimes",
                  "integer:reference" : "#/components/schemas/Workflows.IntegerReference",
                  "list:function:integer_sum" : "#/components/schemas/Workflows.ValueListFunctionIntegerSum",
                  "list:function:length" : "#/components/schemas/Workflows.ValueListFunctionSize",
                  "real:conversion:to_integer" : "#/components/schemas/Workflows.RealToIntegerConversion",
                  "string:conversion:to_integer" : "#/components/schemas/Workflows.StringToIntegerValueConversion",
                  "string:function:length" : "#/components/schemas/Workflows.StringLengthFunction"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            },
            "operandB" : {
              "description" : "Value model for a 64-bit signed integer value. Resolves to a long JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "entity_assignment_list:function:count_entities" : "#/components/schemas/Workflows.EntityAssignmentListFunctionCountEntities",
                  "integer:constant" : "#/components/schemas/Workflows.IntegerConstant",
                  "integer:expression:select" : "#/components/schemas/Workflows.IntegerExpressionSelect",
                  "integer:function:abs" : "#/components/schemas/Workflows.IntegerFunctionAbs",
                  "integer:function:max" : "#/components/schemas/Workflows.IntegerFunctionMax",
                  "integer:function:min" : "#/components/schemas/Workflows.IntegerFunctionMin",
                  "integer:operation:div" : "#/components/schemas/Workflows.IntegerOperationDiv",
                  "integer:operation:minus" : "#/components/schemas/Workflows.IntegerOperationMinus",
                  "integer:operation:plus" : "#/components/schemas/Workflows.IntegerOperationPlus",
                  "integer:operation:rem" : "#/components/schemas/Workflows.IntegerOperationRem",
                  "integer:operation:times" : "#/components/schemas/Workflows.IntegerOperationTimes",
                  "integer:reference" : "#/components/schemas/Workflows.IntegerReference",
                  "list:function:integer_sum" : "#/components/schemas/Workflows.ValueListFunctionIntegerSum",
                  "list:function:length" : "#/components/schemas/Workflows.ValueListFunctionSize",
                  "real:conversion:to_integer" : "#/components/schemas/Workflows.RealToIntegerConversion",
                  "string:conversion:to_integer" : "#/components/schemas/Workflows.StringToIntegerValueConversion",
                  "string:function:length" : "#/components/schemas/Workflows.StringLengthFunction"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.IntegerOperationMinus" : {
        "description" : "Value model for integer number subtraction.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.IntegerValue"
        }, {
          "type" : "object",
          "properties" : {
            "operandA" : {
              "$ref" : "#/components/schemas/Workflows.IntegerValue"
            },
            "operandB" : {
              "description" : "Value model for a 64-bit signed integer value. Resolves to a long JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "entity_assignment_list:function:count_entities" : "#/components/schemas/Workflows.EntityAssignmentListFunctionCountEntities",
                  "integer:constant" : "#/components/schemas/Workflows.IntegerConstant",
                  "integer:expression:select" : "#/components/schemas/Workflows.IntegerExpressionSelect",
                  "integer:function:abs" : "#/components/schemas/Workflows.IntegerFunctionAbs",
                  "integer:function:max" : "#/components/schemas/Workflows.IntegerFunctionMax",
                  "integer:function:min" : "#/components/schemas/Workflows.IntegerFunctionMin",
                  "integer:operation:div" : "#/components/schemas/Workflows.IntegerOperationDiv",
                  "integer:operation:minus" : "#/components/schemas/Workflows.IntegerOperationMinus",
                  "integer:operation:plus" : "#/components/schemas/Workflows.IntegerOperationPlus",
                  "integer:operation:rem" : "#/components/schemas/Workflows.IntegerOperationRem",
                  "integer:operation:times" : "#/components/schemas/Workflows.IntegerOperationTimes",
                  "integer:reference" : "#/components/schemas/Workflows.IntegerReference",
                  "list:function:integer_sum" : "#/components/schemas/Workflows.ValueListFunctionIntegerSum",
                  "list:function:length" : "#/components/schemas/Workflows.ValueListFunctionSize",
                  "real:conversion:to_integer" : "#/components/schemas/Workflows.RealToIntegerConversion",
                  "string:conversion:to_integer" : "#/components/schemas/Workflows.StringToIntegerValueConversion",
                  "string:function:length" : "#/components/schemas/Workflows.StringLengthFunction"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        } ],
        "default" : null
      },
      "Workflows.IntegerOperationPlus" : {
        "description" : "Value model for integer number addition.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.IntegerValue"
        }, {
          "type" : "object",
          "properties" : {
            "operandA" : {
              "description" : "Value model for a 64-bit signed integer value. Resolves to a long JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "entity_assignment_list:function:count_entities" : "#/components/schemas/Workflows.EntityAssignmentListFunctionCountEntities",
                  "integer:constant" : "#/components/schemas/Workflows.IntegerConstant",
                  "integer:expression:select" : "#/components/schemas/Workflows.IntegerExpressionSelect",
                  "integer:function:abs" : "#/components/schemas/Workflows.IntegerFunctionAbs",
                  "integer:function:max" : "#/components/schemas/Workflows.IntegerFunctionMax",
                  "integer:function:min" : "#/components/schemas/Workflows.IntegerFunctionMin",
                  "integer:operation:div" : "#/components/schemas/Workflows.IntegerOperationDiv",
                  "integer:operation:minus" : "#/components/schemas/Workflows.IntegerOperationMinus",
                  "integer:operation:plus" : "#/components/schemas/Workflows.IntegerOperationPlus",
                  "integer:operation:rem" : "#/components/schemas/Workflows.IntegerOperationRem",
                  "integer:operation:times" : "#/components/schemas/Workflows.IntegerOperationTimes",
                  "integer:reference" : "#/components/schemas/Workflows.IntegerReference",
                  "list:function:integer_sum" : "#/components/schemas/Workflows.ValueListFunctionIntegerSum",
                  "list:function:length" : "#/components/schemas/Workflows.ValueListFunctionSize",
                  "real:conversion:to_integer" : "#/components/schemas/Workflows.RealToIntegerConversion",
                  "string:conversion:to_integer" : "#/components/schemas/Workflows.StringToIntegerValueConversion",
                  "string:function:length" : "#/components/schemas/Workflows.StringLengthFunction"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            },
            "operandB" : {
              "description" : "Value model for a 64-bit signed integer value. Resolves to a long JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "entity_assignment_list:function:count_entities" : "#/components/schemas/Workflows.EntityAssignmentListFunctionCountEntities",
                  "integer:constant" : "#/components/schemas/Workflows.IntegerConstant",
                  "integer:expression:select" : "#/components/schemas/Workflows.IntegerExpressionSelect",
                  "integer:function:abs" : "#/components/schemas/Workflows.IntegerFunctionAbs",
                  "integer:function:max" : "#/components/schemas/Workflows.IntegerFunctionMax",
                  "integer:function:min" : "#/components/schemas/Workflows.IntegerFunctionMin",
                  "integer:operation:div" : "#/components/schemas/Workflows.IntegerOperationDiv",
                  "integer:operation:minus" : "#/components/schemas/Workflows.IntegerOperationMinus",
                  "integer:operation:plus" : "#/components/schemas/Workflows.IntegerOperationPlus",
                  "integer:operation:rem" : "#/components/schemas/Workflows.IntegerOperationRem",
                  "integer:operation:times" : "#/components/schemas/Workflows.IntegerOperationTimes",
                  "integer:reference" : "#/components/schemas/Workflows.IntegerReference",
                  "list:function:integer_sum" : "#/components/schemas/Workflows.ValueListFunctionIntegerSum",
                  "list:function:length" : "#/components/schemas/Workflows.ValueListFunctionSize",
                  "real:conversion:to_integer" : "#/components/schemas/Workflows.RealToIntegerConversion",
                  "string:conversion:to_integer" : "#/components/schemas/Workflows.StringToIntegerValueConversion",
                  "string:function:length" : "#/components/schemas/Workflows.StringLengthFunction"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        } ],
        "default" : null
      },
      "Workflows.IntegerOperationRem" : {
        "description" : "Value model for integer number remainder calculation.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.IntegerValue"
        }, {
          "type" : "object",
          "properties" : {
            "operandA" : {
              "description" : "Value model for a 64-bit signed integer value. Resolves to a long JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "entity_assignment_list:function:count_entities" : "#/components/schemas/Workflows.EntityAssignmentListFunctionCountEntities",
                  "integer:constant" : "#/components/schemas/Workflows.IntegerConstant",
                  "integer:expression:select" : "#/components/schemas/Workflows.IntegerExpressionSelect",
                  "integer:function:abs" : "#/components/schemas/Workflows.IntegerFunctionAbs",
                  "integer:function:max" : "#/components/schemas/Workflows.IntegerFunctionMax",
                  "integer:function:min" : "#/components/schemas/Workflows.IntegerFunctionMin",
                  "integer:operation:div" : "#/components/schemas/Workflows.IntegerOperationDiv",
                  "integer:operation:minus" : "#/components/schemas/Workflows.IntegerOperationMinus",
                  "integer:operation:plus" : "#/components/schemas/Workflows.IntegerOperationPlus",
                  "integer:operation:rem" : "#/components/schemas/Workflows.IntegerOperationRem",
                  "integer:operation:times" : "#/components/schemas/Workflows.IntegerOperationTimes",
                  "integer:reference" : "#/components/schemas/Workflows.IntegerReference",
                  "list:function:integer_sum" : "#/components/schemas/Workflows.ValueListFunctionIntegerSum",
                  "list:function:length" : "#/components/schemas/Workflows.ValueListFunctionSize",
                  "real:conversion:to_integer" : "#/components/schemas/Workflows.RealToIntegerConversion",
                  "string:conversion:to_integer" : "#/components/schemas/Workflows.StringToIntegerValueConversion",
                  "string:function:length" : "#/components/schemas/Workflows.StringLengthFunction"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            },
            "operandB" : {
              "description" : "Value model for a 64-bit signed integer value. Resolves to a long JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "entity_assignment_list:function:count_entities" : "#/components/schemas/Workflows.EntityAssignmentListFunctionCountEntities",
                  "integer:constant" : "#/components/schemas/Workflows.IntegerConstant",
                  "integer:expression:select" : "#/components/schemas/Workflows.IntegerExpressionSelect",
                  "integer:function:abs" : "#/components/schemas/Workflows.IntegerFunctionAbs",
                  "integer:function:max" : "#/components/schemas/Workflows.IntegerFunctionMax",
                  "integer:function:min" : "#/components/schemas/Workflows.IntegerFunctionMin",
                  "integer:operation:div" : "#/components/schemas/Workflows.IntegerOperationDiv",
                  "integer:operation:minus" : "#/components/schemas/Workflows.IntegerOperationMinus",
                  "integer:operation:plus" : "#/components/schemas/Workflows.IntegerOperationPlus",
                  "integer:operation:rem" : "#/components/schemas/Workflows.IntegerOperationRem",
                  "integer:operation:times" : "#/components/schemas/Workflows.IntegerOperationTimes",
                  "integer:reference" : "#/components/schemas/Workflows.IntegerReference",
                  "list:function:integer_sum" : "#/components/schemas/Workflows.ValueListFunctionIntegerSum",
                  "list:function:length" : "#/components/schemas/Workflows.ValueListFunctionSize",
                  "real:conversion:to_integer" : "#/components/schemas/Workflows.RealToIntegerConversion",
                  "string:conversion:to_integer" : "#/components/schemas/Workflows.StringToIntegerValueConversion",
                  "string:function:length" : "#/components/schemas/Workflows.StringLengthFunction"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.IntegerOperationTimes" : {
        "description" : "Value model for integer number multiplication.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.IntegerValue"
        }, {
          "type" : "object",
          "properties" : {
            "operandA" : {
              "description" : "Value model for a 64-bit signed integer value. Resolves to a long JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "entity_assignment_list:function:count_entities" : "#/components/schemas/Workflows.EntityAssignmentListFunctionCountEntities",
                  "integer:constant" : "#/components/schemas/Workflows.IntegerConstant",
                  "integer:expression:select" : "#/components/schemas/Workflows.IntegerExpressionSelect",
                  "integer:function:abs" : "#/components/schemas/Workflows.IntegerFunctionAbs",
                  "integer:function:max" : "#/components/schemas/Workflows.IntegerFunctionMax",
                  "integer:function:min" : "#/components/schemas/Workflows.IntegerFunctionMin",
                  "integer:operation:div" : "#/components/schemas/Workflows.IntegerOperationDiv",
                  "integer:operation:minus" : "#/components/schemas/Workflows.IntegerOperationMinus",
                  "integer:operation:plus" : "#/components/schemas/Workflows.IntegerOperationPlus",
                  "integer:operation:rem" : "#/components/schemas/Workflows.IntegerOperationRem",
                  "integer:operation:times" : "#/components/schemas/Workflows.IntegerOperationTimes",
                  "integer:reference" : "#/components/schemas/Workflows.IntegerReference",
                  "list:function:integer_sum" : "#/components/schemas/Workflows.ValueListFunctionIntegerSum",
                  "list:function:length" : "#/components/schemas/Workflows.ValueListFunctionSize",
                  "real:conversion:to_integer" : "#/components/schemas/Workflows.RealToIntegerConversion",
                  "string:conversion:to_integer" : "#/components/schemas/Workflows.StringToIntegerValueConversion",
                  "string:function:length" : "#/components/schemas/Workflows.StringLengthFunction"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            },
            "operandB" : {
              "description" : "Value model for a 64-bit signed integer value. Resolves to a long JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "entity_assignment_list:function:count_entities" : "#/components/schemas/Workflows.EntityAssignmentListFunctionCountEntities",
                  "integer:constant" : "#/components/schemas/Workflows.IntegerConstant",
                  "integer:expression:select" : "#/components/schemas/Workflows.IntegerExpressionSelect",
                  "integer:function:abs" : "#/components/schemas/Workflows.IntegerFunctionAbs",
                  "integer:function:max" : "#/components/schemas/Workflows.IntegerFunctionMax",
                  "integer:function:min" : "#/components/schemas/Workflows.IntegerFunctionMin",
                  "integer:operation:div" : "#/components/schemas/Workflows.IntegerOperationDiv",
                  "integer:operation:minus" : "#/components/schemas/Workflows.IntegerOperationMinus",
                  "integer:operation:plus" : "#/components/schemas/Workflows.IntegerOperationPlus",
                  "integer:operation:rem" : "#/components/schemas/Workflows.IntegerOperationRem",
                  "integer:operation:times" : "#/components/schemas/Workflows.IntegerOperationTimes",
                  "integer:reference" : "#/components/schemas/Workflows.IntegerReference",
                  "list:function:integer_sum" : "#/components/schemas/Workflows.ValueListFunctionIntegerSum",
                  "list:function:length" : "#/components/schemas/Workflows.ValueListFunctionSize",
                  "real:conversion:to_integer" : "#/components/schemas/Workflows.RealToIntegerConversion",
                  "string:conversion:to_integer" : "#/components/schemas/Workflows.StringToIntegerValueConversion",
                  "string:function:length" : "#/components/schemas/Workflows.StringLengthFunction"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.IntegerReference" : {
        "description" : "Value model of an integer value reference.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.IntegerValue"
        }, {
          "type" : "object",
          "properties" : {
            "defaultValue" : {
              "type" : "integer",
              "format" : "int64"
            },
            "valueReference" : {
              "$ref" : "#/components/schemas/Workflows.ValueReference"
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.IntegerSequenceGenerator" : {
        "description" : "Value model for generating a sequence of integer numbers based on the provided parameters.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.ValueList"
        }, {
          "type" : "object",
          "properties" : {
            "first" : {
              "description" : "Value model for a 64-bit signed integer value. Resolves to a long JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "entity_assignment_list:function:count_entities" : "#/components/schemas/Workflows.EntityAssignmentListFunctionCountEntities",
                  "integer:constant" : "#/components/schemas/Workflows.IntegerConstant",
                  "integer:expression:select" : "#/components/schemas/Workflows.IntegerExpressionSelect",
                  "integer:function:abs" : "#/components/schemas/Workflows.IntegerFunctionAbs",
                  "integer:function:max" : "#/components/schemas/Workflows.IntegerFunctionMax",
                  "integer:function:min" : "#/components/schemas/Workflows.IntegerFunctionMin",
                  "integer:operation:div" : "#/components/schemas/Workflows.IntegerOperationDiv",
                  "integer:operation:minus" : "#/components/schemas/Workflows.IntegerOperationMinus",
                  "integer:operation:plus" : "#/components/schemas/Workflows.IntegerOperationPlus",
                  "integer:operation:rem" : "#/components/schemas/Workflows.IntegerOperationRem",
                  "integer:operation:times" : "#/components/schemas/Workflows.IntegerOperationTimes",
                  "integer:reference" : "#/components/schemas/Workflows.IntegerReference",
                  "list:function:integer_sum" : "#/components/schemas/Workflows.ValueListFunctionIntegerSum",
                  "list:function:length" : "#/components/schemas/Workflows.ValueListFunctionSize",
                  "real:conversion:to_integer" : "#/components/schemas/Workflows.RealToIntegerConversion",
                  "string:conversion:to_integer" : "#/components/schemas/Workflows.StringToIntegerValueConversion",
                  "string:function:length" : "#/components/schemas/Workflows.StringLengthFunction"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            },
            "increment" : {
              "description" : "Value model for a 64-bit signed integer value. Resolves to a long JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "entity_assignment_list:function:count_entities" : "#/components/schemas/Workflows.EntityAssignmentListFunctionCountEntities",
                  "integer:constant" : "#/components/schemas/Workflows.IntegerConstant",
                  "integer:expression:select" : "#/components/schemas/Workflows.IntegerExpressionSelect",
                  "integer:function:abs" : "#/components/schemas/Workflows.IntegerFunctionAbs",
                  "integer:function:max" : "#/components/schemas/Workflows.IntegerFunctionMax",
                  "integer:function:min" : "#/components/schemas/Workflows.IntegerFunctionMin",
                  "integer:operation:div" : "#/components/schemas/Workflows.IntegerOperationDiv",
                  "integer:operation:minus" : "#/components/schemas/Workflows.IntegerOperationMinus",
                  "integer:operation:plus" : "#/components/schemas/Workflows.IntegerOperationPlus",
                  "integer:operation:rem" : "#/components/schemas/Workflows.IntegerOperationRem",
                  "integer:operation:times" : "#/components/schemas/Workflows.IntegerOperationTimes",
                  "integer:reference" : "#/components/schemas/Workflows.IntegerReference",
                  "list:function:integer_sum" : "#/components/schemas/Workflows.ValueListFunctionIntegerSum",
                  "list:function:length" : "#/components/schemas/Workflows.ValueListFunctionSize",
                  "real:conversion:to_integer" : "#/components/schemas/Workflows.RealToIntegerConversion",
                  "string:conversion:to_integer" : "#/components/schemas/Workflows.StringToIntegerValueConversion",
                  "string:function:length" : "#/components/schemas/Workflows.StringLengthFunction"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            },
            "length" : {
              "description" : "Value model for a 64-bit signed integer value. Resolves to a long JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "entity_assignment_list:function:count_entities" : "#/components/schemas/Workflows.EntityAssignmentListFunctionCountEntities",
                  "integer:constant" : "#/components/schemas/Workflows.IntegerConstant",
                  "integer:expression:select" : "#/components/schemas/Workflows.IntegerExpressionSelect",
                  "integer:function:abs" : "#/components/schemas/Workflows.IntegerFunctionAbs",
                  "integer:function:max" : "#/components/schemas/Workflows.IntegerFunctionMax",
                  "integer:function:min" : "#/components/schemas/Workflows.IntegerFunctionMin",
                  "integer:operation:div" : "#/components/schemas/Workflows.IntegerOperationDiv",
                  "integer:operation:minus" : "#/components/schemas/Workflows.IntegerOperationMinus",
                  "integer:operation:plus" : "#/components/schemas/Workflows.IntegerOperationPlus",
                  "integer:operation:rem" : "#/components/schemas/Workflows.IntegerOperationRem",
                  "integer:operation:times" : "#/components/schemas/Workflows.IntegerOperationTimes",
                  "integer:reference" : "#/components/schemas/Workflows.IntegerReference",
                  "list:function:integer_sum" : "#/components/schemas/Workflows.ValueListFunctionIntegerSum",
                  "list:function:length" : "#/components/schemas/Workflows.ValueListFunctionSize",
                  "real:conversion:to_integer" : "#/components/schemas/Workflows.RealToIntegerConversion",
                  "string:conversion:to_integer" : "#/components/schemas/Workflows.StringToIntegerValueConversion",
                  "string:function:length" : "#/components/schemas/Workflows.StringLengthFunction"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.IntegerToDimensionalScalarValueConversion" : {
        "description" : "Value model to convert an integer value to a dimensional scalar value.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.DimensionalScalarValue"
        }, {
          "type" : "object",
          "properties" : {
            "integerValue" : {
              "description" : "Value model for a 64-bit signed integer value. Resolves to a long JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "entity_assignment_list:function:count_entities" : "#/components/schemas/Workflows.EntityAssignmentListFunctionCountEntities",
                  "integer:constant" : "#/components/schemas/Workflows.IntegerConstant",
                  "integer:expression:select" : "#/components/schemas/Workflows.IntegerExpressionSelect",
                  "integer:function:abs" : "#/components/schemas/Workflows.IntegerFunctionAbs",
                  "integer:function:max" : "#/components/schemas/Workflows.IntegerFunctionMax",
                  "integer:function:min" : "#/components/schemas/Workflows.IntegerFunctionMin",
                  "integer:operation:div" : "#/components/schemas/Workflows.IntegerOperationDiv",
                  "integer:operation:minus" : "#/components/schemas/Workflows.IntegerOperationMinus",
                  "integer:operation:plus" : "#/components/schemas/Workflows.IntegerOperationPlus",
                  "integer:operation:rem" : "#/components/schemas/Workflows.IntegerOperationRem",
                  "integer:operation:times" : "#/components/schemas/Workflows.IntegerOperationTimes",
                  "integer:reference" : "#/components/schemas/Workflows.IntegerReference",
                  "list:function:integer_sum" : "#/components/schemas/Workflows.ValueListFunctionIntegerSum",
                  "list:function:length" : "#/components/schemas/Workflows.ValueListFunctionSize",
                  "real:conversion:to_integer" : "#/components/schemas/Workflows.RealToIntegerConversion",
                  "string:conversion:to_integer" : "#/components/schemas/Workflows.StringToIntegerValueConversion",
                  "string:function:length" : "#/components/schemas/Workflows.StringLengthFunction"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            },
            "unit" : {
              "description" : "Value model for a measurement unit value. Resolves to a text JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "unit:constant" : "#/components/schemas/Workflows.MeasurementUnitConstant",
                  "unit:expression:select" : "#/components/schemas/Workflows.MeasurementUnitExpressionSelect",
                  "unit:function:pow" : "#/components/schemas/Workflows.MeasurementUnitFunctionPow",
                  "unit:operation:div" : "#/components/schemas/Workflows.MeasurementUnitOperationDiv",
                  "unit:operation:times" : "#/components/schemas/Workflows.MeasurementUnitOperationTimes",
                  "unit:reference" : "#/components/schemas/Workflows.MeasurementUnitReference"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.IntegerToRealValueConversion" : {
        "description" : "Value model to convert an integer value to a real value.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.RealValue"
        }, {
          "type" : "object",
          "properties" : {
            "integerValue" : {
              "description" : "Value model for a 64-bit signed integer value. Resolves to a long JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "entity_assignment_list:function:count_entities" : "#/components/schemas/Workflows.EntityAssignmentListFunctionCountEntities",
                  "integer:constant" : "#/components/schemas/Workflows.IntegerConstant",
                  "integer:expression:select" : "#/components/schemas/Workflows.IntegerExpressionSelect",
                  "integer:function:abs" : "#/components/schemas/Workflows.IntegerFunctionAbs",
                  "integer:function:max" : "#/components/schemas/Workflows.IntegerFunctionMax",
                  "integer:function:min" : "#/components/schemas/Workflows.IntegerFunctionMin",
                  "integer:operation:div" : "#/components/schemas/Workflows.IntegerOperationDiv",
                  "integer:operation:minus" : "#/components/schemas/Workflows.IntegerOperationMinus",
                  "integer:operation:plus" : "#/components/schemas/Workflows.IntegerOperationPlus",
                  "integer:operation:rem" : "#/components/schemas/Workflows.IntegerOperationRem",
                  "integer:operation:times" : "#/components/schemas/Workflows.IntegerOperationTimes",
                  "integer:reference" : "#/components/schemas/Workflows.IntegerReference",
                  "list:function:integer_sum" : "#/components/schemas/Workflows.ValueListFunctionIntegerSum",
                  "list:function:length" : "#/components/schemas/Workflows.ValueListFunctionSize",
                  "real:conversion:to_integer" : "#/components/schemas/Workflows.RealToIntegerConversion",
                  "string:conversion:to_integer" : "#/components/schemas/Workflows.StringToIntegerValueConversion",
                  "string:function:length" : "#/components/schemas/Workflows.StringLengthFunction"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        } ],
        "default" : null
      },
      "Workflows.IntegerToStringValueConversion" : {
        "description" : "Value model for converting an integer to a string.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.StringValue"
        }, {
          "type" : "object",
          "properties" : {
            "integerValue" : {
              "description" : "Value model for a 64-bit signed integer value. Resolves to a long JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "entity_assignment_list:function:count_entities" : "#/components/schemas/Workflows.EntityAssignmentListFunctionCountEntities",
                  "integer:constant" : "#/components/schemas/Workflows.IntegerConstant",
                  "integer:expression:select" : "#/components/schemas/Workflows.IntegerExpressionSelect",
                  "integer:function:abs" : "#/components/schemas/Workflows.IntegerFunctionAbs",
                  "integer:function:max" : "#/components/schemas/Workflows.IntegerFunctionMax",
                  "integer:function:min" : "#/components/schemas/Workflows.IntegerFunctionMin",
                  "integer:operation:div" : "#/components/schemas/Workflows.IntegerOperationDiv",
                  "integer:operation:minus" : "#/components/schemas/Workflows.IntegerOperationMinus",
                  "integer:operation:plus" : "#/components/schemas/Workflows.IntegerOperationPlus",
                  "integer:operation:rem" : "#/components/schemas/Workflows.IntegerOperationRem",
                  "integer:operation:times" : "#/components/schemas/Workflows.IntegerOperationTimes",
                  "integer:reference" : "#/components/schemas/Workflows.IntegerReference",
                  "list:function:integer_sum" : "#/components/schemas/Workflows.ValueListFunctionIntegerSum",
                  "list:function:length" : "#/components/schemas/Workflows.ValueListFunctionSize",
                  "real:conversion:to_integer" : "#/components/schemas/Workflows.RealToIntegerConversion",
                  "string:conversion:to_integer" : "#/components/schemas/Workflows.StringToIntegerValueConversion",
                  "string:function:length" : "#/components/schemas/Workflows.StringLengthFunction"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.IntegerValue" : {
        "description" : "Value model for a 64-bit signed integer value. Resolves to a long JSON node.",
        "discriminator" : {
          "propertyName" : "value_model_type",
          "mapping" : {
            "entity_assignment_list:function:count_entities" : "#/components/schemas/Workflows.EntityAssignmentListFunctionCountEntities",
            "integer:constant" : "#/components/schemas/Workflows.IntegerConstant",
            "integer:expression:select" : "#/components/schemas/Workflows.IntegerExpressionSelect",
            "integer:function:abs" : "#/components/schemas/Workflows.IntegerFunctionAbs",
            "integer:function:max" : "#/components/schemas/Workflows.IntegerFunctionMax",
            "integer:function:min" : "#/components/schemas/Workflows.IntegerFunctionMin",
            "integer:operation:div" : "#/components/schemas/Workflows.IntegerOperationDiv",
            "integer:operation:minus" : "#/components/schemas/Workflows.IntegerOperationMinus",
            "integer:operation:plus" : "#/components/schemas/Workflows.IntegerOperationPlus",
            "integer:operation:rem" : "#/components/schemas/Workflows.IntegerOperationRem",
            "integer:operation:times" : "#/components/schemas/Workflows.IntegerOperationTimes",
            "integer:reference" : "#/components/schemas/Workflows.IntegerReference",
            "list:function:integer_sum" : "#/components/schemas/Workflows.ValueListFunctionIntegerSum",
            "list:function:length" : "#/components/schemas/Workflows.ValueListFunctionSize",
            "real:conversion:to_integer" : "#/components/schemas/Workflows.RealToIntegerConversion",
            "string:conversion:to_integer" : "#/components/schemas/Workflows.StringToIntegerValueConversion",
            "string:function:length" : "#/components/schemas/Workflows.StringLengthFunction"
          }
        },
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.IntermediateDataDefinition" : {
        "description" : "Represents an intermediate data in the workflow which is neither an input nor an output data.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.AbstractDataDefinition"
        } ],
        "default" : null
      },
      "Workflows.IteratorReference" : {
        "description" : "Iterator reference for processing collections.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.ValueReference"
        }, {
          "type" : "object",
          "properties" : {
            "iteratorId" : {
              "type" : "string"
            },
            "valuePath" : {
              "type" : "string"
            }
          }
        } ],
        "default" : null
      },
      "Workflows.MeasurementUnitComparisonEqual" : {
        "description" : "Value model of a measurement unit comparison for equality.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.MeasurementUnitValue"
        }, {
          "type" : "object",
          "properties" : {
            "operandA" : {
              "description" : "Value model for a measurement unit value. Resolves to a text JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "unit:constant" : "#/components/schemas/Workflows.MeasurementUnitConstant",
                  "unit:expression:select" : "#/components/schemas/Workflows.MeasurementUnitExpressionSelect",
                  "unit:function:pow" : "#/components/schemas/Workflows.MeasurementUnitFunctionPow",
                  "unit:operation:div" : "#/components/schemas/Workflows.MeasurementUnitOperationDiv",
                  "unit:operation:times" : "#/components/schemas/Workflows.MeasurementUnitOperationTimes",
                  "unit:reference" : "#/components/schemas/Workflows.MeasurementUnitReference"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            },
            "operandB" : {
              "description" : "Value model for a measurement unit value. Resolves to a text JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "unit:constant" : "#/components/schemas/Workflows.MeasurementUnitConstant",
                  "unit:expression:select" : "#/components/schemas/Workflows.MeasurementUnitExpressionSelect",
                  "unit:function:pow" : "#/components/schemas/Workflows.MeasurementUnitFunctionPow",
                  "unit:operation:div" : "#/components/schemas/Workflows.MeasurementUnitOperationDiv",
                  "unit:operation:times" : "#/components/schemas/Workflows.MeasurementUnitOperationTimes",
                  "unit:reference" : "#/components/schemas/Workflows.MeasurementUnitReference"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.MeasurementUnitComparisonNotEqual" : {
        "description" : "Value model of a measurement unit comparison for non-equality.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.MeasurementUnitValue"
        }, {
          "type" : "object",
          "properties" : {
            "operandA" : {
              "description" : "Value model for a measurement unit value. Resolves to a text JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "unit:constant" : "#/components/schemas/Workflows.MeasurementUnitConstant",
                  "unit:expression:select" : "#/components/schemas/Workflows.MeasurementUnitExpressionSelect",
                  "unit:function:pow" : "#/components/schemas/Workflows.MeasurementUnitFunctionPow",
                  "unit:operation:div" : "#/components/schemas/Workflows.MeasurementUnitOperationDiv",
                  "unit:operation:times" : "#/components/schemas/Workflows.MeasurementUnitOperationTimes",
                  "unit:reference" : "#/components/schemas/Workflows.MeasurementUnitReference"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            },
            "operandB" : {
              "description" : "Value model for a measurement unit value. Resolves to a text JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "unit:constant" : "#/components/schemas/Workflows.MeasurementUnitConstant",
                  "unit:expression:select" : "#/components/schemas/Workflows.MeasurementUnitExpressionSelect",
                  "unit:function:pow" : "#/components/schemas/Workflows.MeasurementUnitFunctionPow",
                  "unit:operation:div" : "#/components/schemas/Workflows.MeasurementUnitOperationDiv",
                  "unit:operation:times" : "#/components/schemas/Workflows.MeasurementUnitOperationTimes",
                  "unit:reference" : "#/components/schemas/Workflows.MeasurementUnitReference"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.MeasurementUnitConstant" : {
        "description" : "Value model of a constant measurement unit.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.MeasurementUnitValue"
        }, {
          "type" : "object",
          "properties" : {
            "value" : {
              "type" : "string"
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.MeasurementUnitExpressionSelect" : {
        "description" : "Value model for selecting a measurement unit value from a list of options based on the provided conditions.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.MeasurementUnitValue"
        }, {
          "type" : "object",
          "properties" : {
            "options" : {
              "type" : "array",
              "items" : {
                "type" : "object"
              }
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.MeasurementUnitField" : {
        "description" : "Measurement unit field denotes a schema element which stores a measurement field. It is represented as a string.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.SchemaElement"
        }, {
          "type" : "object",
          "properties" : {
            "unitProfiles" : {
              "$ref" : "#/components/schemas/Workflows.UnitProfilesDimension"
            }
          }
        } ],
        "default" : null
      },
      "Workflows.MeasurementUnitFunctionPow" : {
        "description" : "Value model of a measurement unit exponentiation.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.MeasurementUnitValue"
        }, {
          "type" : "object",
          "properties" : {
            "argument" : {
              "description" : "Value model for a measurement unit value. Resolves to a text JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "unit:constant" : "#/components/schemas/Workflows.MeasurementUnitConstant",
                  "unit:expression:select" : "#/components/schemas/Workflows.MeasurementUnitExpressionSelect",
                  "unit:function:pow" : "#/components/schemas/Workflows.MeasurementUnitFunctionPow",
                  "unit:operation:div" : "#/components/schemas/Workflows.MeasurementUnitOperationDiv",
                  "unit:operation:times" : "#/components/schemas/Workflows.MeasurementUnitOperationTimes",
                  "unit:reference" : "#/components/schemas/Workflows.MeasurementUnitReference"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            },
            "exponent" : {
              "description" : "Value model for a 64-bit signed integer value. Resolves to a long JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "entity_assignment_list:function:count_entities" : "#/components/schemas/Workflows.EntityAssignmentListFunctionCountEntities",
                  "integer:constant" : "#/components/schemas/Workflows.IntegerConstant",
                  "integer:expression:select" : "#/components/schemas/Workflows.IntegerExpressionSelect",
                  "integer:function:abs" : "#/components/schemas/Workflows.IntegerFunctionAbs",
                  "integer:function:max" : "#/components/schemas/Workflows.IntegerFunctionMax",
                  "integer:function:min" : "#/components/schemas/Workflows.IntegerFunctionMin",
                  "integer:operation:div" : "#/components/schemas/Workflows.IntegerOperationDiv",
                  "integer:operation:minus" : "#/components/schemas/Workflows.IntegerOperationMinus",
                  "integer:operation:plus" : "#/components/schemas/Workflows.IntegerOperationPlus",
                  "integer:operation:rem" : "#/components/schemas/Workflows.IntegerOperationRem",
                  "integer:operation:times" : "#/components/schemas/Workflows.IntegerOperationTimes",
                  "integer:reference" : "#/components/schemas/Workflows.IntegerReference",
                  "list:function:integer_sum" : "#/components/schemas/Workflows.ValueListFunctionIntegerSum",
                  "list:function:length" : "#/components/schemas/Workflows.ValueListFunctionSize",
                  "real:conversion:to_integer" : "#/components/schemas/Workflows.RealToIntegerConversion",
                  "string:conversion:to_integer" : "#/components/schemas/Workflows.StringToIntegerValueConversion",
                  "string:function:length" : "#/components/schemas/Workflows.StringLengthFunction"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.MeasurementUnitOperationDiv" : {
        "description" : "Value model of a measurement unit division.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.MeasurementUnitValue"
        }, {
          "type" : "object",
          "properties" : {
            "operandA" : {
              "description" : "Value model for a measurement unit value. Resolves to a text JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "unit:constant" : "#/components/schemas/Workflows.MeasurementUnitConstant",
                  "unit:expression:select" : "#/components/schemas/Workflows.MeasurementUnitExpressionSelect",
                  "unit:function:pow" : "#/components/schemas/Workflows.MeasurementUnitFunctionPow",
                  "unit:operation:div" : "#/components/schemas/Workflows.MeasurementUnitOperationDiv",
                  "unit:operation:times" : "#/components/schemas/Workflows.MeasurementUnitOperationTimes",
                  "unit:reference" : "#/components/schemas/Workflows.MeasurementUnitReference"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            },
            "operandB" : {
              "description" : "Value model for a measurement unit value. Resolves to a text JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "unit:constant" : "#/components/schemas/Workflows.MeasurementUnitConstant",
                  "unit:expression:select" : "#/components/schemas/Workflows.MeasurementUnitExpressionSelect",
                  "unit:function:pow" : "#/components/schemas/Workflows.MeasurementUnitFunctionPow",
                  "unit:operation:div" : "#/components/schemas/Workflows.MeasurementUnitOperationDiv",
                  "unit:operation:times" : "#/components/schemas/Workflows.MeasurementUnitOperationTimes",
                  "unit:reference" : "#/components/schemas/Workflows.MeasurementUnitReference"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.MeasurementUnitOperationTimes" : {
        "description" : "Value model of a measurement unit multiplication.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.MeasurementUnitValue"
        }, {
          "type" : "object",
          "properties" : {
            "operandA" : {
              "description" : "Value model for a measurement unit value. Resolves to a text JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "unit:constant" : "#/components/schemas/Workflows.MeasurementUnitConstant",
                  "unit:expression:select" : "#/components/schemas/Workflows.MeasurementUnitExpressionSelect",
                  "unit:function:pow" : "#/components/schemas/Workflows.MeasurementUnitFunctionPow",
                  "unit:operation:div" : "#/components/schemas/Workflows.MeasurementUnitOperationDiv",
                  "unit:operation:times" : "#/components/schemas/Workflows.MeasurementUnitOperationTimes",
                  "unit:reference" : "#/components/schemas/Workflows.MeasurementUnitReference"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            },
            "operandB" : {
              "description" : "Value model for a measurement unit value. Resolves to a text JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "unit:constant" : "#/components/schemas/Workflows.MeasurementUnitConstant",
                  "unit:expression:select" : "#/components/schemas/Workflows.MeasurementUnitExpressionSelect",
                  "unit:function:pow" : "#/components/schemas/Workflows.MeasurementUnitFunctionPow",
                  "unit:operation:div" : "#/components/schemas/Workflows.MeasurementUnitOperationDiv",
                  "unit:operation:times" : "#/components/schemas/Workflows.MeasurementUnitOperationTimes",
                  "unit:reference" : "#/components/schemas/Workflows.MeasurementUnitReference"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.MeasurementUnitReference" : {
        "description" : "Value model of a measurement unit value reference.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.MeasurementUnitValue"
        }, {
          "type" : "object",
          "properties" : {
            "defaultValue" : {
              "type" : "string"
            },
            "valueReference" : {
              "$ref" : "#/components/schemas/Workflows.ValueReference"
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.MeasurementUnitValue" : {
        "description" : "Value model for a measurement unit value. Resolves to a text JSON node.",
        "discriminator" : {
          "propertyName" : "value_model_type",
          "mapping" : {
            "unit:constant" : "#/components/schemas/Workflows.MeasurementUnitConstant",
            "unit:expression:select" : "#/components/schemas/Workflows.MeasurementUnitExpressionSelect",
            "unit:function:pow" : "#/components/schemas/Workflows.MeasurementUnitFunctionPow",
            "unit:operation:div" : "#/components/schemas/Workflows.MeasurementUnitOperationDiv",
            "unit:operation:times" : "#/components/schemas/Workflows.MeasurementUnitOperationTimes",
            "unit:reference" : "#/components/schemas/Workflows.MeasurementUnitReference"
          }
        },
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.MetadataValueReference" : {
        "description" : "Reference to a value in a metadata associated to a workflow data.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.ValueReference"
        }, {
          "type" : "object",
          "properties" : {
            "dataName" : {
              "type" : "string"
            },
            "valuePath" : {
              "type" : "string"
            }
          }
        } ],
        "default" : null
      },
      "Workflows.MethodOperationDefinition" : {
        "description" : "\nWorkflow operation which refers to a method. Methods are atomic from the workflow perspective.\nA method can do many things, for example: applying some CAD operation, meshing, executing a solver, post-processing results and others.\n",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.AtomicOperationDefinition"
        }, {
          "type" : "object",
          "properties" : {
            "configurationDataSources" : {
              "type" : "array",
              "items" : {
                "$ref" : "#/components/schemas/Workflows.DataReference"
              }
            },
            "configurationValueModel" : {
              "description" : "\nValue model for a concrete compound value. Resolves to an object JSON node.\n\nNote that the serialized representation of this value model contains the nested value models in a field map.\nThis is necessary to make this class sufficient for deserializing and processing compound values in the workflow engine in the absence of the original generated value models.\nWhen the developer is accessing fields of the generated value models then the generated getter and setter functions are storing values in this field map,\nthere's no backing field behind the properties in the generated value models. This architecture makes the value model definition type-safe meanwhile there's no need for the generated classes at runtime.\n    ",
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.AbstractCompoundValue"
              }, {
                "type" : "object",
                "properties" : {
                  "fields" : {
                    "type" : "object",
                    "additionalProperties" : {
                      "$ref" : "#/components/schemas/Workflows.Value"
                    }
                  },
                  "polymorphicCompoundValue" : {
                    "type" : "boolean"
                  },
                  "subtypeId" : {
                    "type" : "string"
                  },
                  "subtypes" : {
                    "type" : "object",
                    "additionalProperties" : {
                      "description" : "\nValue model for a concrete compound value. Resolves to an object JSON node.\n\nNote that the serialized representation of this value model contains the nested value models in a field map.\nThis is necessary to make this class sufficient for deserializing and processing compound values in the workflow engine in the absence of the original generated value models.\nWhen the developer is accessing fields of the generated value models then the generated getter and setter functions are storing values in this field map,\nthere's no backing field behind the properties in the generated value models. This architecture makes the value model definition type-safe meanwhile there's no need for the generated classes at runtime.\n    ",
                      "allOf" : [ {
                        "$ref" : "#/components/schemas/Workflows.AbstractCompoundValue"
                      }, {
                        "type" : "object",
                        "properties" : {
                          "fields" : {
                            "type" : "object",
                            "additionalProperties" : {
                              "type" : "object",
                              "description" : "\nValue interface is the root of the value model type hierarchy.\n\nValue models store the computation model of values. The models are defined by the developer, for convenience through a DSL\ncomposed of receiver and extension functions and other Kotlin language constructs.\n\nWhen the build runs the definition of the value model, it gets serialized into a JSON representation and that is the artifact of the build.\nThese JSONs are persisted into the database and loaded by the workflow engine for the evaluation of the values.\nOnce values are computed they get stored as data and used by methods or clients to show data to the user.\nValue models and data models adhere to the same schema defined by the developer in DSSL, just they have a different implementation due to their different roles.\n\nBelow we define the central repository of value models. These are all part of the framework, available to the workflow engine as well.\nThey provide atomic types and composition mechanisms via containers and the compound value model class. These are in sync with the building blocks in DSSL.\n\nUser defined types via DSSL schemas are based on the compound value model. The generated value models are available only at build time to the user to define\nthe value computation logic in a type-safe way, meanwhile at runtime in the workflow engine only the compound value model is present.\n\nThe single value resolution function of this interface is the one used by the workflow engine to execute the value computation.\nAll value models implement this in their own way. The result is always a JSON node, which can be either a single node or an entire tree of nodes behind it.\n\nValue model types below are organized into groups based on their parent type, essentially following the hierarchy in a flattened way.\nThe type names - which get into the serialized JSON representation - also follow this structure, where levels are separated with a colon (`:`).\nBy convention names composed of multiple words are presented with snake-case and these rules are followed as a naming convention:\n* `operation` for operators (both unary and binary, e.g. plus, minus, not...),\n* `comparison` for comparators (equal, not equal, less than),\n* `function` for the general case.\n    ",
                              "default" : null
                            }
                          },
                          "polymorphicCompoundValue" : {
                            "type" : "boolean"
                          },
                          "subtypeId" : {
                            "type" : "string"
                          },
                          "valueReference" : {
                            "$ref" : "#/components/schemas/Workflows.ValueReference"
                          }
                        }
                      } ],
                      "default" : null
                    }
                  },
                  "valueReference" : {
                    "$ref" : "#/components/schemas/Workflows.ValueReference"
                  }
                }
              } ],
              "default" : null
            },
            "doc" : {
              "type" : "string"
            },
            "inputMapping" : {
              "type" : "array",
              "items" : {
                "$ref" : "#/components/schemas/Workflows.DataMappingEntry"
              }
            },
            "label" : {
              "type" : "string"
            },
            "metadata" : {
              "type" : "object",
              "additionalProperties" : {
                "type" : "object"
              }
            },
            "methodReference" : {
              "type" : "string"
            },
            "multiLanguageDoc" : {
              "type" : "object",
              "additionalProperties" : {
                "type" : "string"
              }
            },
            "multiLanguageLabel" : {
              "type" : "object",
              "additionalProperties" : {
                "type" : "string"
              }
            },
            "name" : {
              "type" : "string"
            },
            "outputMapping" : {
              "type" : "array",
              "items" : {
                "$ref" : "#/components/schemas/Workflows.DataMappingEntry"
              }
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.AbstractOperationDefinition"
        } ],
        "default" : null
      },
      "Workflows.MethodResourceEstimationValueModel" : {
        "type" : "object",
        "properties" : {
          "oneProcessorEstimation" : {
            "$ref" : "#/components/schemas/Workflows.OneProcessorEstimationValueModel"
          },
          "scalingEstimation" : {
            "$ref" : "#/components/schemas/Workflows.ScalingEstimationValueModel"
          }
        }
      },
      "Workflows.NavigationListUiConfigurationEntry" : {
        "description" : "UI configuration entry for list fields.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.UiConfigurationEntry"
        }, {
          "type" : "object",
          "properties" : {
            "icon" : {
              "description" : "Value model for a string value. Resolves to a text JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "boolean:conversion:to_string" : "#/components/schemas/Workflows.BooleanToStringValueConversion",
                  "dimensional_scalar:conversion:to_string" : "#/components/schemas/Workflows.DimensionalScalarToStringValueConversion",
                  "dimensional_vector:conversion:to_string" : "#/components/schemas/Workflows.DimensionalVectorToStringValueConversion",
                  "entity_assignment:conversion:to_markdown_link_string" : "#/components/schemas/Workflows.EntityAssignmentToMarkdownLinkValueConversion",
                  "entity_assignment:conversion:to_string" : "#/components/schemas/Workflows.EntityAssignmentToStringValueConversion",
                  "entity_assignment_list:conversion:to_markdown_link_string" : "#/components/schemas/Workflows.EntityAssignmentListToMarkdownLinkValueConversion",
                  "enum:conversion:to_string" : "#/components/schemas/Workflows.EnumToStringValueConversion",
                  "integer:conversion:to_string" : "#/components/schemas/Workflows.IntegerToStringValueConversion",
                  "real:conversion:to_string" : "#/components/schemas/Workflows.RealToStringValueConversion",
                  "string:constant" : "#/components/schemas/Workflows.StringConstant",
                  "string:expression:select" : "#/components/schemas/Workflows.StringExpressionSelect",
                  "string:function:lowercase" : "#/components/schemas/Workflows.StringLowerCaseFunction",
                  "string:function:substring" : "#/components/schemas/Workflows.StringSubStringFunction",
                  "string:function:uppercase" : "#/components/schemas/Workflows.StringUpperCaseFunction",
                  "string:operation:plus" : "#/components/schemas/Workflows.StringOperationPlus",
                  "string:reference" : "#/components/schemas/Workflows.StringReference",
                  "value_list:conversion:to_string" : "#/components/schemas/Workflows.ValueListToStringValueConversion"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            },
            "initiallyOpen" : {
              "description" : "Value model of a boolean value. Resolves to a JSON boolean or null node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "boolean:comparison:equal" : "#/components/schemas/Workflows.BooleanComparisonEqual",
                  "boolean:comparison:not_equal" : "#/components/schemas/Workflows.BooleanComparisonNotEqual",
                  "boolean:constant" : "#/components/schemas/Workflows.BooleanConstant",
                  "boolean:expression:select" : "#/components/schemas/Workflows.BooleanExpressionSelect",
                  "boolean:operation:and" : "#/components/schemas/Workflows.BooleanOperationAnd",
                  "boolean:operation:not" : "#/components/schemas/Workflows.BooleanOperationNot",
                  "boolean:operation:or" : "#/components/schemas/Workflows.BooleanOperationOr",
                  "boolean:operation:xor" : "#/components/schemas/Workflows.BooleanOperationXor",
                  "boolean:reference" : "#/components/schemas/Workflows.BooleanReference",
                  "compound:comparison:equal" : "#/components/schemas/Workflows.CompoundComparisonEqual",
                  "compound:function:is_type" : "#/components/schemas/Workflows.PolymorphicCompoundTypeCheck",
                  "dimensional_scalar:comparison:greater_than" : "#/components/schemas/Workflows.DimensionalScalarComparisonGreaterThan",
                  "dimensional_scalar:comparison:greater_than_or_equal" : "#/components/schemas/Workflows.DimensionalScalarComparisonGreaterThanOrEqual",
                  "dimensional_scalar:comparison:less_than" : "#/components/schemas/Workflows.DimensionalScalarComparisonLessThan",
                  "dimensional_scalar:comparison:less_than_or_equal" : "#/components/schemas/Workflows.DimensionalScalarComparisonLessThanOrEqual",
                  "entity_assignment:function:is_empty" : "#/components/schemas/Workflows.EntityAssignmentFunctionIsEmpty",
                  "entity_assignment_list:function:is_empty" : "#/components/schemas/Workflows.EntityAssignmentListFunctionIsEmpty",
                  "enum:comparison:equal" : "#/components/schemas/Workflows.EnumComparisonEqual",
                  "enum:comparison:not_equal" : "#/components/schemas/Workflows.EnumComparisonNotEqual",
                  "enum:function:one_of" : "#/components/schemas/Workflows.EnumFunctionOneOf",
                  "integer:comparison:equal" : "#/components/schemas/Workflows.IntegerComparisonEqual",
                  "integer:comparison:greater_than" : "#/components/schemas/Workflows.IntegerComparisonGreaterThan",
                  "integer:comparison:greater_than_or_equal" : "#/components/schemas/Workflows.IntegerComparisonGreaterThanOrEqual",
                  "integer:comparison:less_than" : "#/components/schemas/Workflows.IntegerComparisonLessThan",
                  "integer:comparison:less_than_or_equal" : "#/components/schemas/Workflows.IntegerComparisonLessThanOrEqual",
                  "integer:comparison:not_equal" : "#/components/schemas/Workflows.IntegerComparisonNotEqual",
                  "list:function:all" : "#/components/schemas/Workflows.ValueListFunctionAll",
                  "list:function:any" : "#/components/schemas/Workflows.ValueListFunctionAny",
                  "list:function:is_empty" : "#/components/schemas/Workflows.ValueListFunctionIsEmpty",
                  "list:function:is_not_empty" : "#/components/schemas/Workflows.ValueListFunctionIsNotEmpty",
                  "list:function:none" : "#/components/schemas/Workflows.ValueListFunctionNone",
                  "real:comparison:equal" : "#/components/schemas/Workflows.RealComparisonEqual",
                  "real:comparison:greater_than" : "#/components/schemas/Workflows.RealComparisonGreaterThan",
                  "real:comparison:greater_than_or_equal" : "#/components/schemas/Workflows.RealComparisonGreaterThanOrEqual",
                  "real:comparison:less_than" : "#/components/schemas/Workflows.RealComparisonLessThan",
                  "real:comparison:less_than_or_equal" : "#/components/schemas/Workflows.RealComparisonLessThanOrEqual",
                  "real:comparison:not_equal" : "#/components/schemas/Workflows.RealComparisonNotEqual",
                  "string:comparison:equal" : "#/components/schemas/Workflows.StringComparisonEqual",
                  "string:comparison:not_equal" : "#/components/schemas/Workflows.StringComparisonNotEqual",
                  "string:function:contains" : "#/components/schemas/Workflows.StringContainsFunction",
                  "string:function:ends_with" : "#/components/schemas/Workflows.StringEndsWithFunction",
                  "string:function:starts_with" : "#/components/schemas/Workflows.StringStartsWithFunction",
                  "unit:comparison:equal" : "#/components/schemas/Workflows.MeasurementUnitComparisonEqual",
                  "unit:comparison:not_equal" : "#/components/schemas/Workflows.MeasurementUnitComparisonNotEqual"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            },
            "showItemCountIfCollapsed" : {
              "description" : "Value model of a boolean value. Resolves to a JSON boolean or null node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "boolean:comparison:equal" : "#/components/schemas/Workflows.BooleanComparisonEqual",
                  "boolean:comparison:not_equal" : "#/components/schemas/Workflows.BooleanComparisonNotEqual",
                  "boolean:constant" : "#/components/schemas/Workflows.BooleanConstant",
                  "boolean:expression:select" : "#/components/schemas/Workflows.BooleanExpressionSelect",
                  "boolean:operation:and" : "#/components/schemas/Workflows.BooleanOperationAnd",
                  "boolean:operation:not" : "#/components/schemas/Workflows.BooleanOperationNot",
                  "boolean:operation:or" : "#/components/schemas/Workflows.BooleanOperationOr",
                  "boolean:operation:xor" : "#/components/schemas/Workflows.BooleanOperationXor",
                  "boolean:reference" : "#/components/schemas/Workflows.BooleanReference",
                  "compound:comparison:equal" : "#/components/schemas/Workflows.CompoundComparisonEqual",
                  "compound:function:is_type" : "#/components/schemas/Workflows.PolymorphicCompoundTypeCheck",
                  "dimensional_scalar:comparison:greater_than" : "#/components/schemas/Workflows.DimensionalScalarComparisonGreaterThan",
                  "dimensional_scalar:comparison:greater_than_or_equal" : "#/components/schemas/Workflows.DimensionalScalarComparisonGreaterThanOrEqual",
                  "dimensional_scalar:comparison:less_than" : "#/components/schemas/Workflows.DimensionalScalarComparisonLessThan",
                  "dimensional_scalar:comparison:less_than_or_equal" : "#/components/schemas/Workflows.DimensionalScalarComparisonLessThanOrEqual",
                  "entity_assignment:function:is_empty" : "#/components/schemas/Workflows.EntityAssignmentFunctionIsEmpty",
                  "entity_assignment_list:function:is_empty" : "#/components/schemas/Workflows.EntityAssignmentListFunctionIsEmpty",
                  "enum:comparison:equal" : "#/components/schemas/Workflows.EnumComparisonEqual",
                  "enum:comparison:not_equal" : "#/components/schemas/Workflows.EnumComparisonNotEqual",
                  "enum:function:one_of" : "#/components/schemas/Workflows.EnumFunctionOneOf",
                  "integer:comparison:equal" : "#/components/schemas/Workflows.IntegerComparisonEqual",
                  "integer:comparison:greater_than" : "#/components/schemas/Workflows.IntegerComparisonGreaterThan",
                  "integer:comparison:greater_than_or_equal" : "#/components/schemas/Workflows.IntegerComparisonGreaterThanOrEqual",
                  "integer:comparison:less_than" : "#/components/schemas/Workflows.IntegerComparisonLessThan",
                  "integer:comparison:less_than_or_equal" : "#/components/schemas/Workflows.IntegerComparisonLessThanOrEqual",
                  "integer:comparison:not_equal" : "#/components/schemas/Workflows.IntegerComparisonNotEqual",
                  "list:function:all" : "#/components/schemas/Workflows.ValueListFunctionAll",
                  "list:function:any" : "#/components/schemas/Workflows.ValueListFunctionAny",
                  "list:function:is_empty" : "#/components/schemas/Workflows.ValueListFunctionIsEmpty",
                  "list:function:is_not_empty" : "#/components/schemas/Workflows.ValueListFunctionIsNotEmpty",
                  "list:function:none" : "#/components/schemas/Workflows.ValueListFunctionNone",
                  "real:comparison:equal" : "#/components/schemas/Workflows.RealComparisonEqual",
                  "real:comparison:greater_than" : "#/components/schemas/Workflows.RealComparisonGreaterThan",
                  "real:comparison:greater_than_or_equal" : "#/components/schemas/Workflows.RealComparisonGreaterThanOrEqual",
                  "real:comparison:less_than" : "#/components/schemas/Workflows.RealComparisonLessThan",
                  "real:comparison:less_than_or_equal" : "#/components/schemas/Workflows.RealComparisonLessThanOrEqual",
                  "real:comparison:not_equal" : "#/components/schemas/Workflows.RealComparisonNotEqual",
                  "string:comparison:equal" : "#/components/schemas/Workflows.StringComparisonEqual",
                  "string:comparison:not_equal" : "#/components/schemas/Workflows.StringComparisonNotEqual",
                  "string:function:contains" : "#/components/schemas/Workflows.StringContainsFunction",
                  "string:function:ends_with" : "#/components/schemas/Workflows.StringEndsWithFunction",
                  "string:function:starts_with" : "#/components/schemas/Workflows.StringStartsWithFunction",
                  "unit:comparison:equal" : "#/components/schemas/Workflows.MeasurementUnitComparisonEqual",
                  "unit:comparison:not_equal" : "#/components/schemas/Workflows.MeasurementUnitComparisonNotEqual"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        } ],
        "default" : null
      },
      "Workflows.NavigationUiConfigurationEntry" : {
        "description" : "Navigation UI configuration entry for all fields.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.UiConfigurationEntry"
        }, {
          "type" : "object",
          "properties" : {
            "icon" : {
              "description" : "Value model for a string value. Resolves to a text JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "boolean:conversion:to_string" : "#/components/schemas/Workflows.BooleanToStringValueConversion",
                  "dimensional_scalar:conversion:to_string" : "#/components/schemas/Workflows.DimensionalScalarToStringValueConversion",
                  "dimensional_vector:conversion:to_string" : "#/components/schemas/Workflows.DimensionalVectorToStringValueConversion",
                  "entity_assignment:conversion:to_markdown_link_string" : "#/components/schemas/Workflows.EntityAssignmentToMarkdownLinkValueConversion",
                  "entity_assignment:conversion:to_string" : "#/components/schemas/Workflows.EntityAssignmentToStringValueConversion",
                  "entity_assignment_list:conversion:to_markdown_link_string" : "#/components/schemas/Workflows.EntityAssignmentListToMarkdownLinkValueConversion",
                  "enum:conversion:to_string" : "#/components/schemas/Workflows.EnumToStringValueConversion",
                  "integer:conversion:to_string" : "#/components/schemas/Workflows.IntegerToStringValueConversion",
                  "real:conversion:to_string" : "#/components/schemas/Workflows.RealToStringValueConversion",
                  "string:constant" : "#/components/schemas/Workflows.StringConstant",
                  "string:expression:select" : "#/components/schemas/Workflows.StringExpressionSelect",
                  "string:function:lowercase" : "#/components/schemas/Workflows.StringLowerCaseFunction",
                  "string:function:substring" : "#/components/schemas/Workflows.StringSubStringFunction",
                  "string:function:uppercase" : "#/components/schemas/Workflows.StringUpperCaseFunction",
                  "string:operation:plus" : "#/components/schemas/Workflows.StringOperationPlus",
                  "string:reference" : "#/components/schemas/Workflows.StringReference",
                  "value_list:conversion:to_string" : "#/components/schemas/Workflows.ValueListToStringValueConversion"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            },
            "initiallyOpen" : {
              "description" : "Value model of a boolean value. Resolves to a JSON boolean or null node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "boolean:comparison:equal" : "#/components/schemas/Workflows.BooleanComparisonEqual",
                  "boolean:comparison:not_equal" : "#/components/schemas/Workflows.BooleanComparisonNotEqual",
                  "boolean:constant" : "#/components/schemas/Workflows.BooleanConstant",
                  "boolean:expression:select" : "#/components/schemas/Workflows.BooleanExpressionSelect",
                  "boolean:operation:and" : "#/components/schemas/Workflows.BooleanOperationAnd",
                  "boolean:operation:not" : "#/components/schemas/Workflows.BooleanOperationNot",
                  "boolean:operation:or" : "#/components/schemas/Workflows.BooleanOperationOr",
                  "boolean:operation:xor" : "#/components/schemas/Workflows.BooleanOperationXor",
                  "boolean:reference" : "#/components/schemas/Workflows.BooleanReference",
                  "compound:comparison:equal" : "#/components/schemas/Workflows.CompoundComparisonEqual",
                  "compound:function:is_type" : "#/components/schemas/Workflows.PolymorphicCompoundTypeCheck",
                  "dimensional_scalar:comparison:greater_than" : "#/components/schemas/Workflows.DimensionalScalarComparisonGreaterThan",
                  "dimensional_scalar:comparison:greater_than_or_equal" : "#/components/schemas/Workflows.DimensionalScalarComparisonGreaterThanOrEqual",
                  "dimensional_scalar:comparison:less_than" : "#/components/schemas/Workflows.DimensionalScalarComparisonLessThan",
                  "dimensional_scalar:comparison:less_than_or_equal" : "#/components/schemas/Workflows.DimensionalScalarComparisonLessThanOrEqual",
                  "entity_assignment:function:is_empty" : "#/components/schemas/Workflows.EntityAssignmentFunctionIsEmpty",
                  "entity_assignment_list:function:is_empty" : "#/components/schemas/Workflows.EntityAssignmentListFunctionIsEmpty",
                  "enum:comparison:equal" : "#/components/schemas/Workflows.EnumComparisonEqual",
                  "enum:comparison:not_equal" : "#/components/schemas/Workflows.EnumComparisonNotEqual",
                  "enum:function:one_of" : "#/components/schemas/Workflows.EnumFunctionOneOf",
                  "integer:comparison:equal" : "#/components/schemas/Workflows.IntegerComparisonEqual",
                  "integer:comparison:greater_than" : "#/components/schemas/Workflows.IntegerComparisonGreaterThan",
                  "integer:comparison:greater_than_or_equal" : "#/components/schemas/Workflows.IntegerComparisonGreaterThanOrEqual",
                  "integer:comparison:less_than" : "#/components/schemas/Workflows.IntegerComparisonLessThan",
                  "integer:comparison:less_than_or_equal" : "#/components/schemas/Workflows.IntegerComparisonLessThanOrEqual",
                  "integer:comparison:not_equal" : "#/components/schemas/Workflows.IntegerComparisonNotEqual",
                  "list:function:all" : "#/components/schemas/Workflows.ValueListFunctionAll",
                  "list:function:any" : "#/components/schemas/Workflows.ValueListFunctionAny",
                  "list:function:is_empty" : "#/components/schemas/Workflows.ValueListFunctionIsEmpty",
                  "list:function:is_not_empty" : "#/components/schemas/Workflows.ValueListFunctionIsNotEmpty",
                  "list:function:none" : "#/components/schemas/Workflows.ValueListFunctionNone",
                  "real:comparison:equal" : "#/components/schemas/Workflows.RealComparisonEqual",
                  "real:comparison:greater_than" : "#/components/schemas/Workflows.RealComparisonGreaterThan",
                  "real:comparison:greater_than_or_equal" : "#/components/schemas/Workflows.RealComparisonGreaterThanOrEqual",
                  "real:comparison:less_than" : "#/components/schemas/Workflows.RealComparisonLessThan",
                  "real:comparison:less_than_or_equal" : "#/components/schemas/Workflows.RealComparisonLessThanOrEqual",
                  "real:comparison:not_equal" : "#/components/schemas/Workflows.RealComparisonNotEqual",
                  "string:comparison:equal" : "#/components/schemas/Workflows.StringComparisonEqual",
                  "string:comparison:not_equal" : "#/components/schemas/Workflows.StringComparisonNotEqual",
                  "string:function:contains" : "#/components/schemas/Workflows.StringContainsFunction",
                  "string:function:ends_with" : "#/components/schemas/Workflows.StringEndsWithFunction",
                  "string:function:starts_with" : "#/components/schemas/Workflows.StringStartsWithFunction",
                  "unit:comparison:equal" : "#/components/schemas/Workflows.MeasurementUnitComparisonEqual",
                  "unit:comparison:not_equal" : "#/components/schemas/Workflows.MeasurementUnitComparisonNotEqual"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            },
            "multiLanguageNewElementName" : {
              "type" : "object",
              "additionalProperties" : {
                "description" : "Value model for a string value. Resolves to a text JSON node.",
                "discriminator" : {
                  "propertyName" : "value_model_type",
                  "mapping" : {
                    "boolean:conversion:to_string" : "#/components/schemas/Workflows.BooleanToStringValueConversion",
                    "dimensional_scalar:conversion:to_string" : "#/components/schemas/Workflows.DimensionalScalarToStringValueConversion",
                    "dimensional_vector:conversion:to_string" : "#/components/schemas/Workflows.DimensionalVectorToStringValueConversion",
                    "entity_assignment:conversion:to_markdown_link_string" : "#/components/schemas/Workflows.EntityAssignmentToMarkdownLinkValueConversion",
                    "entity_assignment:conversion:to_string" : "#/components/schemas/Workflows.EntityAssignmentToStringValueConversion",
                    "entity_assignment_list:conversion:to_markdown_link_string" : "#/components/schemas/Workflows.EntityAssignmentListToMarkdownLinkValueConversion",
                    "enum:conversion:to_string" : "#/components/schemas/Workflows.EnumToStringValueConversion",
                    "integer:conversion:to_string" : "#/components/schemas/Workflows.IntegerToStringValueConversion",
                    "real:conversion:to_string" : "#/components/schemas/Workflows.RealToStringValueConversion",
                    "string:constant" : "#/components/schemas/Workflows.StringConstant",
                    "string:expression:select" : "#/components/schemas/Workflows.StringExpressionSelect",
                    "string:function:lowercase" : "#/components/schemas/Workflows.StringLowerCaseFunction",
                    "string:function:substring" : "#/components/schemas/Workflows.StringSubStringFunction",
                    "string:function:uppercase" : "#/components/schemas/Workflows.StringUpperCaseFunction",
                    "string:operation:plus" : "#/components/schemas/Workflows.StringOperationPlus",
                    "string:reference" : "#/components/schemas/Workflows.StringReference",
                    "value_list:conversion:to_string" : "#/components/schemas/Workflows.ValueListToStringValueConversion"
                  }
                },
                "allOf" : [ {
                  "$ref" : "#/components/schemas/Workflows.Value"
                } ],
                "default" : null
              }
            },
            "nameField" : {
              "description" : "Value model for a string value. Resolves to a text JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "boolean:conversion:to_string" : "#/components/schemas/Workflows.BooleanToStringValueConversion",
                  "dimensional_scalar:conversion:to_string" : "#/components/schemas/Workflows.DimensionalScalarToStringValueConversion",
                  "dimensional_vector:conversion:to_string" : "#/components/schemas/Workflows.DimensionalVectorToStringValueConversion",
                  "entity_assignment:conversion:to_markdown_link_string" : "#/components/schemas/Workflows.EntityAssignmentToMarkdownLinkValueConversion",
                  "entity_assignment:conversion:to_string" : "#/components/schemas/Workflows.EntityAssignmentToStringValueConversion",
                  "entity_assignment_list:conversion:to_markdown_link_string" : "#/components/schemas/Workflows.EntityAssignmentListToMarkdownLinkValueConversion",
                  "enum:conversion:to_string" : "#/components/schemas/Workflows.EnumToStringValueConversion",
                  "integer:conversion:to_string" : "#/components/schemas/Workflows.IntegerToStringValueConversion",
                  "real:conversion:to_string" : "#/components/schemas/Workflows.RealToStringValueConversion",
                  "string:constant" : "#/components/schemas/Workflows.StringConstant",
                  "string:expression:select" : "#/components/schemas/Workflows.StringExpressionSelect",
                  "string:function:lowercase" : "#/components/schemas/Workflows.StringLowerCaseFunction",
                  "string:function:substring" : "#/components/schemas/Workflows.StringSubStringFunction",
                  "string:function:uppercase" : "#/components/schemas/Workflows.StringUpperCaseFunction",
                  "string:operation:plus" : "#/components/schemas/Workflows.StringOperationPlus",
                  "string:reference" : "#/components/schemas/Workflows.StringReference",
                  "value_list:conversion:to_string" : "#/components/schemas/Workflows.ValueListToStringValueConversion"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            },
            "newElementName" : {
              "description" : "Value model for a string value. Resolves to a text JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "boolean:conversion:to_string" : "#/components/schemas/Workflows.BooleanToStringValueConversion",
                  "dimensional_scalar:conversion:to_string" : "#/components/schemas/Workflows.DimensionalScalarToStringValueConversion",
                  "dimensional_vector:conversion:to_string" : "#/components/schemas/Workflows.DimensionalVectorToStringValueConversion",
                  "entity_assignment:conversion:to_markdown_link_string" : "#/components/schemas/Workflows.EntityAssignmentToMarkdownLinkValueConversion",
                  "entity_assignment:conversion:to_string" : "#/components/schemas/Workflows.EntityAssignmentToStringValueConversion",
                  "entity_assignment_list:conversion:to_markdown_link_string" : "#/components/schemas/Workflows.EntityAssignmentListToMarkdownLinkValueConversion",
                  "enum:conversion:to_string" : "#/components/schemas/Workflows.EnumToStringValueConversion",
                  "integer:conversion:to_string" : "#/components/schemas/Workflows.IntegerToStringValueConversion",
                  "real:conversion:to_string" : "#/components/schemas/Workflows.RealToStringValueConversion",
                  "string:constant" : "#/components/schemas/Workflows.StringConstant",
                  "string:expression:select" : "#/components/schemas/Workflows.StringExpressionSelect",
                  "string:function:lowercase" : "#/components/schemas/Workflows.StringLowerCaseFunction",
                  "string:function:substring" : "#/components/schemas/Workflows.StringSubStringFunction",
                  "string:function:uppercase" : "#/components/schemas/Workflows.StringUpperCaseFunction",
                  "string:operation:plus" : "#/components/schemas/Workflows.StringOperationPlus",
                  "string:reference" : "#/components/schemas/Workflows.StringReference",
                  "value_list:conversion:to_string" : "#/components/schemas/Workflows.ValueListToStringValueConversion"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        } ],
        "default" : null
      },
      "Workflows.NestedSchemaField" : {
        "description" : "Field which refers to an already defined schema to be nested at this particular location.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.SchemaElement"
        }, {
          "type" : "object",
          "properties" : {
            "nestedDataTypeReference" : {
              "type" : "string"
            },
            "nestedSchemaDataModelClassName" : {
              "type" : "string"
            },
            "nestedSchemaPackage" : {
              "type" : "string"
            },
            "nestedSchemaValueModelClassName" : {
              "type" : "string"
            }
          }
        } ],
        "default" : null
      },
      "Workflows.NestedWorkflowOperationDefinition" : {
        "description" : "\nWorkflow operation which refers to another workflow to be nested.\n\nNesting workflows allows composing workflow hierarchies.\n",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.AtomicOperationDefinition"
        }, {
          "type" : "object",
          "properties" : {
            "configurationDataSources" : {
              "type" : "array",
              "items" : {
                "$ref" : "#/components/schemas/Workflows.DataReference"
              }
            },
            "configurationValueModel" : {
              "description" : "\nValue model for a concrete compound value. Resolves to an object JSON node.\n\nNote that the serialized representation of this value model contains the nested value models in a field map.\nThis is necessary to make this class sufficient for deserializing and processing compound values in the workflow engine in the absence of the original generated value models.\nWhen the developer is accessing fields of the generated value models then the generated getter and setter functions are storing values in this field map,\nthere's no backing field behind the properties in the generated value models. This architecture makes the value model definition type-safe meanwhile there's no need for the generated classes at runtime.\n    ",
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.AbstractCompoundValue"
              }, {
                "type" : "object",
                "properties" : {
                  "fields" : {
                    "type" : "object",
                    "additionalProperties" : {
                      "$ref" : "#/components/schemas/Workflows.Value"
                    }
                  },
                  "polymorphicCompoundValue" : {
                    "type" : "boolean"
                  },
                  "subtypeId" : {
                    "type" : "string"
                  },
                  "subtypes" : {
                    "type" : "object",
                    "additionalProperties" : {
                      "description" : "\nValue model for a concrete compound value. Resolves to an object JSON node.\n\nNote that the serialized representation of this value model contains the nested value models in a field map.\nThis is necessary to make this class sufficient for deserializing and processing compound values in the workflow engine in the absence of the original generated value models.\nWhen the developer is accessing fields of the generated value models then the generated getter and setter functions are storing values in this field map,\nthere's no backing field behind the properties in the generated value models. This architecture makes the value model definition type-safe meanwhile there's no need for the generated classes at runtime.\n    ",
                      "allOf" : [ {
                        "$ref" : "#/components/schemas/Workflows.AbstractCompoundValue"
                      }, {
                        "type" : "object",
                        "properties" : {
                          "fields" : {
                            "type" : "object",
                            "additionalProperties" : {
                              "type" : "object",
                              "description" : "\nValue interface is the root of the value model type hierarchy.\n\nValue models store the computation model of values. The models are defined by the developer, for convenience through a DSL\ncomposed of receiver and extension functions and other Kotlin language constructs.\n\nWhen the build runs the definition of the value model, it gets serialized into a JSON representation and that is the artifact of the build.\nThese JSONs are persisted into the database and loaded by the workflow engine for the evaluation of the values.\nOnce values are computed they get stored as data and used by methods or clients to show data to the user.\nValue models and data models adhere to the same schema defined by the developer in DSSL, just they have a different implementation due to their different roles.\n\nBelow we define the central repository of value models. These are all part of the framework, available to the workflow engine as well.\nThey provide atomic types and composition mechanisms via containers and the compound value model class. These are in sync with the building blocks in DSSL.\n\nUser defined types via DSSL schemas are based on the compound value model. The generated value models are available only at build time to the user to define\nthe value computation logic in a type-safe way, meanwhile at runtime in the workflow engine only the compound value model is present.\n\nThe single value resolution function of this interface is the one used by the workflow engine to execute the value computation.\nAll value models implement this in their own way. The result is always a JSON node, which can be either a single node or an entire tree of nodes behind it.\n\nValue model types below are organized into groups based on their parent type, essentially following the hierarchy in a flattened way.\nThe type names - which get into the serialized JSON representation - also follow this structure, where levels are separated with a colon (`:`).\nBy convention names composed of multiple words are presented with snake-case and these rules are followed as a naming convention:\n* `operation` for operators (both unary and binary, e.g. plus, minus, not...),\n* `comparison` for comparators (equal, not equal, less than),\n* `function` for the general case.\n    ",
                              "default" : null
                            }
                          },
                          "polymorphicCompoundValue" : {
                            "type" : "boolean"
                          },
                          "subtypeId" : {
                            "type" : "string"
                          },
                          "valueReference" : {
                            "$ref" : "#/components/schemas/Workflows.ValueReference"
                          }
                        }
                      } ],
                      "default" : null
                    }
                  },
                  "valueReference" : {
                    "$ref" : "#/components/schemas/Workflows.ValueReference"
                  }
                }
              } ],
              "default" : null
            },
            "doc" : {
              "type" : "string"
            },
            "inputMapping" : {
              "type" : "array",
              "items" : {
                "$ref" : "#/components/schemas/Workflows.DataMappingEntry"
              }
            },
            "label" : {
              "type" : "string"
            },
            "metadata" : {
              "type" : "object",
              "additionalProperties" : {
                "type" : "object"
              }
            },
            "multiLanguageDoc" : {
              "type" : "object",
              "additionalProperties" : {
                "type" : "string"
              }
            },
            "multiLanguageLabel" : {
              "type" : "object",
              "additionalProperties" : {
                "type" : "string"
              }
            },
            "name" : {
              "type" : "string"
            },
            "outputMapping" : {
              "type" : "array",
              "items" : {
                "$ref" : "#/components/schemas/Workflows.DataMappingEntry"
              }
            },
            "workflowTypeReference" : {
              "type" : "string"
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.AbstractOperationDefinition"
        } ],
        "default" : null
      },
      "Workflows.OneGpuEstimationValueModel" : {
        "type" : "object",
        "properties" : {
          "cpus" : {
            "description" : "Value model for a 64-bit signed integer value. Resolves to a long JSON node.",
            "discriminator" : {
              "propertyName" : "value_model_type",
              "mapping" : {
                "entity_assignment_list:function:count_entities" : "#/components/schemas/Workflows.EntityAssignmentListFunctionCountEntities",
                "integer:constant" : "#/components/schemas/Workflows.IntegerConstant",
                "integer:expression:select" : "#/components/schemas/Workflows.IntegerExpressionSelect",
                "integer:function:abs" : "#/components/schemas/Workflows.IntegerFunctionAbs",
                "integer:function:max" : "#/components/schemas/Workflows.IntegerFunctionMax",
                "integer:function:min" : "#/components/schemas/Workflows.IntegerFunctionMin",
                "integer:operation:div" : "#/components/schemas/Workflows.IntegerOperationDiv",
                "integer:operation:minus" : "#/components/schemas/Workflows.IntegerOperationMinus",
                "integer:operation:plus" : "#/components/schemas/Workflows.IntegerOperationPlus",
                "integer:operation:rem" : "#/components/schemas/Workflows.IntegerOperationRem",
                "integer:operation:times" : "#/components/schemas/Workflows.IntegerOperationTimes",
                "integer:reference" : "#/components/schemas/Workflows.IntegerReference",
                "list:function:integer_sum" : "#/components/schemas/Workflows.ValueListFunctionIntegerSum",
                "list:function:length" : "#/components/schemas/Workflows.ValueListFunctionSize",
                "real:conversion:to_integer" : "#/components/schemas/Workflows.RealToIntegerConversion",
                "string:conversion:to_integer" : "#/components/schemas/Workflows.StringToIntegerValueConversion",
                "string:function:length" : "#/components/schemas/Workflows.StringLengthFunction"
              }
            },
            "allOf" : [ {
              "$ref" : "#/components/schemas/Workflows.Value"
            } ],
            "default" : null
          },
          "gpuMemoryInMebibytes" : {
            "description" : "Value model for a 64-bit signed integer value. Resolves to a long JSON node.",
            "discriminator" : {
              "propertyName" : "value_model_type",
              "mapping" : {
                "entity_assignment_list:function:count_entities" : "#/components/schemas/Workflows.EntityAssignmentListFunctionCountEntities",
                "integer:constant" : "#/components/schemas/Workflows.IntegerConstant",
                "integer:expression:select" : "#/components/schemas/Workflows.IntegerExpressionSelect",
                "integer:function:abs" : "#/components/schemas/Workflows.IntegerFunctionAbs",
                "integer:function:max" : "#/components/schemas/Workflows.IntegerFunctionMax",
                "integer:function:min" : "#/components/schemas/Workflows.IntegerFunctionMin",
                "integer:operation:div" : "#/components/schemas/Workflows.IntegerOperationDiv",
                "integer:operation:minus" : "#/components/schemas/Workflows.IntegerOperationMinus",
                "integer:operation:plus" : "#/components/schemas/Workflows.IntegerOperationPlus",
                "integer:operation:rem" : "#/components/schemas/Workflows.IntegerOperationRem",
                "integer:operation:times" : "#/components/schemas/Workflows.IntegerOperationTimes",
                "integer:reference" : "#/components/schemas/Workflows.IntegerReference",
                "list:function:integer_sum" : "#/components/schemas/Workflows.ValueListFunctionIntegerSum",
                "list:function:length" : "#/components/schemas/Workflows.ValueListFunctionSize",
                "real:conversion:to_integer" : "#/components/schemas/Workflows.RealToIntegerConversion",
                "string:conversion:to_integer" : "#/components/schemas/Workflows.StringToIntegerValueConversion",
                "string:function:length" : "#/components/schemas/Workflows.StringLengthFunction"
              }
            },
            "allOf" : [ {
              "$ref" : "#/components/schemas/Workflows.Value"
            } ],
            "default" : null
          }
        }
      },
      "Workflows.OneProcessorEstimationValueModel" : {
        "type" : "object",
        "properties" : {
          "gpuEstimation" : {
            "$ref" : "#/components/schemas/Workflows.OneGpuEstimationValueModel"
          },
          "memoryInMebibytes" : {
            "description" : "Value model for a 64-bit signed integer value. Resolves to a long JSON node.",
            "discriminator" : {
              "propertyName" : "value_model_type",
              "mapping" : {
                "entity_assignment_list:function:count_entities" : "#/components/schemas/Workflows.EntityAssignmentListFunctionCountEntities",
                "integer:constant" : "#/components/schemas/Workflows.IntegerConstant",
                "integer:expression:select" : "#/components/schemas/Workflows.IntegerExpressionSelect",
                "integer:function:abs" : "#/components/schemas/Workflows.IntegerFunctionAbs",
                "integer:function:max" : "#/components/schemas/Workflows.IntegerFunctionMax",
                "integer:function:min" : "#/components/schemas/Workflows.IntegerFunctionMin",
                "integer:operation:div" : "#/components/schemas/Workflows.IntegerOperationDiv",
                "integer:operation:minus" : "#/components/schemas/Workflows.IntegerOperationMinus",
                "integer:operation:plus" : "#/components/schemas/Workflows.IntegerOperationPlus",
                "integer:operation:rem" : "#/components/schemas/Workflows.IntegerOperationRem",
                "integer:operation:times" : "#/components/schemas/Workflows.IntegerOperationTimes",
                "integer:reference" : "#/components/schemas/Workflows.IntegerReference",
                "list:function:integer_sum" : "#/components/schemas/Workflows.ValueListFunctionIntegerSum",
                "list:function:length" : "#/components/schemas/Workflows.ValueListFunctionSize",
                "real:conversion:to_integer" : "#/components/schemas/Workflows.RealToIntegerConversion",
                "string:conversion:to_integer" : "#/components/schemas/Workflows.StringToIntegerValueConversion",
                "string:function:length" : "#/components/schemas/Workflows.StringLengthFunction"
              }
            },
            "allOf" : [ {
              "$ref" : "#/components/schemas/Workflows.Value"
            } ],
            "default" : null
          },
          "storageInMebibytes" : {
            "description" : "Value model for a 64-bit signed integer value. Resolves to a long JSON node.",
            "discriminator" : {
              "propertyName" : "value_model_type",
              "mapping" : {
                "entity_assignment_list:function:count_entities" : "#/components/schemas/Workflows.EntityAssignmentListFunctionCountEntities",
                "integer:constant" : "#/components/schemas/Workflows.IntegerConstant",
                "integer:expression:select" : "#/components/schemas/Workflows.IntegerExpressionSelect",
                "integer:function:abs" : "#/components/schemas/Workflows.IntegerFunctionAbs",
                "integer:function:max" : "#/components/schemas/Workflows.IntegerFunctionMax",
                "integer:function:min" : "#/components/schemas/Workflows.IntegerFunctionMin",
                "integer:operation:div" : "#/components/schemas/Workflows.IntegerOperationDiv",
                "integer:operation:minus" : "#/components/schemas/Workflows.IntegerOperationMinus",
                "integer:operation:plus" : "#/components/schemas/Workflows.IntegerOperationPlus",
                "integer:operation:rem" : "#/components/schemas/Workflows.IntegerOperationRem",
                "integer:operation:times" : "#/components/schemas/Workflows.IntegerOperationTimes",
                "integer:reference" : "#/components/schemas/Workflows.IntegerReference",
                "list:function:integer_sum" : "#/components/schemas/Workflows.ValueListFunctionIntegerSum",
                "list:function:length" : "#/components/schemas/Workflows.ValueListFunctionSize",
                "real:conversion:to_integer" : "#/components/schemas/Workflows.RealToIntegerConversion",
                "string:conversion:to_integer" : "#/components/schemas/Workflows.StringToIntegerValueConversion",
                "string:function:length" : "#/components/schemas/Workflows.StringLengthFunction"
              }
            },
            "allOf" : [ {
              "$ref" : "#/components/schemas/Workflows.Value"
            } ],
            "default" : null
          },
          "timeInSeconds" : {
            "description" : "Value model for a 64-bit signed integer value. Resolves to a long JSON node.",
            "discriminator" : {
              "propertyName" : "value_model_type",
              "mapping" : {
                "entity_assignment_list:function:count_entities" : "#/components/schemas/Workflows.EntityAssignmentListFunctionCountEntities",
                "integer:constant" : "#/components/schemas/Workflows.IntegerConstant",
                "integer:expression:select" : "#/components/schemas/Workflows.IntegerExpressionSelect",
                "integer:function:abs" : "#/components/schemas/Workflows.IntegerFunctionAbs",
                "integer:function:max" : "#/components/schemas/Workflows.IntegerFunctionMax",
                "integer:function:min" : "#/components/schemas/Workflows.IntegerFunctionMin",
                "integer:operation:div" : "#/components/schemas/Workflows.IntegerOperationDiv",
                "integer:operation:minus" : "#/components/schemas/Workflows.IntegerOperationMinus",
                "integer:operation:plus" : "#/components/schemas/Workflows.IntegerOperationPlus",
                "integer:operation:rem" : "#/components/schemas/Workflows.IntegerOperationRem",
                "integer:operation:times" : "#/components/schemas/Workflows.IntegerOperationTimes",
                "integer:reference" : "#/components/schemas/Workflows.IntegerReference",
                "list:function:integer_sum" : "#/components/schemas/Workflows.ValueListFunctionIntegerSum",
                "list:function:length" : "#/components/schemas/Workflows.ValueListFunctionSize",
                "real:conversion:to_integer" : "#/components/schemas/Workflows.RealToIntegerConversion",
                "string:conversion:to_integer" : "#/components/schemas/Workflows.StringToIntegerValueConversion",
                "string:function:length" : "#/components/schemas/Workflows.StringLengthFunction"
              }
            },
            "allOf" : [ {
              "$ref" : "#/components/schemas/Workflows.Value"
            } ],
            "default" : null
          },
          "timeInSecondsByArch" : {
            "description" : "Value model for a list of values. Resolves to a JSON array.",
            "discriminator" : {
              "propertyName" : "value_model_type",
              "mapping" : {
                "list:constant" : "#/components/schemas/Workflows.ConstantValueList",
                "list:expression:select" : "#/components/schemas/Workflows.ValueListExpressionSelect",
                "list:function:drop" : "#/components/schemas/Workflows.ValueListFunctionDrop",
                "list:function:drop_last" : "#/components/schemas/Workflows.ValueListFunctionDropLast",
                "list:function:filter" : "#/components/schemas/Workflows.ValueListFunctionFilter",
                "list:function:map" : "#/components/schemas/Workflows.ValueListFunctionMap",
                "list:function:sublist" : "#/components/schemas/Workflows.ValueListFunctionSubList",
                "list:function:take" : "#/components/schemas/Workflows.ValueListFunctionTake",
                "list:function:take_last" : "#/components/schemas/Workflows.ValueListFunctionTakeLast",
                "list:generator:integer_sequence" : "#/components/schemas/Workflows.IntegerSequenceGenerator",
                "list:generator:real_sequence" : "#/components/schemas/Workflows.RealSequenceGenerator",
                "list:operation:plus" : "#/components/schemas/Workflows.ValueListOperationPlus",
                "list:operation:times" : "#/components/schemas/Workflows.ValueListOperationTimes",
                "list:reference" : "#/components/schemas/Workflows.ReferenceValueList"
              }
            },
            "allOf" : [ {
              "$ref" : "#/components/schemas/Workflows.Value"
            } ],
            "default" : null
          },
          "timeInSecondsByGpuArch" : {
            "description" : "Value model for a list of values. Resolves to a JSON array.",
            "discriminator" : {
              "propertyName" : "value_model_type",
              "mapping" : {
                "list:constant" : "#/components/schemas/Workflows.ConstantValueList",
                "list:expression:select" : "#/components/schemas/Workflows.ValueListExpressionSelect",
                "list:function:drop" : "#/components/schemas/Workflows.ValueListFunctionDrop",
                "list:function:drop_last" : "#/components/schemas/Workflows.ValueListFunctionDropLast",
                "list:function:filter" : "#/components/schemas/Workflows.ValueListFunctionFilter",
                "list:function:map" : "#/components/schemas/Workflows.ValueListFunctionMap",
                "list:function:sublist" : "#/components/schemas/Workflows.ValueListFunctionSubList",
                "list:function:take" : "#/components/schemas/Workflows.ValueListFunctionTake",
                "list:function:take_last" : "#/components/schemas/Workflows.ValueListFunctionTakeLast",
                "list:generator:integer_sequence" : "#/components/schemas/Workflows.IntegerSequenceGenerator",
                "list:generator:real_sequence" : "#/components/schemas/Workflows.RealSequenceGenerator",
                "list:operation:plus" : "#/components/schemas/Workflows.ValueListOperationPlus",
                "list:operation:times" : "#/components/schemas/Workflows.ValueListOperationTimes",
                "list:reference" : "#/components/schemas/Workflows.ReferenceValueList"
              }
            },
            "allOf" : [ {
              "$ref" : "#/components/schemas/Workflows.Value"
            } ],
            "default" : null
          },
          "timeInSecondsByGpuArchAndModel" : {
            "description" : "Value model for a list of values. Resolves to a JSON array.",
            "discriminator" : {
              "propertyName" : "value_model_type",
              "mapping" : {
                "list:constant" : "#/components/schemas/Workflows.ConstantValueList",
                "list:expression:select" : "#/components/schemas/Workflows.ValueListExpressionSelect",
                "list:function:drop" : "#/components/schemas/Workflows.ValueListFunctionDrop",
                "list:function:drop_last" : "#/components/schemas/Workflows.ValueListFunctionDropLast",
                "list:function:filter" : "#/components/schemas/Workflows.ValueListFunctionFilter",
                "list:function:map" : "#/components/schemas/Workflows.ValueListFunctionMap",
                "list:function:sublist" : "#/components/schemas/Workflows.ValueListFunctionSubList",
                "list:function:take" : "#/components/schemas/Workflows.ValueListFunctionTake",
                "list:function:take_last" : "#/components/schemas/Workflows.ValueListFunctionTakeLast",
                "list:generator:integer_sequence" : "#/components/schemas/Workflows.IntegerSequenceGenerator",
                "list:generator:real_sequence" : "#/components/schemas/Workflows.RealSequenceGenerator",
                "list:operation:plus" : "#/components/schemas/Workflows.ValueListOperationPlus",
                "list:operation:times" : "#/components/schemas/Workflows.ValueListOperationTimes",
                "list:reference" : "#/components/schemas/Workflows.ReferenceValueList"
              }
            },
            "allOf" : [ {
              "$ref" : "#/components/schemas/Workflows.Value"
            } ],
            "default" : null
          }
        }
      },
      "Workflows.OperationGroupDefinition" : {
        "description" : "\nGrouping workflow operations is a lightweight tool to improve the logical structure of workflows.\n\nIt does not require the operations to be defined as a nested workflow and stored in the registry.\n",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.AbstractOperationDefinition"
        }, {
          "type" : "object",
          "properties" : {
            "breakpoints" : {
              "type" : "array",
              "items" : {
                "$ref" : "#/components/schemas/Workflows.Breakpoint"
              }
            },
            "operations" : {
              "type" : "array",
              "items" : {
                "$ref" : "#/components/schemas/Workflows.AbstractOperationDefinition"
              }
            }
          }
        } ],
        "default" : null
      },
      "Workflows.OperationGroupWithConditionDefinition" : {
        "description" : "\nDefinition of a conditional operation group. The operations inside the group are executed only if the condition is evaluated to true.\n\nConditional operation groups can be nested into each other and therefore multiple conditions might apply to certain operations.\n",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.AbstractOperationDefinition"
        }, {
          "type" : "object",
          "properties" : {
            "breakpoints" : {
              "type" : "array",
              "items" : {
                "$ref" : "#/components/schemas/Workflows.Breakpoint"
              }
            },
            "condition" : {
              "description" : "Value model of a boolean value. Resolves to a JSON boolean or null node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "boolean:comparison:equal" : "#/components/schemas/Workflows.BooleanComparisonEqual",
                  "boolean:comparison:not_equal" : "#/components/schemas/Workflows.BooleanComparisonNotEqual",
                  "boolean:constant" : "#/components/schemas/Workflows.BooleanConstant",
                  "boolean:expression:select" : "#/components/schemas/Workflows.BooleanExpressionSelect",
                  "boolean:operation:and" : "#/components/schemas/Workflows.BooleanOperationAnd",
                  "boolean:operation:not" : "#/components/schemas/Workflows.BooleanOperationNot",
                  "boolean:operation:or" : "#/components/schemas/Workflows.BooleanOperationOr",
                  "boolean:operation:xor" : "#/components/schemas/Workflows.BooleanOperationXor",
                  "boolean:reference" : "#/components/schemas/Workflows.BooleanReference",
                  "compound:comparison:equal" : "#/components/schemas/Workflows.CompoundComparisonEqual",
                  "compound:function:is_type" : "#/components/schemas/Workflows.PolymorphicCompoundTypeCheck",
                  "dimensional_scalar:comparison:greater_than" : "#/components/schemas/Workflows.DimensionalScalarComparisonGreaterThan",
                  "dimensional_scalar:comparison:greater_than_or_equal" : "#/components/schemas/Workflows.DimensionalScalarComparisonGreaterThanOrEqual",
                  "dimensional_scalar:comparison:less_than" : "#/components/schemas/Workflows.DimensionalScalarComparisonLessThan",
                  "dimensional_scalar:comparison:less_than_or_equal" : "#/components/schemas/Workflows.DimensionalScalarComparisonLessThanOrEqual",
                  "entity_assignment:function:is_empty" : "#/components/schemas/Workflows.EntityAssignmentFunctionIsEmpty",
                  "entity_assignment_list:function:is_empty" : "#/components/schemas/Workflows.EntityAssignmentListFunctionIsEmpty",
                  "enum:comparison:equal" : "#/components/schemas/Workflows.EnumComparisonEqual",
                  "enum:comparison:not_equal" : "#/components/schemas/Workflows.EnumComparisonNotEqual",
                  "enum:function:one_of" : "#/components/schemas/Workflows.EnumFunctionOneOf",
                  "integer:comparison:equal" : "#/components/schemas/Workflows.IntegerComparisonEqual",
                  "integer:comparison:greater_than" : "#/components/schemas/Workflows.IntegerComparisonGreaterThan",
                  "integer:comparison:greater_than_or_equal" : "#/components/schemas/Workflows.IntegerComparisonGreaterThanOrEqual",
                  "integer:comparison:less_than" : "#/components/schemas/Workflows.IntegerComparisonLessThan",
                  "integer:comparison:less_than_or_equal" : "#/components/schemas/Workflows.IntegerComparisonLessThanOrEqual",
                  "integer:comparison:not_equal" : "#/components/schemas/Workflows.IntegerComparisonNotEqual",
                  "list:function:all" : "#/components/schemas/Workflows.ValueListFunctionAll",
                  "list:function:any" : "#/components/schemas/Workflows.ValueListFunctionAny",
                  "list:function:is_empty" : "#/components/schemas/Workflows.ValueListFunctionIsEmpty",
                  "list:function:is_not_empty" : "#/components/schemas/Workflows.ValueListFunctionIsNotEmpty",
                  "list:function:none" : "#/components/schemas/Workflows.ValueListFunctionNone",
                  "real:comparison:equal" : "#/components/schemas/Workflows.RealComparisonEqual",
                  "real:comparison:greater_than" : "#/components/schemas/Workflows.RealComparisonGreaterThan",
                  "real:comparison:greater_than_or_equal" : "#/components/schemas/Workflows.RealComparisonGreaterThanOrEqual",
                  "real:comparison:less_than" : "#/components/schemas/Workflows.RealComparisonLessThan",
                  "real:comparison:less_than_or_equal" : "#/components/schemas/Workflows.RealComparisonLessThanOrEqual",
                  "real:comparison:not_equal" : "#/components/schemas/Workflows.RealComparisonNotEqual",
                  "string:comparison:equal" : "#/components/schemas/Workflows.StringComparisonEqual",
                  "string:comparison:not_equal" : "#/components/schemas/Workflows.StringComparisonNotEqual",
                  "string:function:contains" : "#/components/schemas/Workflows.StringContainsFunction",
                  "string:function:ends_with" : "#/components/schemas/Workflows.StringEndsWithFunction",
                  "string:function:starts_with" : "#/components/schemas/Workflows.StringStartsWithFunction",
                  "unit:comparison:equal" : "#/components/schemas/Workflows.MeasurementUnitComparisonEqual",
                  "unit:comparison:not_equal" : "#/components/schemas/Workflows.MeasurementUnitComparisonNotEqual"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        } ],
        "default" : null
      },
      "Workflows.OperationGroupWithParameterDefinition" : {
        "description" : "\nDefinition of an operation group introducing a parameter. All operations inside the group can use the introduced parameter.\n\nParameters can be of any type as long as they fit the schema. Parameter types can be also compound values, therefore it is possible\nto have multiple varying physical parameters combined into a single operation group parameter and run the experiment that way.\nOperation groups with parameters can be also nested into each other, that's another way to explore more physical parameters simultaneously.\n\nOperations with parameters (a.k.a. parametric operations) can be executed in parallel for the different parameter values.\nNote that the actual execution might be different from completely parallel, it's up to the workflow engine and the properties of the execution environment.\n",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.AbstractOperationDefinition"
        }, {
          "type" : "object",
          "properties" : {
            "breakpoints" : {
              "type" : "array",
              "items" : {
                "$ref" : "#/components/schemas/Workflows.Breakpoint"
              }
            },
            "iteratorReference" : {
              "description" : "Iterator reference for processing collections.",
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.ValueReference"
              }, {
                "type" : "object",
                "properties" : {
                  "iteratorId" : {
                    "type" : "string"
                  },
                  "valuePath" : {
                    "type" : "string"
                  }
                }
              } ],
              "default" : null
            },
            "parameterDoc" : {
              "type" : "string"
            },
            "parameterLabel" : {
              "type" : "string"
            },
            "parameterMultiLanguageDoc" : {
              "type" : "object",
              "additionalProperties" : {
                "type" : "string"
              }
            },
            "parameterMultiLanguageLabel" : {
              "type" : "object",
              "additionalProperties" : {
                "type" : "string"
              }
            },
            "parameterName" : {
              "type" : "string"
            },
            "valueList" : {
              "description" : "Value model for a list of values. Resolves to a JSON array.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "list:constant" : "#/components/schemas/Workflows.ConstantValueList",
                  "list:expression:select" : "#/components/schemas/Workflows.ValueListExpressionSelect",
                  "list:function:drop" : "#/components/schemas/Workflows.ValueListFunctionDrop",
                  "list:function:drop_last" : "#/components/schemas/Workflows.ValueListFunctionDropLast",
                  "list:function:filter" : "#/components/schemas/Workflows.ValueListFunctionFilter",
                  "list:function:map" : "#/components/schemas/Workflows.ValueListFunctionMap",
                  "list:function:sublist" : "#/components/schemas/Workflows.ValueListFunctionSubList",
                  "list:function:take" : "#/components/schemas/Workflows.ValueListFunctionTake",
                  "list:function:take_last" : "#/components/schemas/Workflows.ValueListFunctionTakeLast",
                  "list:generator:integer_sequence" : "#/components/schemas/Workflows.IntegerSequenceGenerator",
                  "list:generator:real_sequence" : "#/components/schemas/Workflows.RealSequenceGenerator",
                  "list:operation:plus" : "#/components/schemas/Workflows.ValueListOperationPlus",
                  "list:operation:times" : "#/components/schemas/Workflows.ValueListOperationTimes",
                  "list:reference" : "#/components/schemas/Workflows.ReferenceValueList"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        } ],
        "default" : null
      },
      "ComponentRegistry.OrganizationComponentGroupMetadata" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string"
          },
          "organizationComponentGroupReference" : {
            "type" : "string",
            "description" : "\nReference to a component group.\n\nComponents are organized into a group hierarchy which serves as a qualification mechanism to avoid name collisions and also to group components semantically.\n\nIt is expressed as a string where the levels are separated with a dot (`.`).\n",
            "example" : "simscale.cad.data-types",
            "default" : null
          },
          "organizationId" : {
            "type" : "string",
            "format" : "uuid"
          }
        },
        "description" : "Metadata of an organization component group.",
        "default" : null
      },
      "Workflows.OutputDataDefinition" : {
        "description" : "Represents an output data of the workflow.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.AbstractDataDefinition"
        }, {
          "type" : "object",
          "properties" : {
            "optional" : {
              "type" : "boolean"
            }
          }
        } ],
        "default" : null
      },
      "Workflows.PairBooleanValueAbstractCompoundValue" : {
        "type" : "object",
        "properties" : {
          "first" : {
            "$ref" : "#/components/schemas/Workflows.BooleanValue"
          },
          "second" : {
            "description" : "Value model for a compound value. Resolves to an object JSON node.",
            "discriminator" : {
              "propertyName" : "value_model_type",
              "mapping" : {
                "compound" : "#/components/schemas/Workflows.CompoundValue",
                "compound:expression:select" : "#/components/schemas/Workflows.CompoundExpressionSelect",
                "compound:function:map_entities" : "#/components/schemas/Workflows.CompoundMapEntities"
              }
            },
            "allOf" : [ {
              "$ref" : "#/components/schemas/Workflows.Value"
            } ],
            "default" : null
          }
        }
      },
      "Workflows.PairBooleanValueBooleanValue" : {
        "type" : "object",
        "properties" : {
          "first" : {
            "$ref" : "#/components/schemas/Workflows.BooleanValue"
          },
          "second" : {
            "description" : "Value model of a boolean value. Resolves to a JSON boolean or null node.",
            "discriminator" : {
              "propertyName" : "value_model_type",
              "mapping" : {
                "boolean:comparison:equal" : "#/components/schemas/Workflows.BooleanComparisonEqual",
                "boolean:comparison:not_equal" : "#/components/schemas/Workflows.BooleanComparisonNotEqual",
                "boolean:constant" : "#/components/schemas/Workflows.BooleanConstant",
                "boolean:expression:select" : "#/components/schemas/Workflows.BooleanExpressionSelect",
                "boolean:operation:and" : "#/components/schemas/Workflows.BooleanOperationAnd",
                "boolean:operation:not" : "#/components/schemas/Workflows.BooleanOperationNot",
                "boolean:operation:or" : "#/components/schemas/Workflows.BooleanOperationOr",
                "boolean:operation:xor" : "#/components/schemas/Workflows.BooleanOperationXor",
                "boolean:reference" : "#/components/schemas/Workflows.BooleanReference",
                "compound:comparison:equal" : "#/components/schemas/Workflows.CompoundComparisonEqual",
                "compound:function:is_type" : "#/components/schemas/Workflows.PolymorphicCompoundTypeCheck",
                "dimensional_scalar:comparison:greater_than" : "#/components/schemas/Workflows.DimensionalScalarComparisonGreaterThan",
                "dimensional_scalar:comparison:greater_than_or_equal" : "#/components/schemas/Workflows.DimensionalScalarComparisonGreaterThanOrEqual",
                "dimensional_scalar:comparison:less_than" : "#/components/schemas/Workflows.DimensionalScalarComparisonLessThan",
                "dimensional_scalar:comparison:less_than_or_equal" : "#/components/schemas/Workflows.DimensionalScalarComparisonLessThanOrEqual",
                "entity_assignment:function:is_empty" : "#/components/schemas/Workflows.EntityAssignmentFunctionIsEmpty",
                "entity_assignment_list:function:is_empty" : "#/components/schemas/Workflows.EntityAssignmentListFunctionIsEmpty",
                "enum:comparison:equal" : "#/components/schemas/Workflows.EnumComparisonEqual",
                "enum:comparison:not_equal" : "#/components/schemas/Workflows.EnumComparisonNotEqual",
                "enum:function:one_of" : "#/components/schemas/Workflows.EnumFunctionOneOf",
                "integer:comparison:equal" : "#/components/schemas/Workflows.IntegerComparisonEqual",
                "integer:comparison:greater_than" : "#/components/schemas/Workflows.IntegerComparisonGreaterThan",
                "integer:comparison:greater_than_or_equal" : "#/components/schemas/Workflows.IntegerComparisonGreaterThanOrEqual",
                "integer:comparison:less_than" : "#/components/schemas/Workflows.IntegerComparisonLessThan",
                "integer:comparison:less_than_or_equal" : "#/components/schemas/Workflows.IntegerComparisonLessThanOrEqual",
                "integer:comparison:not_equal" : "#/components/schemas/Workflows.IntegerComparisonNotEqual",
                "list:function:all" : "#/components/schemas/Workflows.ValueListFunctionAll",
                "list:function:any" : "#/components/schemas/Workflows.ValueListFunctionAny",
                "list:function:is_empty" : "#/components/schemas/Workflows.ValueListFunctionIsEmpty",
                "list:function:is_not_empty" : "#/components/schemas/Workflows.ValueListFunctionIsNotEmpty",
                "list:function:none" : "#/components/schemas/Workflows.ValueListFunctionNone",
                "real:comparison:equal" : "#/components/schemas/Workflows.RealComparisonEqual",
                "real:comparison:greater_than" : "#/components/schemas/Workflows.RealComparisonGreaterThan",
                "real:comparison:greater_than_or_equal" : "#/components/schemas/Workflows.RealComparisonGreaterThanOrEqual",
                "real:comparison:less_than" : "#/components/schemas/Workflows.RealComparisonLessThan",
                "real:comparison:less_than_or_equal" : "#/components/schemas/Workflows.RealComparisonLessThanOrEqual",
                "real:comparison:not_equal" : "#/components/schemas/Workflows.RealComparisonNotEqual",
                "string:comparison:equal" : "#/components/schemas/Workflows.StringComparisonEqual",
                "string:comparison:not_equal" : "#/components/schemas/Workflows.StringComparisonNotEqual",
                "string:function:contains" : "#/components/schemas/Workflows.StringContainsFunction",
                "string:function:ends_with" : "#/components/schemas/Workflows.StringEndsWithFunction",
                "string:function:starts_with" : "#/components/schemas/Workflows.StringStartsWithFunction",
                "unit:comparison:equal" : "#/components/schemas/Workflows.MeasurementUnitComparisonEqual",
                "unit:comparison:not_equal" : "#/components/schemas/Workflows.MeasurementUnitComparisonNotEqual"
              }
            },
            "allOf" : [ {
              "$ref" : "#/components/schemas/Workflows.Value"
            } ],
            "default" : null
          }
        }
      },
      "Workflows.PairBooleanValueDimensionalScalarValue" : {
        "type" : "object",
        "properties" : {
          "first" : {
            "$ref" : "#/components/schemas/Workflows.BooleanValue"
          },
          "second" : {
            "description" : "\nValue model for a dimensional scalar.\n\nResolves to an object node with field `value` (double node) and field `unit` (text node).\n\nNote: during resolution dimensionals are converted to base SI units (e.g. 50 miles/hour -> 22.352 m/s), unless the\nresolution context opts out of the conversion to keep the original units; results of operations are always in base SI units.\n    ",
            "discriminator" : {
              "propertyName" : "value_model_type",
              "mapping" : {
                "dimensional_scalar:constant" : "#/components/schemas/Workflows.DimensionalScalarConstant",
                "dimensional_scalar:expression:select" : "#/components/schemas/Workflows.DimensionalScalarExpressionSelect",
                "dimensional_scalar:function:pow" : "#/components/schemas/Workflows.DimensionalScalarFunctionPow",
                "dimensional_scalar:operation:div" : "#/components/schemas/Workflows.DimensionalScalarOperationDiv",
                "dimensional_scalar:operation:minus" : "#/components/schemas/Workflows.DimensionalScalarOperationMinus",
                "dimensional_scalar:operation:plus" : "#/components/schemas/Workflows.DimensionalScalarOperationPlus",
                "dimensional_scalar:operation:times" : "#/components/schemas/Workflows.DimensionalScalarOperationTimes",
                "dimensional_scalar:reference" : "#/components/schemas/Workflows.DimensionalScalarReference",
                "dimensional_vector:function:component" : "#/components/schemas/Workflows.DimensionalScalarFromDimensionalVectorComponent",
                "dimensional_vector:function:mag" : "#/components/schemas/Workflows.DimensionalVectorFunctionMag",
                "integer:conversion:to_dimensional_scalar" : "#/components/schemas/Workflows.IntegerToDimensionalScalarValueConversion",
                "real:conversion:to_dimensional_scalar" : "#/components/schemas/Workflows.RealToDimensionalScalarValueConversion"
              }
            },
            "allOf" : [ {
              "$ref" : "#/components/schemas/Workflows.Value"
            } ],
            "default" : null
          }
        }
      },
      "Workflows.PairBooleanValueDimensionalVectorValue" : {
        "type" : "object",
        "properties" : {
          "first" : {
            "$ref" : "#/components/schemas/Workflows.BooleanValue"
          },
          "second" : {
            "description" : "\nValue model for a dimensional vector.\n\nResolves to an object node with field `vector` containing Cartesian vector components (`x`, `y`, `z`; as double nodes) and field `unit` (text node).\n\nNote that during resolution dimensionals are converted to base SI units (e.g. 50 miles/hour -> 22.352 m/s), unless the\nresolution context opts out of the conversion to keep the original units; results of operations are always in base SI units.\n    ",
            "discriminator" : {
              "propertyName" : "value_model_type",
              "mapping" : {
                "dimensional_vector:constant" : "#/components/schemas/Workflows.DimensionalVectorConstant",
                "dimensional_vector:expression:select" : "#/components/schemas/Workflows.DimensionalVectorExpressionSelect",
                "dimensional_vector:function:norm" : "#/components/schemas/Workflows.DimensionalVectorFunctionNorm",
                "dimensional_vector:operation:div" : "#/components/schemas/Workflows.DimensionalVectorOperationDiv",
                "dimensional_vector:operation:minus" : "#/components/schemas/Workflows.DimensionalVectorOperationMinus",
                "dimensional_vector:operation:plus" : "#/components/schemas/Workflows.DimensionalVectorOperationPlus",
                "dimensional_vector:operation:times" : "#/components/schemas/Workflows.DimensionalVectorOperationTimes",
                "dimensional_vector:reference" : "#/components/schemas/Workflows.DimensionalVectorReference",
                "real:conversion:to_dimensional_vector" : "#/components/schemas/Workflows.DimensionalVectorFromComponents"
              }
            },
            "allOf" : [ {
              "$ref" : "#/components/schemas/Workflows.Value"
            } ],
            "default" : null
          }
        }
      },
      "Workflows.PairBooleanValueEnumValue" : {
        "type" : "object",
        "properties" : {
          "first" : {
            "$ref" : "#/components/schemas/Workflows.BooleanValue"
          },
          "second" : {
            "description" : "Value model for an enum value. Resolves to a text JSON node.",
            "discriminator" : {
              "propertyName" : "value_model_type",
              "mapping" : {
                "enum:constant" : "#/components/schemas/Workflows.EnumConstant",
                "enum:expression:select" : "#/components/schemas/Workflows.EnumExpressionSelect",
                "enum:reference" : "#/components/schemas/Workflows.EnumReference"
              }
            },
            "allOf" : [ {
              "$ref" : "#/components/schemas/Workflows.Value"
            } ],
            "default" : null
          }
        }
      },
      "Workflows.PairBooleanValueIntegerValue" : {
        "type" : "object",
        "properties" : {
          "first" : {
            "description" : "Value model of a boolean value. Resolves to a JSON boolean or null node.",
            "discriminator" : {
              "propertyName" : "value_model_type",
              "mapping" : {
                "boolean:comparison:equal" : "#/components/schemas/Workflows.BooleanComparisonEqual",
                "boolean:comparison:not_equal" : "#/components/schemas/Workflows.BooleanComparisonNotEqual",
                "boolean:constant" : "#/components/schemas/Workflows.BooleanConstant",
                "boolean:expression:select" : "#/components/schemas/Workflows.BooleanExpressionSelect",
                "boolean:operation:and" : "#/components/schemas/Workflows.BooleanOperationAnd",
                "boolean:operation:not" : "#/components/schemas/Workflows.BooleanOperationNot",
                "boolean:operation:or" : "#/components/schemas/Workflows.BooleanOperationOr",
                "boolean:operation:xor" : "#/components/schemas/Workflows.BooleanOperationXor",
                "boolean:reference" : "#/components/schemas/Workflows.BooleanReference",
                "compound:comparison:equal" : "#/components/schemas/Workflows.CompoundComparisonEqual",
                "compound:function:is_type" : "#/components/schemas/Workflows.PolymorphicCompoundTypeCheck",
                "dimensional_scalar:comparison:greater_than" : "#/components/schemas/Workflows.DimensionalScalarComparisonGreaterThan",
                "dimensional_scalar:comparison:greater_than_or_equal" : "#/components/schemas/Workflows.DimensionalScalarComparisonGreaterThanOrEqual",
                "dimensional_scalar:comparison:less_than" : "#/components/schemas/Workflows.DimensionalScalarComparisonLessThan",
                "dimensional_scalar:comparison:less_than_or_equal" : "#/components/schemas/Workflows.DimensionalScalarComparisonLessThanOrEqual",
                "entity_assignment:function:is_empty" : "#/components/schemas/Workflows.EntityAssignmentFunctionIsEmpty",
                "entity_assignment_list:function:is_empty" : "#/components/schemas/Workflows.EntityAssignmentListFunctionIsEmpty",
                "enum:comparison:equal" : "#/components/schemas/Workflows.EnumComparisonEqual",
                "enum:comparison:not_equal" : "#/components/schemas/Workflows.EnumComparisonNotEqual",
                "enum:function:one_of" : "#/components/schemas/Workflows.EnumFunctionOneOf",
                "integer:comparison:equal" : "#/components/schemas/Workflows.IntegerComparisonEqual",
                "integer:comparison:greater_than" : "#/components/schemas/Workflows.IntegerComparisonGreaterThan",
                "integer:comparison:greater_than_or_equal" : "#/components/schemas/Workflows.IntegerComparisonGreaterThanOrEqual",
                "integer:comparison:less_than" : "#/components/schemas/Workflows.IntegerComparisonLessThan",
                "integer:comparison:less_than_or_equal" : "#/components/schemas/Workflows.IntegerComparisonLessThanOrEqual",
                "integer:comparison:not_equal" : "#/components/schemas/Workflows.IntegerComparisonNotEqual",
                "list:function:all" : "#/components/schemas/Workflows.ValueListFunctionAll",
                "list:function:any" : "#/components/schemas/Workflows.ValueListFunctionAny",
                "list:function:is_empty" : "#/components/schemas/Workflows.ValueListFunctionIsEmpty",
                "list:function:is_not_empty" : "#/components/schemas/Workflows.ValueListFunctionIsNotEmpty",
                "list:function:none" : "#/components/schemas/Workflows.ValueListFunctionNone",
                "real:comparison:equal" : "#/components/schemas/Workflows.RealComparisonEqual",
                "real:comparison:greater_than" : "#/components/schemas/Workflows.RealComparisonGreaterThan",
                "real:comparison:greater_than_or_equal" : "#/components/schemas/Workflows.RealComparisonGreaterThanOrEqual",
                "real:comparison:less_than" : "#/components/schemas/Workflows.RealComparisonLessThan",
                "real:comparison:less_than_or_equal" : "#/components/schemas/Workflows.RealComparisonLessThanOrEqual",
                "real:comparison:not_equal" : "#/components/schemas/Workflows.RealComparisonNotEqual",
                "string:comparison:equal" : "#/components/schemas/Workflows.StringComparisonEqual",
                "string:comparison:not_equal" : "#/components/schemas/Workflows.StringComparisonNotEqual",
                "string:function:contains" : "#/components/schemas/Workflows.StringContainsFunction",
                "string:function:ends_with" : "#/components/schemas/Workflows.StringEndsWithFunction",
                "string:function:starts_with" : "#/components/schemas/Workflows.StringStartsWithFunction",
                "unit:comparison:equal" : "#/components/schemas/Workflows.MeasurementUnitComparisonEqual",
                "unit:comparison:not_equal" : "#/components/schemas/Workflows.MeasurementUnitComparisonNotEqual"
              }
            },
            "allOf" : [ {
              "$ref" : "#/components/schemas/Workflows.Value"
            } ],
            "default" : null
          },
          "second" : {
            "description" : "Value model for a 64-bit signed integer value. Resolves to a long JSON node.",
            "discriminator" : {
              "propertyName" : "value_model_type",
              "mapping" : {
                "entity_assignment_list:function:count_entities" : "#/components/schemas/Workflows.EntityAssignmentListFunctionCountEntities",
                "integer:constant" : "#/components/schemas/Workflows.IntegerConstant",
                "integer:expression:select" : "#/components/schemas/Workflows.IntegerExpressionSelect",
                "integer:function:abs" : "#/components/schemas/Workflows.IntegerFunctionAbs",
                "integer:function:max" : "#/components/schemas/Workflows.IntegerFunctionMax",
                "integer:function:min" : "#/components/schemas/Workflows.IntegerFunctionMin",
                "integer:operation:div" : "#/components/schemas/Workflows.IntegerOperationDiv",
                "integer:operation:minus" : "#/components/schemas/Workflows.IntegerOperationMinus",
                "integer:operation:plus" : "#/components/schemas/Workflows.IntegerOperationPlus",
                "integer:operation:rem" : "#/components/schemas/Workflows.IntegerOperationRem",
                "integer:operation:times" : "#/components/schemas/Workflows.IntegerOperationTimes",
                "integer:reference" : "#/components/schemas/Workflows.IntegerReference",
                "list:function:integer_sum" : "#/components/schemas/Workflows.ValueListFunctionIntegerSum",
                "list:function:length" : "#/components/schemas/Workflows.ValueListFunctionSize",
                "real:conversion:to_integer" : "#/components/schemas/Workflows.RealToIntegerConversion",
                "string:conversion:to_integer" : "#/components/schemas/Workflows.StringToIntegerValueConversion",
                "string:function:length" : "#/components/schemas/Workflows.StringLengthFunction"
              }
            },
            "allOf" : [ {
              "$ref" : "#/components/schemas/Workflows.Value"
            } ],
            "default" : null
          }
        }
      },
      "Workflows.PairBooleanValueMeasurementUnitValue" : {
        "type" : "object",
        "properties" : {
          "first" : {
            "$ref" : "#/components/schemas/Workflows.BooleanValue"
          },
          "second" : {
            "description" : "Value model for a measurement unit value. Resolves to a text JSON node.",
            "discriminator" : {
              "propertyName" : "value_model_type",
              "mapping" : {
                "unit:constant" : "#/components/schemas/Workflows.MeasurementUnitConstant",
                "unit:expression:select" : "#/components/schemas/Workflows.MeasurementUnitExpressionSelect",
                "unit:function:pow" : "#/components/schemas/Workflows.MeasurementUnitFunctionPow",
                "unit:operation:div" : "#/components/schemas/Workflows.MeasurementUnitOperationDiv",
                "unit:operation:times" : "#/components/schemas/Workflows.MeasurementUnitOperationTimes",
                "unit:reference" : "#/components/schemas/Workflows.MeasurementUnitReference"
              }
            },
            "allOf" : [ {
              "$ref" : "#/components/schemas/Workflows.Value"
            } ],
            "default" : null
          }
        }
      },
      "Workflows.PairBooleanValueRealValue" : {
        "type" : "object",
        "properties" : {
          "first" : {
            "$ref" : "#/components/schemas/Workflows.BooleanValue"
          },
          "second" : {
            "description" : "Value model for a 64-bit double precision floating point number. Resolves to a double JSON node.",
            "discriminator" : {
              "propertyName" : "value_model_type",
              "mapping" : {
                "dimensional_scalar:conversion:to_real" : "#/components/schemas/Workflows.DimensionalScalarToRealValueConversion",
                "integer:conversion:to_real" : "#/components/schemas/Workflows.IntegerToRealValueConversion",
                "list:function:real_sum" : "#/components/schemas/Workflows.ValueListFunctionRealSum",
                "real:constant" : "#/components/schemas/Workflows.RealConstant",
                "real:expression:select" : "#/components/schemas/Workflows.RealExpressionSelect",
                "real:function:abs" : "#/components/schemas/Workflows.RealFunctionAbs",
                "real:function:acos" : "#/components/schemas/Workflows.RealFunctionACos",
                "real:function:asin" : "#/components/schemas/Workflows.RealFunctionASin",
                "real:function:atan" : "#/components/schemas/Workflows.RealFunctionATan",
                "real:function:atan2" : "#/components/schemas/Workflows.RealFunctionATan2",
                "real:function:cbrt" : "#/components/schemas/Workflows.RealFunctionCbrt",
                "real:function:cos" : "#/components/schemas/Workflows.RealFunctionCos",
                "real:function:exp" : "#/components/schemas/Workflows.RealFunctionExp",
                "real:function:log" : "#/components/schemas/Workflows.RealFunctionLog",
                "real:function:log10" : "#/components/schemas/Workflows.RealFunctionLog10",
                "real:function:max" : "#/components/schemas/Workflows.RealFunctionMax",
                "real:function:min" : "#/components/schemas/Workflows.RealFunctionMin",
                "real:function:pow" : "#/components/schemas/Workflows.RealFunctionPow",
                "real:function:sin" : "#/components/schemas/Workflows.RealFunctionSin",
                "real:function:sqrt" : "#/components/schemas/Workflows.RealFunctionSqrt",
                "real:function:tan" : "#/components/schemas/Workflows.RealFunctionTan",
                "real:operation:div" : "#/components/schemas/Workflows.RealOperationDiv",
                "real:operation:minus" : "#/components/schemas/Workflows.RealOperationMinus",
                "real:operation:plus" : "#/components/schemas/Workflows.RealOperationPlus",
                "real:operation:times" : "#/components/schemas/Workflows.RealOperationTimes",
                "real:reference" : "#/components/schemas/Workflows.RealReference",
                "string:conversion:to_real" : "#/components/schemas/Workflows.StringToRealValueConversion"
              }
            },
            "allOf" : [ {
              "$ref" : "#/components/schemas/Workflows.Value"
            } ],
            "default" : null
          }
        }
      },
      "Workflows.PairBooleanValueStringValue" : {
        "type" : "object",
        "properties" : {
          "first" : {
            "$ref" : "#/components/schemas/Workflows.BooleanValue"
          },
          "second" : {
            "description" : "Value model for a string value. Resolves to a text JSON node.",
            "discriminator" : {
              "propertyName" : "value_model_type",
              "mapping" : {
                "boolean:conversion:to_string" : "#/components/schemas/Workflows.BooleanToStringValueConversion",
                "dimensional_scalar:conversion:to_string" : "#/components/schemas/Workflows.DimensionalScalarToStringValueConversion",
                "dimensional_vector:conversion:to_string" : "#/components/schemas/Workflows.DimensionalVectorToStringValueConversion",
                "entity_assignment:conversion:to_markdown_link_string" : "#/components/schemas/Workflows.EntityAssignmentToMarkdownLinkValueConversion",
                "entity_assignment:conversion:to_string" : "#/components/schemas/Workflows.EntityAssignmentToStringValueConversion",
                "entity_assignment_list:conversion:to_markdown_link_string" : "#/components/schemas/Workflows.EntityAssignmentListToMarkdownLinkValueConversion",
                "enum:conversion:to_string" : "#/components/schemas/Workflows.EnumToStringValueConversion",
                "integer:conversion:to_string" : "#/components/schemas/Workflows.IntegerToStringValueConversion",
                "real:conversion:to_string" : "#/components/schemas/Workflows.RealToStringValueConversion",
                "string:constant" : "#/components/schemas/Workflows.StringConstant",
                "string:expression:select" : "#/components/schemas/Workflows.StringExpressionSelect",
                "string:function:lowercase" : "#/components/schemas/Workflows.StringLowerCaseFunction",
                "string:function:substring" : "#/components/schemas/Workflows.StringSubStringFunction",
                "string:function:uppercase" : "#/components/schemas/Workflows.StringUpperCaseFunction",
                "string:operation:plus" : "#/components/schemas/Workflows.StringOperationPlus",
                "string:reference" : "#/components/schemas/Workflows.StringReference",
                "value_list:conversion:to_string" : "#/components/schemas/Workflows.ValueListToStringValueConversion"
              }
            },
            "allOf" : [ {
              "$ref" : "#/components/schemas/Workflows.Value"
            } ],
            "default" : null
          }
        }
      },
      "Workflows.PairBooleanValueValueListValue" : {
        "type" : "object",
        "properties" : {
          "first" : {
            "$ref" : "#/components/schemas/Workflows.BooleanValue"
          },
          "second" : {
            "description" : "Value model for a list of values. Resolves to a JSON array.",
            "discriminator" : {
              "propertyName" : "value_model_type",
              "mapping" : {
                "list:constant" : "#/components/schemas/Workflows.ConstantValueList",
                "list:expression:select" : "#/components/schemas/Workflows.ValueListExpressionSelect",
                "list:function:drop" : "#/components/schemas/Workflows.ValueListFunctionDrop",
                "list:function:drop_last" : "#/components/schemas/Workflows.ValueListFunctionDropLast",
                "list:function:filter" : "#/components/schemas/Workflows.ValueListFunctionFilter",
                "list:function:map" : "#/components/schemas/Workflows.ValueListFunctionMap",
                "list:function:sublist" : "#/components/schemas/Workflows.ValueListFunctionSubList",
                "list:function:take" : "#/components/schemas/Workflows.ValueListFunctionTake",
                "list:function:take_last" : "#/components/schemas/Workflows.ValueListFunctionTakeLast",
                "list:generator:integer_sequence" : "#/components/schemas/Workflows.IntegerSequenceGenerator",
                "list:generator:real_sequence" : "#/components/schemas/Workflows.RealSequenceGenerator",
                "list:operation:plus" : "#/components/schemas/Workflows.ValueListOperationPlus",
                "list:operation:times" : "#/components/schemas/Workflows.ValueListOperationTimes",
                "list:reference" : "#/components/schemas/Workflows.ReferenceValueList"
              }
            },
            "allOf" : [ {
              "$ref" : "#/components/schemas/Workflows.Value"
            } ],
            "default" : null
          }
        }
      },
      "ComponentRegistry.ParameterDescription" : {
        "type" : "object",
        "properties" : {
          "dataType" : {
            "type" : "string"
          },
          "doc" : {
            "type" : "string",
            "nullable" : true
          },
          "label" : {
            "type" : "string",
            "nullable" : true
          },
          "multiLanguageDoc" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "nullable" : true
          },
          "multiLanguageLabel" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "nullable" : true
          },
          "name" : {
            "type" : "string"
          }
        },
        "description" : "Description of a single parameter for parametric data.",
        "default" : null
      },
      "Workflows.Plot2DUiConfigurationEntry" : {
        "description" : "UI configuration for data that can be viewed as a 2D plot.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.UiConfigurationEntry"
        }, {
          "type" : "object",
          "properties" : {
            "dataSeries" : {
              "description" : "Value model for a list of values. Resolves to a JSON array.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "list:constant" : "#/components/schemas/Workflows.ConstantValueList",
                  "list:expression:select" : "#/components/schemas/Workflows.ValueListExpressionSelect",
                  "list:function:drop" : "#/components/schemas/Workflows.ValueListFunctionDrop",
                  "list:function:drop_last" : "#/components/schemas/Workflows.ValueListFunctionDropLast",
                  "list:function:filter" : "#/components/schemas/Workflows.ValueListFunctionFilter",
                  "list:function:map" : "#/components/schemas/Workflows.ValueListFunctionMap",
                  "list:function:sublist" : "#/components/schemas/Workflows.ValueListFunctionSubList",
                  "list:function:take" : "#/components/schemas/Workflows.ValueListFunctionTake",
                  "list:function:take_last" : "#/components/schemas/Workflows.ValueListFunctionTakeLast",
                  "list:generator:integer_sequence" : "#/components/schemas/Workflows.IntegerSequenceGenerator",
                  "list:generator:real_sequence" : "#/components/schemas/Workflows.RealSequenceGenerator",
                  "list:operation:plus" : "#/components/schemas/Workflows.ValueListOperationPlus",
                  "list:operation:times" : "#/components/schemas/Workflows.ValueListOperationTimes",
                  "list:reference" : "#/components/schemas/Workflows.ReferenceValueList"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            },
            "groups" : {
              "description" : "Value model for a list of values. Resolves to a JSON array.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "list:constant" : "#/components/schemas/Workflows.ConstantValueList",
                  "list:expression:select" : "#/components/schemas/Workflows.ValueListExpressionSelect",
                  "list:function:drop" : "#/components/schemas/Workflows.ValueListFunctionDrop",
                  "list:function:drop_last" : "#/components/schemas/Workflows.ValueListFunctionDropLast",
                  "list:function:filter" : "#/components/schemas/Workflows.ValueListFunctionFilter",
                  "list:function:map" : "#/components/schemas/Workflows.ValueListFunctionMap",
                  "list:function:sublist" : "#/components/schemas/Workflows.ValueListFunctionSubList",
                  "list:function:take" : "#/components/schemas/Workflows.ValueListFunctionTake",
                  "list:function:take_last" : "#/components/schemas/Workflows.ValueListFunctionTakeLast",
                  "list:generator:integer_sequence" : "#/components/schemas/Workflows.IntegerSequenceGenerator",
                  "list:generator:real_sequence" : "#/components/schemas/Workflows.RealSequenceGenerator",
                  "list:operation:plus" : "#/components/schemas/Workflows.ValueListOperationPlus",
                  "list:operation:times" : "#/components/schemas/Workflows.ValueListOperationTimes",
                  "list:reference" : "#/components/schemas/Workflows.ReferenceValueList"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            },
            "name" : {
              "description" : "Value model for a string value. Resolves to a text JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "boolean:conversion:to_string" : "#/components/schemas/Workflows.BooleanToStringValueConversion",
                  "dimensional_scalar:conversion:to_string" : "#/components/schemas/Workflows.DimensionalScalarToStringValueConversion",
                  "dimensional_vector:conversion:to_string" : "#/components/schemas/Workflows.DimensionalVectorToStringValueConversion",
                  "entity_assignment:conversion:to_markdown_link_string" : "#/components/schemas/Workflows.EntityAssignmentToMarkdownLinkValueConversion",
                  "entity_assignment:conversion:to_string" : "#/components/schemas/Workflows.EntityAssignmentToStringValueConversion",
                  "entity_assignment_list:conversion:to_markdown_link_string" : "#/components/schemas/Workflows.EntityAssignmentListToMarkdownLinkValueConversion",
                  "enum:conversion:to_string" : "#/components/schemas/Workflows.EnumToStringValueConversion",
                  "integer:conversion:to_string" : "#/components/schemas/Workflows.IntegerToStringValueConversion",
                  "real:conversion:to_string" : "#/components/schemas/Workflows.RealToStringValueConversion",
                  "string:constant" : "#/components/schemas/Workflows.StringConstant",
                  "string:expression:select" : "#/components/schemas/Workflows.StringExpressionSelect",
                  "string:function:lowercase" : "#/components/schemas/Workflows.StringLowerCaseFunction",
                  "string:function:substring" : "#/components/schemas/Workflows.StringSubStringFunction",
                  "string:function:uppercase" : "#/components/schemas/Workflows.StringUpperCaseFunction",
                  "string:operation:plus" : "#/components/schemas/Workflows.StringOperationPlus",
                  "string:reference" : "#/components/schemas/Workflows.StringReference",
                  "value_list:conversion:to_string" : "#/components/schemas/Workflows.ValueListToStringValueConversion"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            },
            "xaxisLabel" : {
              "description" : "Value model for a string value. Resolves to a text JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "boolean:conversion:to_string" : "#/components/schemas/Workflows.BooleanToStringValueConversion",
                  "dimensional_scalar:conversion:to_string" : "#/components/schemas/Workflows.DimensionalScalarToStringValueConversion",
                  "dimensional_vector:conversion:to_string" : "#/components/schemas/Workflows.DimensionalVectorToStringValueConversion",
                  "entity_assignment:conversion:to_markdown_link_string" : "#/components/schemas/Workflows.EntityAssignmentToMarkdownLinkValueConversion",
                  "entity_assignment:conversion:to_string" : "#/components/schemas/Workflows.EntityAssignmentToStringValueConversion",
                  "entity_assignment_list:conversion:to_markdown_link_string" : "#/components/schemas/Workflows.EntityAssignmentListToMarkdownLinkValueConversion",
                  "enum:conversion:to_string" : "#/components/schemas/Workflows.EnumToStringValueConversion",
                  "integer:conversion:to_string" : "#/components/schemas/Workflows.IntegerToStringValueConversion",
                  "real:conversion:to_string" : "#/components/schemas/Workflows.RealToStringValueConversion",
                  "string:constant" : "#/components/schemas/Workflows.StringConstant",
                  "string:expression:select" : "#/components/schemas/Workflows.StringExpressionSelect",
                  "string:function:lowercase" : "#/components/schemas/Workflows.StringLowerCaseFunction",
                  "string:function:substring" : "#/components/schemas/Workflows.StringSubStringFunction",
                  "string:function:uppercase" : "#/components/schemas/Workflows.StringUpperCaseFunction",
                  "string:operation:plus" : "#/components/schemas/Workflows.StringOperationPlus",
                  "string:reference" : "#/components/schemas/Workflows.StringReference",
                  "value_list:conversion:to_string" : "#/components/schemas/Workflows.ValueListToStringValueConversion"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            },
            "xaxisScale" : {
              "description" : "Value model for an enum value. Resolves to a text JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "enum:constant" : "#/components/schemas/Workflows.EnumConstant",
                  "enum:expression:select" : "#/components/schemas/Workflows.EnumExpressionSelect",
                  "enum:reference" : "#/components/schemas/Workflows.EnumReference"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            },
            "yaxisLabel" : {
              "description" : "Value model for a string value. Resolves to a text JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "boolean:conversion:to_string" : "#/components/schemas/Workflows.BooleanToStringValueConversion",
                  "dimensional_scalar:conversion:to_string" : "#/components/schemas/Workflows.DimensionalScalarToStringValueConversion",
                  "dimensional_vector:conversion:to_string" : "#/components/schemas/Workflows.DimensionalVectorToStringValueConversion",
                  "entity_assignment:conversion:to_markdown_link_string" : "#/components/schemas/Workflows.EntityAssignmentToMarkdownLinkValueConversion",
                  "entity_assignment:conversion:to_string" : "#/components/schemas/Workflows.EntityAssignmentToStringValueConversion",
                  "entity_assignment_list:conversion:to_markdown_link_string" : "#/components/schemas/Workflows.EntityAssignmentListToMarkdownLinkValueConversion",
                  "enum:conversion:to_string" : "#/components/schemas/Workflows.EnumToStringValueConversion",
                  "integer:conversion:to_string" : "#/components/schemas/Workflows.IntegerToStringValueConversion",
                  "real:conversion:to_string" : "#/components/schemas/Workflows.RealToStringValueConversion",
                  "string:constant" : "#/components/schemas/Workflows.StringConstant",
                  "string:expression:select" : "#/components/schemas/Workflows.StringExpressionSelect",
                  "string:function:lowercase" : "#/components/schemas/Workflows.StringLowerCaseFunction",
                  "string:function:substring" : "#/components/schemas/Workflows.StringSubStringFunction",
                  "string:function:uppercase" : "#/components/schemas/Workflows.StringUpperCaseFunction",
                  "string:operation:plus" : "#/components/schemas/Workflows.StringOperationPlus",
                  "string:reference" : "#/components/schemas/Workflows.StringReference",
                  "value_list:conversion:to_string" : "#/components/schemas/Workflows.ValueListToStringValueConversion"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            },
            "yaxisScale" : {
              "description" : "Value model for an enum value. Resolves to a text JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "enum:constant" : "#/components/schemas/Workflows.EnumConstant",
                  "enum:expression:select" : "#/components/schemas/Workflows.EnumExpressionSelect",
                  "enum:reference" : "#/components/schemas/Workflows.EnumReference"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        } ],
        "default" : null
      },
      "Workflows.PolymorphicCompoundTypeCheck" : {
        "description" : "Value model for checking the type of a polymorphic compound. Evaluates to false if executed on non-polymorphic compounds.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.BooleanValue"
        }, {
          "type" : "object",
          "properties" : {
            "compoundValue" : {
              "description" : "\nValue model for a concrete compound value. Resolves to an object JSON node.\n\nNote that the serialized representation of this value model contains the nested value models in a field map.\nThis is necessary to make this class sufficient for deserializing and processing compound values in the workflow engine in the absence of the original generated value models.\nWhen the developer is accessing fields of the generated value models then the generated getter and setter functions are storing values in this field map,\nthere's no backing field behind the properties in the generated value models. This architecture makes the value model definition type-safe meanwhile there's no need for the generated classes at runtime.\n    ",
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.AbstractCompoundValue"
              }, {
                "type" : "object",
                "properties" : {
                  "fields" : {
                    "type" : "object",
                    "additionalProperties" : {
                      "type" : "object",
                      "description" : "\nValue interface is the root of the value model type hierarchy.\n\nValue models store the computation model of values. The models are defined by the developer, for convenience through a DSL\ncomposed of receiver and extension functions and other Kotlin language constructs.\n\nWhen the build runs the definition of the value model, it gets serialized into a JSON representation and that is the artifact of the build.\nThese JSONs are persisted into the database and loaded by the workflow engine for the evaluation of the values.\nOnce values are computed they get stored as data and used by methods or clients to show data to the user.\nValue models and data models adhere to the same schema defined by the developer in DSSL, just they have a different implementation due to their different roles.\n\nBelow we define the central repository of value models. These are all part of the framework, available to the workflow engine as well.\nThey provide atomic types and composition mechanisms via containers and the compound value model class. These are in sync with the building blocks in DSSL.\n\nUser defined types via DSSL schemas are based on the compound value model. The generated value models are available only at build time to the user to define\nthe value computation logic in a type-safe way, meanwhile at runtime in the workflow engine only the compound value model is present.\n\nThe single value resolution function of this interface is the one used by the workflow engine to execute the value computation.\nAll value models implement this in their own way. The result is always a JSON node, which can be either a single node or an entire tree of nodes behind it.\n\nValue model types below are organized into groups based on their parent type, essentially following the hierarchy in a flattened way.\nThe type names - which get into the serialized JSON representation - also follow this structure, where levels are separated with a colon (`:`).\nBy convention names composed of multiple words are presented with snake-case and these rules are followed as a naming convention:\n* `operation` for operators (both unary and binary, e.g. plus, minus, not...),\n* `comparison` for comparators (equal, not equal, less than),\n* `function` for the general case.\n    ",
                      "default" : null
                    }
                  },
                  "polymorphicCompoundValue" : {
                    "type" : "boolean"
                  },
                  "subtypeId" : {
                    "type" : "string"
                  },
                  "subtypes" : {
                    "type" : "object",
                    "additionalProperties" : {
                      "description" : "\nValue model for a concrete compound value. Resolves to an object JSON node.\n\nNote that the serialized representation of this value model contains the nested value models in a field map.\nThis is necessary to make this class sufficient for deserializing and processing compound values in the workflow engine in the absence of the original generated value models.\nWhen the developer is accessing fields of the generated value models then the generated getter and setter functions are storing values in this field map,\nthere's no backing field behind the properties in the generated value models. This architecture makes the value model definition type-safe meanwhile there's no need for the generated classes at runtime.\n    ",
                      "allOf" : [ {
                        "$ref" : "#/components/schemas/Workflows.AbstractCompoundValue"
                      }, {
                        "type" : "object",
                        "properties" : {
                          "polymorphicCompoundValue" : {
                            "type" : "boolean"
                          },
                          "subtypeId" : {
                            "type" : "string"
                          },
                          "valueReference" : {
                            "$ref" : "#/components/schemas/Workflows.ValueReference"
                          }
                        }
                      } ],
                      "default" : null
                    }
                  },
                  "valueReference" : {
                    "$ref" : "#/components/schemas/Workflows.ValueReference"
                  }
                }
              } ],
              "default" : null
            },
            "targetTypeValue" : {
              "description" : "Value model for a string value. Resolves to a text JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "boolean:conversion:to_string" : "#/components/schemas/Workflows.BooleanToStringValueConversion",
                  "dimensional_scalar:conversion:to_string" : "#/components/schemas/Workflows.DimensionalScalarToStringValueConversion",
                  "dimensional_vector:conversion:to_string" : "#/components/schemas/Workflows.DimensionalVectorToStringValueConversion",
                  "entity_assignment:conversion:to_markdown_link_string" : "#/components/schemas/Workflows.EntityAssignmentToMarkdownLinkValueConversion",
                  "entity_assignment:conversion:to_string" : "#/components/schemas/Workflows.EntityAssignmentToStringValueConversion",
                  "entity_assignment_list:conversion:to_markdown_link_string" : "#/components/schemas/Workflows.EntityAssignmentListToMarkdownLinkValueConversion",
                  "enum:conversion:to_string" : "#/components/schemas/Workflows.EnumToStringValueConversion",
                  "integer:conversion:to_string" : "#/components/schemas/Workflows.IntegerToStringValueConversion",
                  "real:conversion:to_string" : "#/components/schemas/Workflows.RealToStringValueConversion",
                  "string:constant" : "#/components/schemas/Workflows.StringConstant",
                  "string:expression:select" : "#/components/schemas/Workflows.StringExpressionSelect",
                  "string:function:lowercase" : "#/components/schemas/Workflows.StringLowerCaseFunction",
                  "string:function:substring" : "#/components/schemas/Workflows.StringSubStringFunction",
                  "string:function:uppercase" : "#/components/schemas/Workflows.StringUpperCaseFunction",
                  "string:operation:plus" : "#/components/schemas/Workflows.StringOperationPlus",
                  "string:reference" : "#/components/schemas/Workflows.StringReference",
                  "value_list:conversion:to_string" : "#/components/schemas/Workflows.ValueListToStringValueConversion"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.RealComparisonEqual" : {
        "description" : "Value model to test real number equality.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.BooleanValue"
        }, {
          "type" : "object",
          "properties" : {
            "operandA" : {
              "description" : "Value model for a 64-bit double precision floating point number. Resolves to a double JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "dimensional_scalar:conversion:to_real" : "#/components/schemas/Workflows.DimensionalScalarToRealValueConversion",
                  "integer:conversion:to_real" : "#/components/schemas/Workflows.IntegerToRealValueConversion",
                  "list:function:real_sum" : "#/components/schemas/Workflows.ValueListFunctionRealSum",
                  "real:constant" : "#/components/schemas/Workflows.RealConstant",
                  "real:expression:select" : "#/components/schemas/Workflows.RealExpressionSelect",
                  "real:function:abs" : "#/components/schemas/Workflows.RealFunctionAbs",
                  "real:function:acos" : "#/components/schemas/Workflows.RealFunctionACos",
                  "real:function:asin" : "#/components/schemas/Workflows.RealFunctionASin",
                  "real:function:atan" : "#/components/schemas/Workflows.RealFunctionATan",
                  "real:function:atan2" : "#/components/schemas/Workflows.RealFunctionATan2",
                  "real:function:cbrt" : "#/components/schemas/Workflows.RealFunctionCbrt",
                  "real:function:cos" : "#/components/schemas/Workflows.RealFunctionCos",
                  "real:function:exp" : "#/components/schemas/Workflows.RealFunctionExp",
                  "real:function:log" : "#/components/schemas/Workflows.RealFunctionLog",
                  "real:function:log10" : "#/components/schemas/Workflows.RealFunctionLog10",
                  "real:function:max" : "#/components/schemas/Workflows.RealFunctionMax",
                  "real:function:min" : "#/components/schemas/Workflows.RealFunctionMin",
                  "real:function:pow" : "#/components/schemas/Workflows.RealFunctionPow",
                  "real:function:sin" : "#/components/schemas/Workflows.RealFunctionSin",
                  "real:function:sqrt" : "#/components/schemas/Workflows.RealFunctionSqrt",
                  "real:function:tan" : "#/components/schemas/Workflows.RealFunctionTan",
                  "real:operation:div" : "#/components/schemas/Workflows.RealOperationDiv",
                  "real:operation:minus" : "#/components/schemas/Workflows.RealOperationMinus",
                  "real:operation:plus" : "#/components/schemas/Workflows.RealOperationPlus",
                  "real:operation:times" : "#/components/schemas/Workflows.RealOperationTimes",
                  "real:reference" : "#/components/schemas/Workflows.RealReference",
                  "string:conversion:to_real" : "#/components/schemas/Workflows.StringToRealValueConversion"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            },
            "operandB" : {
              "description" : "Value model for a 64-bit double precision floating point number. Resolves to a double JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "dimensional_scalar:conversion:to_real" : "#/components/schemas/Workflows.DimensionalScalarToRealValueConversion",
                  "integer:conversion:to_real" : "#/components/schemas/Workflows.IntegerToRealValueConversion",
                  "list:function:real_sum" : "#/components/schemas/Workflows.ValueListFunctionRealSum",
                  "real:constant" : "#/components/schemas/Workflows.RealConstant",
                  "real:expression:select" : "#/components/schemas/Workflows.RealExpressionSelect",
                  "real:function:abs" : "#/components/schemas/Workflows.RealFunctionAbs",
                  "real:function:acos" : "#/components/schemas/Workflows.RealFunctionACos",
                  "real:function:asin" : "#/components/schemas/Workflows.RealFunctionASin",
                  "real:function:atan" : "#/components/schemas/Workflows.RealFunctionATan",
                  "real:function:atan2" : "#/components/schemas/Workflows.RealFunctionATan2",
                  "real:function:cbrt" : "#/components/schemas/Workflows.RealFunctionCbrt",
                  "real:function:cos" : "#/components/schemas/Workflows.RealFunctionCos",
                  "real:function:exp" : "#/components/schemas/Workflows.RealFunctionExp",
                  "real:function:log" : "#/components/schemas/Workflows.RealFunctionLog",
                  "real:function:log10" : "#/components/schemas/Workflows.RealFunctionLog10",
                  "real:function:max" : "#/components/schemas/Workflows.RealFunctionMax",
                  "real:function:min" : "#/components/schemas/Workflows.RealFunctionMin",
                  "real:function:pow" : "#/components/schemas/Workflows.RealFunctionPow",
                  "real:function:sin" : "#/components/schemas/Workflows.RealFunctionSin",
                  "real:function:sqrt" : "#/components/schemas/Workflows.RealFunctionSqrt",
                  "real:function:tan" : "#/components/schemas/Workflows.RealFunctionTan",
                  "real:operation:div" : "#/components/schemas/Workflows.RealOperationDiv",
                  "real:operation:minus" : "#/components/schemas/Workflows.RealOperationMinus",
                  "real:operation:plus" : "#/components/schemas/Workflows.RealOperationPlus",
                  "real:operation:times" : "#/components/schemas/Workflows.RealOperationTimes",
                  "real:reference" : "#/components/schemas/Workflows.RealReference",
                  "string:conversion:to_real" : "#/components/schemas/Workflows.StringToRealValueConversion"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.RealComparisonGreaterThan" : {
        "description" : "Value model for real number `>` comparison.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.BooleanValue"
        }, {
          "type" : "object",
          "properties" : {
            "operandA" : {
              "description" : "Value model for a 64-bit double precision floating point number. Resolves to a double JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "dimensional_scalar:conversion:to_real" : "#/components/schemas/Workflows.DimensionalScalarToRealValueConversion",
                  "integer:conversion:to_real" : "#/components/schemas/Workflows.IntegerToRealValueConversion",
                  "list:function:real_sum" : "#/components/schemas/Workflows.ValueListFunctionRealSum",
                  "real:constant" : "#/components/schemas/Workflows.RealConstant",
                  "real:expression:select" : "#/components/schemas/Workflows.RealExpressionSelect",
                  "real:function:abs" : "#/components/schemas/Workflows.RealFunctionAbs",
                  "real:function:acos" : "#/components/schemas/Workflows.RealFunctionACos",
                  "real:function:asin" : "#/components/schemas/Workflows.RealFunctionASin",
                  "real:function:atan" : "#/components/schemas/Workflows.RealFunctionATan",
                  "real:function:atan2" : "#/components/schemas/Workflows.RealFunctionATan2",
                  "real:function:cbrt" : "#/components/schemas/Workflows.RealFunctionCbrt",
                  "real:function:cos" : "#/components/schemas/Workflows.RealFunctionCos",
                  "real:function:exp" : "#/components/schemas/Workflows.RealFunctionExp",
                  "real:function:log" : "#/components/schemas/Workflows.RealFunctionLog",
                  "real:function:log10" : "#/components/schemas/Workflows.RealFunctionLog10",
                  "real:function:max" : "#/components/schemas/Workflows.RealFunctionMax",
                  "real:function:min" : "#/components/schemas/Workflows.RealFunctionMin",
                  "real:function:pow" : "#/components/schemas/Workflows.RealFunctionPow",
                  "real:function:sin" : "#/components/schemas/Workflows.RealFunctionSin",
                  "real:function:sqrt" : "#/components/schemas/Workflows.RealFunctionSqrt",
                  "real:function:tan" : "#/components/schemas/Workflows.RealFunctionTan",
                  "real:operation:div" : "#/components/schemas/Workflows.RealOperationDiv",
                  "real:operation:minus" : "#/components/schemas/Workflows.RealOperationMinus",
                  "real:operation:plus" : "#/components/schemas/Workflows.RealOperationPlus",
                  "real:operation:times" : "#/components/schemas/Workflows.RealOperationTimes",
                  "real:reference" : "#/components/schemas/Workflows.RealReference",
                  "string:conversion:to_real" : "#/components/schemas/Workflows.StringToRealValueConversion"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            },
            "operandB" : {
              "description" : "Value model for a 64-bit double precision floating point number. Resolves to a double JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "dimensional_scalar:conversion:to_real" : "#/components/schemas/Workflows.DimensionalScalarToRealValueConversion",
                  "integer:conversion:to_real" : "#/components/schemas/Workflows.IntegerToRealValueConversion",
                  "list:function:real_sum" : "#/components/schemas/Workflows.ValueListFunctionRealSum",
                  "real:constant" : "#/components/schemas/Workflows.RealConstant",
                  "real:expression:select" : "#/components/schemas/Workflows.RealExpressionSelect",
                  "real:function:abs" : "#/components/schemas/Workflows.RealFunctionAbs",
                  "real:function:acos" : "#/components/schemas/Workflows.RealFunctionACos",
                  "real:function:asin" : "#/components/schemas/Workflows.RealFunctionASin",
                  "real:function:atan" : "#/components/schemas/Workflows.RealFunctionATan",
                  "real:function:atan2" : "#/components/schemas/Workflows.RealFunctionATan2",
                  "real:function:cbrt" : "#/components/schemas/Workflows.RealFunctionCbrt",
                  "real:function:cos" : "#/components/schemas/Workflows.RealFunctionCos",
                  "real:function:exp" : "#/components/schemas/Workflows.RealFunctionExp",
                  "real:function:log" : "#/components/schemas/Workflows.RealFunctionLog",
                  "real:function:log10" : "#/components/schemas/Workflows.RealFunctionLog10",
                  "real:function:max" : "#/components/schemas/Workflows.RealFunctionMax",
                  "real:function:min" : "#/components/schemas/Workflows.RealFunctionMin",
                  "real:function:pow" : "#/components/schemas/Workflows.RealFunctionPow",
                  "real:function:sin" : "#/components/schemas/Workflows.RealFunctionSin",
                  "real:function:sqrt" : "#/components/schemas/Workflows.RealFunctionSqrt",
                  "real:function:tan" : "#/components/schemas/Workflows.RealFunctionTan",
                  "real:operation:div" : "#/components/schemas/Workflows.RealOperationDiv",
                  "real:operation:minus" : "#/components/schemas/Workflows.RealOperationMinus",
                  "real:operation:plus" : "#/components/schemas/Workflows.RealOperationPlus",
                  "real:operation:times" : "#/components/schemas/Workflows.RealOperationTimes",
                  "real:reference" : "#/components/schemas/Workflows.RealReference",
                  "string:conversion:to_real" : "#/components/schemas/Workflows.StringToRealValueConversion"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.RealComparisonGreaterThanOrEqual" : {
        "description" : "Value model for real number `>=` comparison.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.BooleanValue"
        }, {
          "type" : "object",
          "properties" : {
            "operandA" : {
              "description" : "Value model for a 64-bit double precision floating point number. Resolves to a double JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "dimensional_scalar:conversion:to_real" : "#/components/schemas/Workflows.DimensionalScalarToRealValueConversion",
                  "integer:conversion:to_real" : "#/components/schemas/Workflows.IntegerToRealValueConversion",
                  "list:function:real_sum" : "#/components/schemas/Workflows.ValueListFunctionRealSum",
                  "real:constant" : "#/components/schemas/Workflows.RealConstant",
                  "real:expression:select" : "#/components/schemas/Workflows.RealExpressionSelect",
                  "real:function:abs" : "#/components/schemas/Workflows.RealFunctionAbs",
                  "real:function:acos" : "#/components/schemas/Workflows.RealFunctionACos",
                  "real:function:asin" : "#/components/schemas/Workflows.RealFunctionASin",
                  "real:function:atan" : "#/components/schemas/Workflows.RealFunctionATan",
                  "real:function:atan2" : "#/components/schemas/Workflows.RealFunctionATan2",
                  "real:function:cbrt" : "#/components/schemas/Workflows.RealFunctionCbrt",
                  "real:function:cos" : "#/components/schemas/Workflows.RealFunctionCos",
                  "real:function:exp" : "#/components/schemas/Workflows.RealFunctionExp",
                  "real:function:log" : "#/components/schemas/Workflows.RealFunctionLog",
                  "real:function:log10" : "#/components/schemas/Workflows.RealFunctionLog10",
                  "real:function:max" : "#/components/schemas/Workflows.RealFunctionMax",
                  "real:function:min" : "#/components/schemas/Workflows.RealFunctionMin",
                  "real:function:pow" : "#/components/schemas/Workflows.RealFunctionPow",
                  "real:function:sin" : "#/components/schemas/Workflows.RealFunctionSin",
                  "real:function:sqrt" : "#/components/schemas/Workflows.RealFunctionSqrt",
                  "real:function:tan" : "#/components/schemas/Workflows.RealFunctionTan",
                  "real:operation:div" : "#/components/schemas/Workflows.RealOperationDiv",
                  "real:operation:minus" : "#/components/schemas/Workflows.RealOperationMinus",
                  "real:operation:plus" : "#/components/schemas/Workflows.RealOperationPlus",
                  "real:operation:times" : "#/components/schemas/Workflows.RealOperationTimes",
                  "real:reference" : "#/components/schemas/Workflows.RealReference",
                  "string:conversion:to_real" : "#/components/schemas/Workflows.StringToRealValueConversion"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            },
            "operandB" : {
              "description" : "Value model for a 64-bit double precision floating point number. Resolves to a double JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "dimensional_scalar:conversion:to_real" : "#/components/schemas/Workflows.DimensionalScalarToRealValueConversion",
                  "integer:conversion:to_real" : "#/components/schemas/Workflows.IntegerToRealValueConversion",
                  "list:function:real_sum" : "#/components/schemas/Workflows.ValueListFunctionRealSum",
                  "real:constant" : "#/components/schemas/Workflows.RealConstant",
                  "real:expression:select" : "#/components/schemas/Workflows.RealExpressionSelect",
                  "real:function:abs" : "#/components/schemas/Workflows.RealFunctionAbs",
                  "real:function:acos" : "#/components/schemas/Workflows.RealFunctionACos",
                  "real:function:asin" : "#/components/schemas/Workflows.RealFunctionASin",
                  "real:function:atan" : "#/components/schemas/Workflows.RealFunctionATan",
                  "real:function:atan2" : "#/components/schemas/Workflows.RealFunctionATan2",
                  "real:function:cbrt" : "#/components/schemas/Workflows.RealFunctionCbrt",
                  "real:function:cos" : "#/components/schemas/Workflows.RealFunctionCos",
                  "real:function:exp" : "#/components/schemas/Workflows.RealFunctionExp",
                  "real:function:log" : "#/components/schemas/Workflows.RealFunctionLog",
                  "real:function:log10" : "#/components/schemas/Workflows.RealFunctionLog10",
                  "real:function:max" : "#/components/schemas/Workflows.RealFunctionMax",
                  "real:function:min" : "#/components/schemas/Workflows.RealFunctionMin",
                  "real:function:pow" : "#/components/schemas/Workflows.RealFunctionPow",
                  "real:function:sin" : "#/components/schemas/Workflows.RealFunctionSin",
                  "real:function:sqrt" : "#/components/schemas/Workflows.RealFunctionSqrt",
                  "real:function:tan" : "#/components/schemas/Workflows.RealFunctionTan",
                  "real:operation:div" : "#/components/schemas/Workflows.RealOperationDiv",
                  "real:operation:minus" : "#/components/schemas/Workflows.RealOperationMinus",
                  "real:operation:plus" : "#/components/schemas/Workflows.RealOperationPlus",
                  "real:operation:times" : "#/components/schemas/Workflows.RealOperationTimes",
                  "real:reference" : "#/components/schemas/Workflows.RealReference",
                  "string:conversion:to_real" : "#/components/schemas/Workflows.StringToRealValueConversion"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.RealComparisonLessThan" : {
        "description" : "Value model for real number `<` comparison.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.BooleanValue"
        }, {
          "type" : "object",
          "properties" : {
            "operandA" : {
              "description" : "Value model for a 64-bit double precision floating point number. Resolves to a double JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "dimensional_scalar:conversion:to_real" : "#/components/schemas/Workflows.DimensionalScalarToRealValueConversion",
                  "integer:conversion:to_real" : "#/components/schemas/Workflows.IntegerToRealValueConversion",
                  "list:function:real_sum" : "#/components/schemas/Workflows.ValueListFunctionRealSum",
                  "real:constant" : "#/components/schemas/Workflows.RealConstant",
                  "real:expression:select" : "#/components/schemas/Workflows.RealExpressionSelect",
                  "real:function:abs" : "#/components/schemas/Workflows.RealFunctionAbs",
                  "real:function:acos" : "#/components/schemas/Workflows.RealFunctionACos",
                  "real:function:asin" : "#/components/schemas/Workflows.RealFunctionASin",
                  "real:function:atan" : "#/components/schemas/Workflows.RealFunctionATan",
                  "real:function:atan2" : "#/components/schemas/Workflows.RealFunctionATan2",
                  "real:function:cbrt" : "#/components/schemas/Workflows.RealFunctionCbrt",
                  "real:function:cos" : "#/components/schemas/Workflows.RealFunctionCos",
                  "real:function:exp" : "#/components/schemas/Workflows.RealFunctionExp",
                  "real:function:log" : "#/components/schemas/Workflows.RealFunctionLog",
                  "real:function:log10" : "#/components/schemas/Workflows.RealFunctionLog10",
                  "real:function:max" : "#/components/schemas/Workflows.RealFunctionMax",
                  "real:function:min" : "#/components/schemas/Workflows.RealFunctionMin",
                  "real:function:pow" : "#/components/schemas/Workflows.RealFunctionPow",
                  "real:function:sin" : "#/components/schemas/Workflows.RealFunctionSin",
                  "real:function:sqrt" : "#/components/schemas/Workflows.RealFunctionSqrt",
                  "real:function:tan" : "#/components/schemas/Workflows.RealFunctionTan",
                  "real:operation:div" : "#/components/schemas/Workflows.RealOperationDiv",
                  "real:operation:minus" : "#/components/schemas/Workflows.RealOperationMinus",
                  "real:operation:plus" : "#/components/schemas/Workflows.RealOperationPlus",
                  "real:operation:times" : "#/components/schemas/Workflows.RealOperationTimes",
                  "real:reference" : "#/components/schemas/Workflows.RealReference",
                  "string:conversion:to_real" : "#/components/schemas/Workflows.StringToRealValueConversion"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            },
            "operandB" : {
              "description" : "Value model for a 64-bit double precision floating point number. Resolves to a double JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "dimensional_scalar:conversion:to_real" : "#/components/schemas/Workflows.DimensionalScalarToRealValueConversion",
                  "integer:conversion:to_real" : "#/components/schemas/Workflows.IntegerToRealValueConversion",
                  "list:function:real_sum" : "#/components/schemas/Workflows.ValueListFunctionRealSum",
                  "real:constant" : "#/components/schemas/Workflows.RealConstant",
                  "real:expression:select" : "#/components/schemas/Workflows.RealExpressionSelect",
                  "real:function:abs" : "#/components/schemas/Workflows.RealFunctionAbs",
                  "real:function:acos" : "#/components/schemas/Workflows.RealFunctionACos",
                  "real:function:asin" : "#/components/schemas/Workflows.RealFunctionASin",
                  "real:function:atan" : "#/components/schemas/Workflows.RealFunctionATan",
                  "real:function:atan2" : "#/components/schemas/Workflows.RealFunctionATan2",
                  "real:function:cbrt" : "#/components/schemas/Workflows.RealFunctionCbrt",
                  "real:function:cos" : "#/components/schemas/Workflows.RealFunctionCos",
                  "real:function:exp" : "#/components/schemas/Workflows.RealFunctionExp",
                  "real:function:log" : "#/components/schemas/Workflows.RealFunctionLog",
                  "real:function:log10" : "#/components/schemas/Workflows.RealFunctionLog10",
                  "real:function:max" : "#/components/schemas/Workflows.RealFunctionMax",
                  "real:function:min" : "#/components/schemas/Workflows.RealFunctionMin",
                  "real:function:pow" : "#/components/schemas/Workflows.RealFunctionPow",
                  "real:function:sin" : "#/components/schemas/Workflows.RealFunctionSin",
                  "real:function:sqrt" : "#/components/schemas/Workflows.RealFunctionSqrt",
                  "real:function:tan" : "#/components/schemas/Workflows.RealFunctionTan",
                  "real:operation:div" : "#/components/schemas/Workflows.RealOperationDiv",
                  "real:operation:minus" : "#/components/schemas/Workflows.RealOperationMinus",
                  "real:operation:plus" : "#/components/schemas/Workflows.RealOperationPlus",
                  "real:operation:times" : "#/components/schemas/Workflows.RealOperationTimes",
                  "real:reference" : "#/components/schemas/Workflows.RealReference",
                  "string:conversion:to_real" : "#/components/schemas/Workflows.StringToRealValueConversion"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        } ],
        "default" : null
      },
      "Workflows.RealComparisonLessThanOrEqual" : {
        "description" : "Value model for real number `<=` comparison.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.BooleanValue"
        }, {
          "type" : "object",
          "properties" : {
            "operandA" : {
              "description" : "Value model for a 64-bit double precision floating point number. Resolves to a double JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "dimensional_scalar:conversion:to_real" : "#/components/schemas/Workflows.DimensionalScalarToRealValueConversion",
                  "integer:conversion:to_real" : "#/components/schemas/Workflows.IntegerToRealValueConversion",
                  "list:function:real_sum" : "#/components/schemas/Workflows.ValueListFunctionRealSum",
                  "real:constant" : "#/components/schemas/Workflows.RealConstant",
                  "real:expression:select" : "#/components/schemas/Workflows.RealExpressionSelect",
                  "real:function:abs" : "#/components/schemas/Workflows.RealFunctionAbs",
                  "real:function:acos" : "#/components/schemas/Workflows.RealFunctionACos",
                  "real:function:asin" : "#/components/schemas/Workflows.RealFunctionASin",
                  "real:function:atan" : "#/components/schemas/Workflows.RealFunctionATan",
                  "real:function:atan2" : "#/components/schemas/Workflows.RealFunctionATan2",
                  "real:function:cbrt" : "#/components/schemas/Workflows.RealFunctionCbrt",
                  "real:function:cos" : "#/components/schemas/Workflows.RealFunctionCos",
                  "real:function:exp" : "#/components/schemas/Workflows.RealFunctionExp",
                  "real:function:log" : "#/components/schemas/Workflows.RealFunctionLog",
                  "real:function:log10" : "#/components/schemas/Workflows.RealFunctionLog10",
                  "real:function:max" : "#/components/schemas/Workflows.RealFunctionMax",
                  "real:function:min" : "#/components/schemas/Workflows.RealFunctionMin",
                  "real:function:pow" : "#/components/schemas/Workflows.RealFunctionPow",
                  "real:function:sin" : "#/components/schemas/Workflows.RealFunctionSin",
                  "real:function:sqrt" : "#/components/schemas/Workflows.RealFunctionSqrt",
                  "real:function:tan" : "#/components/schemas/Workflows.RealFunctionTan",
                  "real:operation:div" : "#/components/schemas/Workflows.RealOperationDiv",
                  "real:operation:minus" : "#/components/schemas/Workflows.RealOperationMinus",
                  "real:operation:plus" : "#/components/schemas/Workflows.RealOperationPlus",
                  "real:operation:times" : "#/components/schemas/Workflows.RealOperationTimes",
                  "real:reference" : "#/components/schemas/Workflows.RealReference",
                  "string:conversion:to_real" : "#/components/schemas/Workflows.StringToRealValueConversion"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            },
            "operandB" : {
              "description" : "Value model for a 64-bit double precision floating point number. Resolves to a double JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "dimensional_scalar:conversion:to_real" : "#/components/schemas/Workflows.DimensionalScalarToRealValueConversion",
                  "integer:conversion:to_real" : "#/components/schemas/Workflows.IntegerToRealValueConversion",
                  "list:function:real_sum" : "#/components/schemas/Workflows.ValueListFunctionRealSum",
                  "real:constant" : "#/components/schemas/Workflows.RealConstant",
                  "real:expression:select" : "#/components/schemas/Workflows.RealExpressionSelect",
                  "real:function:abs" : "#/components/schemas/Workflows.RealFunctionAbs",
                  "real:function:acos" : "#/components/schemas/Workflows.RealFunctionACos",
                  "real:function:asin" : "#/components/schemas/Workflows.RealFunctionASin",
                  "real:function:atan" : "#/components/schemas/Workflows.RealFunctionATan",
                  "real:function:atan2" : "#/components/schemas/Workflows.RealFunctionATan2",
                  "real:function:cbrt" : "#/components/schemas/Workflows.RealFunctionCbrt",
                  "real:function:cos" : "#/components/schemas/Workflows.RealFunctionCos",
                  "real:function:exp" : "#/components/schemas/Workflows.RealFunctionExp",
                  "real:function:log" : "#/components/schemas/Workflows.RealFunctionLog",
                  "real:function:log10" : "#/components/schemas/Workflows.RealFunctionLog10",
                  "real:function:max" : "#/components/schemas/Workflows.RealFunctionMax",
                  "real:function:min" : "#/components/schemas/Workflows.RealFunctionMin",
                  "real:function:pow" : "#/components/schemas/Workflows.RealFunctionPow",
                  "real:function:sin" : "#/components/schemas/Workflows.RealFunctionSin",
                  "real:function:sqrt" : "#/components/schemas/Workflows.RealFunctionSqrt",
                  "real:function:tan" : "#/components/schemas/Workflows.RealFunctionTan",
                  "real:operation:div" : "#/components/schemas/Workflows.RealOperationDiv",
                  "real:operation:minus" : "#/components/schemas/Workflows.RealOperationMinus",
                  "real:operation:plus" : "#/components/schemas/Workflows.RealOperationPlus",
                  "real:operation:times" : "#/components/schemas/Workflows.RealOperationTimes",
                  "real:reference" : "#/components/schemas/Workflows.RealReference",
                  "string:conversion:to_real" : "#/components/schemas/Workflows.StringToRealValueConversion"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.RealComparisonNotEqual" : {
        "description" : "Value model to test real number non-equality.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.BooleanValue"
        }, {
          "type" : "object",
          "properties" : {
            "operandA" : {
              "description" : "Value model for a 64-bit double precision floating point number. Resolves to a double JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "dimensional_scalar:conversion:to_real" : "#/components/schemas/Workflows.DimensionalScalarToRealValueConversion",
                  "integer:conversion:to_real" : "#/components/schemas/Workflows.IntegerToRealValueConversion",
                  "list:function:real_sum" : "#/components/schemas/Workflows.ValueListFunctionRealSum",
                  "real:constant" : "#/components/schemas/Workflows.RealConstant",
                  "real:expression:select" : "#/components/schemas/Workflows.RealExpressionSelect",
                  "real:function:abs" : "#/components/schemas/Workflows.RealFunctionAbs",
                  "real:function:acos" : "#/components/schemas/Workflows.RealFunctionACos",
                  "real:function:asin" : "#/components/schemas/Workflows.RealFunctionASin",
                  "real:function:atan" : "#/components/schemas/Workflows.RealFunctionATan",
                  "real:function:atan2" : "#/components/schemas/Workflows.RealFunctionATan2",
                  "real:function:cbrt" : "#/components/schemas/Workflows.RealFunctionCbrt",
                  "real:function:cos" : "#/components/schemas/Workflows.RealFunctionCos",
                  "real:function:exp" : "#/components/schemas/Workflows.RealFunctionExp",
                  "real:function:log" : "#/components/schemas/Workflows.RealFunctionLog",
                  "real:function:log10" : "#/components/schemas/Workflows.RealFunctionLog10",
                  "real:function:max" : "#/components/schemas/Workflows.RealFunctionMax",
                  "real:function:min" : "#/components/schemas/Workflows.RealFunctionMin",
                  "real:function:pow" : "#/components/schemas/Workflows.RealFunctionPow",
                  "real:function:sin" : "#/components/schemas/Workflows.RealFunctionSin",
                  "real:function:sqrt" : "#/components/schemas/Workflows.RealFunctionSqrt",
                  "real:function:tan" : "#/components/schemas/Workflows.RealFunctionTan",
                  "real:operation:div" : "#/components/schemas/Workflows.RealOperationDiv",
                  "real:operation:minus" : "#/components/schemas/Workflows.RealOperationMinus",
                  "real:operation:plus" : "#/components/schemas/Workflows.RealOperationPlus",
                  "real:operation:times" : "#/components/schemas/Workflows.RealOperationTimes",
                  "real:reference" : "#/components/schemas/Workflows.RealReference",
                  "string:conversion:to_real" : "#/components/schemas/Workflows.StringToRealValueConversion"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            },
            "operandB" : {
              "description" : "Value model for a 64-bit double precision floating point number. Resolves to a double JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "dimensional_scalar:conversion:to_real" : "#/components/schemas/Workflows.DimensionalScalarToRealValueConversion",
                  "integer:conversion:to_real" : "#/components/schemas/Workflows.IntegerToRealValueConversion",
                  "list:function:real_sum" : "#/components/schemas/Workflows.ValueListFunctionRealSum",
                  "real:constant" : "#/components/schemas/Workflows.RealConstant",
                  "real:expression:select" : "#/components/schemas/Workflows.RealExpressionSelect",
                  "real:function:abs" : "#/components/schemas/Workflows.RealFunctionAbs",
                  "real:function:acos" : "#/components/schemas/Workflows.RealFunctionACos",
                  "real:function:asin" : "#/components/schemas/Workflows.RealFunctionASin",
                  "real:function:atan" : "#/components/schemas/Workflows.RealFunctionATan",
                  "real:function:atan2" : "#/components/schemas/Workflows.RealFunctionATan2",
                  "real:function:cbrt" : "#/components/schemas/Workflows.RealFunctionCbrt",
                  "real:function:cos" : "#/components/schemas/Workflows.RealFunctionCos",
                  "real:function:exp" : "#/components/schemas/Workflows.RealFunctionExp",
                  "real:function:log" : "#/components/schemas/Workflows.RealFunctionLog",
                  "real:function:log10" : "#/components/schemas/Workflows.RealFunctionLog10",
                  "real:function:max" : "#/components/schemas/Workflows.RealFunctionMax",
                  "real:function:min" : "#/components/schemas/Workflows.RealFunctionMin",
                  "real:function:pow" : "#/components/schemas/Workflows.RealFunctionPow",
                  "real:function:sin" : "#/components/schemas/Workflows.RealFunctionSin",
                  "real:function:sqrt" : "#/components/schemas/Workflows.RealFunctionSqrt",
                  "real:function:tan" : "#/components/schemas/Workflows.RealFunctionTan",
                  "real:operation:div" : "#/components/schemas/Workflows.RealOperationDiv",
                  "real:operation:minus" : "#/components/schemas/Workflows.RealOperationMinus",
                  "real:operation:plus" : "#/components/schemas/Workflows.RealOperationPlus",
                  "real:operation:times" : "#/components/schemas/Workflows.RealOperationTimes",
                  "real:reference" : "#/components/schemas/Workflows.RealReference",
                  "string:conversion:to_real" : "#/components/schemas/Workflows.StringToRealValueConversion"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.RealConstant" : {
        "description" : "Value model of a constant real value.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.RealValue"
        }, {
          "type" : "object",
          "properties" : {
            "value" : {
              "type" : "number",
              "format" : "double"
            }
          }
        } ],
        "default" : null
      },
      "Workflows.RealExpressionSelect" : {
        "description" : "Value model for selecting a real value from a list of options based on the provided conditions.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.RealValue"
        }, {
          "type" : "object",
          "properties" : {
            "options" : {
              "type" : "array",
              "items" : {
                "$ref" : "#/components/schemas/Workflows.PairBooleanValueRealValue"
              }
            }
          }
        } ],
        "default" : null
      },
      "Workflows.RealField" : {
        "description" : "Atomic field to store a real number.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.AtomicField"
        }, {
          "type" : "object",
          "properties" : {
            "default" : {
              "type" : "number",
              "format" : "double"
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.SchemaElement"
        } ],
        "default" : null
      },
      "Workflows.RealFunctionACos" : {
        "description" : "Value model to calculate the arccosine of a real number.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.RealValue"
        }, {
          "type" : "object",
          "properties" : {
            "argument" : {
              "description" : "Value model for a 64-bit double precision floating point number. Resolves to a double JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "dimensional_scalar:conversion:to_real" : "#/components/schemas/Workflows.DimensionalScalarToRealValueConversion",
                  "integer:conversion:to_real" : "#/components/schemas/Workflows.IntegerToRealValueConversion",
                  "list:function:real_sum" : "#/components/schemas/Workflows.ValueListFunctionRealSum",
                  "real:constant" : "#/components/schemas/Workflows.RealConstant",
                  "real:expression:select" : "#/components/schemas/Workflows.RealExpressionSelect",
                  "real:function:abs" : "#/components/schemas/Workflows.RealFunctionAbs",
                  "real:function:acos" : "#/components/schemas/Workflows.RealFunctionACos",
                  "real:function:asin" : "#/components/schemas/Workflows.RealFunctionASin",
                  "real:function:atan" : "#/components/schemas/Workflows.RealFunctionATan",
                  "real:function:atan2" : "#/components/schemas/Workflows.RealFunctionATan2",
                  "real:function:cbrt" : "#/components/schemas/Workflows.RealFunctionCbrt",
                  "real:function:cos" : "#/components/schemas/Workflows.RealFunctionCos",
                  "real:function:exp" : "#/components/schemas/Workflows.RealFunctionExp",
                  "real:function:log" : "#/components/schemas/Workflows.RealFunctionLog",
                  "real:function:log10" : "#/components/schemas/Workflows.RealFunctionLog10",
                  "real:function:max" : "#/components/schemas/Workflows.RealFunctionMax",
                  "real:function:min" : "#/components/schemas/Workflows.RealFunctionMin",
                  "real:function:pow" : "#/components/schemas/Workflows.RealFunctionPow",
                  "real:function:sin" : "#/components/schemas/Workflows.RealFunctionSin",
                  "real:function:sqrt" : "#/components/schemas/Workflows.RealFunctionSqrt",
                  "real:function:tan" : "#/components/schemas/Workflows.RealFunctionTan",
                  "real:operation:div" : "#/components/schemas/Workflows.RealOperationDiv",
                  "real:operation:minus" : "#/components/schemas/Workflows.RealOperationMinus",
                  "real:operation:plus" : "#/components/schemas/Workflows.RealOperationPlus",
                  "real:operation:times" : "#/components/schemas/Workflows.RealOperationTimes",
                  "real:reference" : "#/components/schemas/Workflows.RealReference",
                  "string:conversion:to_real" : "#/components/schemas/Workflows.StringToRealValueConversion"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.RealFunctionASin" : {
        "description" : "Value model to calculate the arcsine of a real number.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.RealValue"
        }, {
          "type" : "object",
          "properties" : {
            "argument" : {
              "description" : "Value model for a 64-bit double precision floating point number. Resolves to a double JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "dimensional_scalar:conversion:to_real" : "#/components/schemas/Workflows.DimensionalScalarToRealValueConversion",
                  "integer:conversion:to_real" : "#/components/schemas/Workflows.IntegerToRealValueConversion",
                  "list:function:real_sum" : "#/components/schemas/Workflows.ValueListFunctionRealSum",
                  "real:constant" : "#/components/schemas/Workflows.RealConstant",
                  "real:expression:select" : "#/components/schemas/Workflows.RealExpressionSelect",
                  "real:function:abs" : "#/components/schemas/Workflows.RealFunctionAbs",
                  "real:function:acos" : "#/components/schemas/Workflows.RealFunctionACos",
                  "real:function:asin" : "#/components/schemas/Workflows.RealFunctionASin",
                  "real:function:atan" : "#/components/schemas/Workflows.RealFunctionATan",
                  "real:function:atan2" : "#/components/schemas/Workflows.RealFunctionATan2",
                  "real:function:cbrt" : "#/components/schemas/Workflows.RealFunctionCbrt",
                  "real:function:cos" : "#/components/schemas/Workflows.RealFunctionCos",
                  "real:function:exp" : "#/components/schemas/Workflows.RealFunctionExp",
                  "real:function:log" : "#/components/schemas/Workflows.RealFunctionLog",
                  "real:function:log10" : "#/components/schemas/Workflows.RealFunctionLog10",
                  "real:function:max" : "#/components/schemas/Workflows.RealFunctionMax",
                  "real:function:min" : "#/components/schemas/Workflows.RealFunctionMin",
                  "real:function:pow" : "#/components/schemas/Workflows.RealFunctionPow",
                  "real:function:sin" : "#/components/schemas/Workflows.RealFunctionSin",
                  "real:function:sqrt" : "#/components/schemas/Workflows.RealFunctionSqrt",
                  "real:function:tan" : "#/components/schemas/Workflows.RealFunctionTan",
                  "real:operation:div" : "#/components/schemas/Workflows.RealOperationDiv",
                  "real:operation:minus" : "#/components/schemas/Workflows.RealOperationMinus",
                  "real:operation:plus" : "#/components/schemas/Workflows.RealOperationPlus",
                  "real:operation:times" : "#/components/schemas/Workflows.RealOperationTimes",
                  "real:reference" : "#/components/schemas/Workflows.RealReference",
                  "string:conversion:to_real" : "#/components/schemas/Workflows.StringToRealValueConversion"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.RealFunctionATan" : {
        "description" : "Value model to calculate the arctangent of a real number.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.RealValue"
        }, {
          "type" : "object",
          "properties" : {
            "argument" : {
              "description" : "Value model for a 64-bit double precision floating point number. Resolves to a double JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "dimensional_scalar:conversion:to_real" : "#/components/schemas/Workflows.DimensionalScalarToRealValueConversion",
                  "integer:conversion:to_real" : "#/components/schemas/Workflows.IntegerToRealValueConversion",
                  "list:function:real_sum" : "#/components/schemas/Workflows.ValueListFunctionRealSum",
                  "real:constant" : "#/components/schemas/Workflows.RealConstant",
                  "real:expression:select" : "#/components/schemas/Workflows.RealExpressionSelect",
                  "real:function:abs" : "#/components/schemas/Workflows.RealFunctionAbs",
                  "real:function:acos" : "#/components/schemas/Workflows.RealFunctionACos",
                  "real:function:asin" : "#/components/schemas/Workflows.RealFunctionASin",
                  "real:function:atan" : "#/components/schemas/Workflows.RealFunctionATan",
                  "real:function:atan2" : "#/components/schemas/Workflows.RealFunctionATan2",
                  "real:function:cbrt" : "#/components/schemas/Workflows.RealFunctionCbrt",
                  "real:function:cos" : "#/components/schemas/Workflows.RealFunctionCos",
                  "real:function:exp" : "#/components/schemas/Workflows.RealFunctionExp",
                  "real:function:log" : "#/components/schemas/Workflows.RealFunctionLog",
                  "real:function:log10" : "#/components/schemas/Workflows.RealFunctionLog10",
                  "real:function:max" : "#/components/schemas/Workflows.RealFunctionMax",
                  "real:function:min" : "#/components/schemas/Workflows.RealFunctionMin",
                  "real:function:pow" : "#/components/schemas/Workflows.RealFunctionPow",
                  "real:function:sin" : "#/components/schemas/Workflows.RealFunctionSin",
                  "real:function:sqrt" : "#/components/schemas/Workflows.RealFunctionSqrt",
                  "real:function:tan" : "#/components/schemas/Workflows.RealFunctionTan",
                  "real:operation:div" : "#/components/schemas/Workflows.RealOperationDiv",
                  "real:operation:minus" : "#/components/schemas/Workflows.RealOperationMinus",
                  "real:operation:plus" : "#/components/schemas/Workflows.RealOperationPlus",
                  "real:operation:times" : "#/components/schemas/Workflows.RealOperationTimes",
                  "real:reference" : "#/components/schemas/Workflows.RealReference",
                  "string:conversion:to_real" : "#/components/schemas/Workflows.StringToRealValueConversion"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.RealFunctionATan2" : {
        "description" : "Value model to calculate the 2-argument arctangent based on two real numbers.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.RealValue"
        }, {
          "type" : "object",
          "properties" : {
            "argument1" : {
              "description" : "Value model for a 64-bit double precision floating point number. Resolves to a double JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "dimensional_scalar:conversion:to_real" : "#/components/schemas/Workflows.DimensionalScalarToRealValueConversion",
                  "integer:conversion:to_real" : "#/components/schemas/Workflows.IntegerToRealValueConversion",
                  "list:function:real_sum" : "#/components/schemas/Workflows.ValueListFunctionRealSum",
                  "real:constant" : "#/components/schemas/Workflows.RealConstant",
                  "real:expression:select" : "#/components/schemas/Workflows.RealExpressionSelect",
                  "real:function:abs" : "#/components/schemas/Workflows.RealFunctionAbs",
                  "real:function:acos" : "#/components/schemas/Workflows.RealFunctionACos",
                  "real:function:asin" : "#/components/schemas/Workflows.RealFunctionASin",
                  "real:function:atan" : "#/components/schemas/Workflows.RealFunctionATan",
                  "real:function:atan2" : "#/components/schemas/Workflows.RealFunctionATan2",
                  "real:function:cbrt" : "#/components/schemas/Workflows.RealFunctionCbrt",
                  "real:function:cos" : "#/components/schemas/Workflows.RealFunctionCos",
                  "real:function:exp" : "#/components/schemas/Workflows.RealFunctionExp",
                  "real:function:log" : "#/components/schemas/Workflows.RealFunctionLog",
                  "real:function:log10" : "#/components/schemas/Workflows.RealFunctionLog10",
                  "real:function:max" : "#/components/schemas/Workflows.RealFunctionMax",
                  "real:function:min" : "#/components/schemas/Workflows.RealFunctionMin",
                  "real:function:pow" : "#/components/schemas/Workflows.RealFunctionPow",
                  "real:function:sin" : "#/components/schemas/Workflows.RealFunctionSin",
                  "real:function:sqrt" : "#/components/schemas/Workflows.RealFunctionSqrt",
                  "real:function:tan" : "#/components/schemas/Workflows.RealFunctionTan",
                  "real:operation:div" : "#/components/schemas/Workflows.RealOperationDiv",
                  "real:operation:minus" : "#/components/schemas/Workflows.RealOperationMinus",
                  "real:operation:plus" : "#/components/schemas/Workflows.RealOperationPlus",
                  "real:operation:times" : "#/components/schemas/Workflows.RealOperationTimes",
                  "real:reference" : "#/components/schemas/Workflows.RealReference",
                  "string:conversion:to_real" : "#/components/schemas/Workflows.StringToRealValueConversion"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            },
            "argument2" : {
              "description" : "Value model for a 64-bit double precision floating point number. Resolves to a double JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "dimensional_scalar:conversion:to_real" : "#/components/schemas/Workflows.DimensionalScalarToRealValueConversion",
                  "integer:conversion:to_real" : "#/components/schemas/Workflows.IntegerToRealValueConversion",
                  "list:function:real_sum" : "#/components/schemas/Workflows.ValueListFunctionRealSum",
                  "real:constant" : "#/components/schemas/Workflows.RealConstant",
                  "real:expression:select" : "#/components/schemas/Workflows.RealExpressionSelect",
                  "real:function:abs" : "#/components/schemas/Workflows.RealFunctionAbs",
                  "real:function:acos" : "#/components/schemas/Workflows.RealFunctionACos",
                  "real:function:asin" : "#/components/schemas/Workflows.RealFunctionASin",
                  "real:function:atan" : "#/components/schemas/Workflows.RealFunctionATan",
                  "real:function:atan2" : "#/components/schemas/Workflows.RealFunctionATan2",
                  "real:function:cbrt" : "#/components/schemas/Workflows.RealFunctionCbrt",
                  "real:function:cos" : "#/components/schemas/Workflows.RealFunctionCos",
                  "real:function:exp" : "#/components/schemas/Workflows.RealFunctionExp",
                  "real:function:log" : "#/components/schemas/Workflows.RealFunctionLog",
                  "real:function:log10" : "#/components/schemas/Workflows.RealFunctionLog10",
                  "real:function:max" : "#/components/schemas/Workflows.RealFunctionMax",
                  "real:function:min" : "#/components/schemas/Workflows.RealFunctionMin",
                  "real:function:pow" : "#/components/schemas/Workflows.RealFunctionPow",
                  "real:function:sin" : "#/components/schemas/Workflows.RealFunctionSin",
                  "real:function:sqrt" : "#/components/schemas/Workflows.RealFunctionSqrt",
                  "real:function:tan" : "#/components/schemas/Workflows.RealFunctionTan",
                  "real:operation:div" : "#/components/schemas/Workflows.RealOperationDiv",
                  "real:operation:minus" : "#/components/schemas/Workflows.RealOperationMinus",
                  "real:operation:plus" : "#/components/schemas/Workflows.RealOperationPlus",
                  "real:operation:times" : "#/components/schemas/Workflows.RealOperationTimes",
                  "real:reference" : "#/components/schemas/Workflows.RealReference",
                  "string:conversion:to_real" : "#/components/schemas/Workflows.StringToRealValueConversion"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        } ],
        "default" : null
      },
      "Workflows.RealFunctionAbs" : {
        "description" : "Value model to calculate the absolute value of a real value.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.RealValue"
        }, {
          "type" : "object",
          "properties" : {
            "argument" : {
              "description" : "Value model for a 64-bit double precision floating point number. Resolves to a double JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "dimensional_scalar:conversion:to_real" : "#/components/schemas/Workflows.DimensionalScalarToRealValueConversion",
                  "integer:conversion:to_real" : "#/components/schemas/Workflows.IntegerToRealValueConversion",
                  "list:function:real_sum" : "#/components/schemas/Workflows.ValueListFunctionRealSum",
                  "real:constant" : "#/components/schemas/Workflows.RealConstant",
                  "real:expression:select" : "#/components/schemas/Workflows.RealExpressionSelect",
                  "real:function:abs" : "#/components/schemas/Workflows.RealFunctionAbs",
                  "real:function:acos" : "#/components/schemas/Workflows.RealFunctionACos",
                  "real:function:asin" : "#/components/schemas/Workflows.RealFunctionASin",
                  "real:function:atan" : "#/components/schemas/Workflows.RealFunctionATan",
                  "real:function:atan2" : "#/components/schemas/Workflows.RealFunctionATan2",
                  "real:function:cbrt" : "#/components/schemas/Workflows.RealFunctionCbrt",
                  "real:function:cos" : "#/components/schemas/Workflows.RealFunctionCos",
                  "real:function:exp" : "#/components/schemas/Workflows.RealFunctionExp",
                  "real:function:log" : "#/components/schemas/Workflows.RealFunctionLog",
                  "real:function:log10" : "#/components/schemas/Workflows.RealFunctionLog10",
                  "real:function:max" : "#/components/schemas/Workflows.RealFunctionMax",
                  "real:function:min" : "#/components/schemas/Workflows.RealFunctionMin",
                  "real:function:pow" : "#/components/schemas/Workflows.RealFunctionPow",
                  "real:function:sin" : "#/components/schemas/Workflows.RealFunctionSin",
                  "real:function:sqrt" : "#/components/schemas/Workflows.RealFunctionSqrt",
                  "real:function:tan" : "#/components/schemas/Workflows.RealFunctionTan",
                  "real:operation:div" : "#/components/schemas/Workflows.RealOperationDiv",
                  "real:operation:minus" : "#/components/schemas/Workflows.RealOperationMinus",
                  "real:operation:plus" : "#/components/schemas/Workflows.RealOperationPlus",
                  "real:operation:times" : "#/components/schemas/Workflows.RealOperationTimes",
                  "real:reference" : "#/components/schemas/Workflows.RealReference",
                  "string:conversion:to_real" : "#/components/schemas/Workflows.StringToRealValueConversion"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.RealFunctionCbrt" : {
        "description" : "Value model to calculate the cube root of a real value.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.RealValue"
        }, {
          "type" : "object",
          "properties" : {
            "argument" : {
              "description" : "Value model for a 64-bit double precision floating point number. Resolves to a double JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "dimensional_scalar:conversion:to_real" : "#/components/schemas/Workflows.DimensionalScalarToRealValueConversion",
                  "integer:conversion:to_real" : "#/components/schemas/Workflows.IntegerToRealValueConversion",
                  "list:function:real_sum" : "#/components/schemas/Workflows.ValueListFunctionRealSum",
                  "real:constant" : "#/components/schemas/Workflows.RealConstant",
                  "real:expression:select" : "#/components/schemas/Workflows.RealExpressionSelect",
                  "real:function:abs" : "#/components/schemas/Workflows.RealFunctionAbs",
                  "real:function:acos" : "#/components/schemas/Workflows.RealFunctionACos",
                  "real:function:asin" : "#/components/schemas/Workflows.RealFunctionASin",
                  "real:function:atan" : "#/components/schemas/Workflows.RealFunctionATan",
                  "real:function:atan2" : "#/components/schemas/Workflows.RealFunctionATan2",
                  "real:function:cbrt" : "#/components/schemas/Workflows.RealFunctionCbrt",
                  "real:function:cos" : "#/components/schemas/Workflows.RealFunctionCos",
                  "real:function:exp" : "#/components/schemas/Workflows.RealFunctionExp",
                  "real:function:log" : "#/components/schemas/Workflows.RealFunctionLog",
                  "real:function:log10" : "#/components/schemas/Workflows.RealFunctionLog10",
                  "real:function:max" : "#/components/schemas/Workflows.RealFunctionMax",
                  "real:function:min" : "#/components/schemas/Workflows.RealFunctionMin",
                  "real:function:pow" : "#/components/schemas/Workflows.RealFunctionPow",
                  "real:function:sin" : "#/components/schemas/Workflows.RealFunctionSin",
                  "real:function:sqrt" : "#/components/schemas/Workflows.RealFunctionSqrt",
                  "real:function:tan" : "#/components/schemas/Workflows.RealFunctionTan",
                  "real:operation:div" : "#/components/schemas/Workflows.RealOperationDiv",
                  "real:operation:minus" : "#/components/schemas/Workflows.RealOperationMinus",
                  "real:operation:plus" : "#/components/schemas/Workflows.RealOperationPlus",
                  "real:operation:times" : "#/components/schemas/Workflows.RealOperationTimes",
                  "real:reference" : "#/components/schemas/Workflows.RealReference",
                  "string:conversion:to_real" : "#/components/schemas/Workflows.StringToRealValueConversion"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.RealFunctionCos" : {
        "description" : "Value model to calculate the cosine of a real number.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.RealValue"
        }, {
          "type" : "object",
          "properties" : {
            "argument" : {
              "description" : "Value model for a 64-bit double precision floating point number. Resolves to a double JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "dimensional_scalar:conversion:to_real" : "#/components/schemas/Workflows.DimensionalScalarToRealValueConversion",
                  "integer:conversion:to_real" : "#/components/schemas/Workflows.IntegerToRealValueConversion",
                  "list:function:real_sum" : "#/components/schemas/Workflows.ValueListFunctionRealSum",
                  "real:constant" : "#/components/schemas/Workflows.RealConstant",
                  "real:expression:select" : "#/components/schemas/Workflows.RealExpressionSelect",
                  "real:function:abs" : "#/components/schemas/Workflows.RealFunctionAbs",
                  "real:function:acos" : "#/components/schemas/Workflows.RealFunctionACos",
                  "real:function:asin" : "#/components/schemas/Workflows.RealFunctionASin",
                  "real:function:atan" : "#/components/schemas/Workflows.RealFunctionATan",
                  "real:function:atan2" : "#/components/schemas/Workflows.RealFunctionATan2",
                  "real:function:cbrt" : "#/components/schemas/Workflows.RealFunctionCbrt",
                  "real:function:cos" : "#/components/schemas/Workflows.RealFunctionCos",
                  "real:function:exp" : "#/components/schemas/Workflows.RealFunctionExp",
                  "real:function:log" : "#/components/schemas/Workflows.RealFunctionLog",
                  "real:function:log10" : "#/components/schemas/Workflows.RealFunctionLog10",
                  "real:function:max" : "#/components/schemas/Workflows.RealFunctionMax",
                  "real:function:min" : "#/components/schemas/Workflows.RealFunctionMin",
                  "real:function:pow" : "#/components/schemas/Workflows.RealFunctionPow",
                  "real:function:sin" : "#/components/schemas/Workflows.RealFunctionSin",
                  "real:function:sqrt" : "#/components/schemas/Workflows.RealFunctionSqrt",
                  "real:function:tan" : "#/components/schemas/Workflows.RealFunctionTan",
                  "real:operation:div" : "#/components/schemas/Workflows.RealOperationDiv",
                  "real:operation:minus" : "#/components/schemas/Workflows.RealOperationMinus",
                  "real:operation:plus" : "#/components/schemas/Workflows.RealOperationPlus",
                  "real:operation:times" : "#/components/schemas/Workflows.RealOperationTimes",
                  "real:reference" : "#/components/schemas/Workflows.RealReference",
                  "string:conversion:to_real" : "#/components/schemas/Workflows.StringToRealValueConversion"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.RealFunctionExp" : {
        "description" : "Value model to apply the natural exponential function to a real value.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.RealValue"
        }, {
          "type" : "object",
          "properties" : {
            "argument" : {
              "description" : "Value model for a 64-bit double precision floating point number. Resolves to a double JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "dimensional_scalar:conversion:to_real" : "#/components/schemas/Workflows.DimensionalScalarToRealValueConversion",
                  "integer:conversion:to_real" : "#/components/schemas/Workflows.IntegerToRealValueConversion",
                  "list:function:real_sum" : "#/components/schemas/Workflows.ValueListFunctionRealSum",
                  "real:constant" : "#/components/schemas/Workflows.RealConstant",
                  "real:expression:select" : "#/components/schemas/Workflows.RealExpressionSelect",
                  "real:function:abs" : "#/components/schemas/Workflows.RealFunctionAbs",
                  "real:function:acos" : "#/components/schemas/Workflows.RealFunctionACos",
                  "real:function:asin" : "#/components/schemas/Workflows.RealFunctionASin",
                  "real:function:atan" : "#/components/schemas/Workflows.RealFunctionATan",
                  "real:function:atan2" : "#/components/schemas/Workflows.RealFunctionATan2",
                  "real:function:cbrt" : "#/components/schemas/Workflows.RealFunctionCbrt",
                  "real:function:cos" : "#/components/schemas/Workflows.RealFunctionCos",
                  "real:function:exp" : "#/components/schemas/Workflows.RealFunctionExp",
                  "real:function:log" : "#/components/schemas/Workflows.RealFunctionLog",
                  "real:function:log10" : "#/components/schemas/Workflows.RealFunctionLog10",
                  "real:function:max" : "#/components/schemas/Workflows.RealFunctionMax",
                  "real:function:min" : "#/components/schemas/Workflows.RealFunctionMin",
                  "real:function:pow" : "#/components/schemas/Workflows.RealFunctionPow",
                  "real:function:sin" : "#/components/schemas/Workflows.RealFunctionSin",
                  "real:function:sqrt" : "#/components/schemas/Workflows.RealFunctionSqrt",
                  "real:function:tan" : "#/components/schemas/Workflows.RealFunctionTan",
                  "real:operation:div" : "#/components/schemas/Workflows.RealOperationDiv",
                  "real:operation:minus" : "#/components/schemas/Workflows.RealOperationMinus",
                  "real:operation:plus" : "#/components/schemas/Workflows.RealOperationPlus",
                  "real:operation:times" : "#/components/schemas/Workflows.RealOperationTimes",
                  "real:reference" : "#/components/schemas/Workflows.RealReference",
                  "string:conversion:to_real" : "#/components/schemas/Workflows.StringToRealValueConversion"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.RealFunctionLog" : {
        "description" : "Value model to calculate the logarithm of a real value.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.RealValue"
        }, {
          "type" : "object",
          "properties" : {
            "argument1" : {
              "$ref" : "#/components/schemas/Workflows.RealValue"
            },
            "argument2" : {
              "description" : "Value model for a 64-bit double precision floating point number. Resolves to a double JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "dimensional_scalar:conversion:to_real" : "#/components/schemas/Workflows.DimensionalScalarToRealValueConversion",
                  "integer:conversion:to_real" : "#/components/schemas/Workflows.IntegerToRealValueConversion",
                  "list:function:real_sum" : "#/components/schemas/Workflows.ValueListFunctionRealSum",
                  "real:constant" : "#/components/schemas/Workflows.RealConstant",
                  "real:expression:select" : "#/components/schemas/Workflows.RealExpressionSelect",
                  "real:function:abs" : "#/components/schemas/Workflows.RealFunctionAbs",
                  "real:function:acos" : "#/components/schemas/Workflows.RealFunctionACos",
                  "real:function:asin" : "#/components/schemas/Workflows.RealFunctionASin",
                  "real:function:atan" : "#/components/schemas/Workflows.RealFunctionATan",
                  "real:function:atan2" : "#/components/schemas/Workflows.RealFunctionATan2",
                  "real:function:cbrt" : "#/components/schemas/Workflows.RealFunctionCbrt",
                  "real:function:cos" : "#/components/schemas/Workflows.RealFunctionCos",
                  "real:function:exp" : "#/components/schemas/Workflows.RealFunctionExp",
                  "real:function:log" : "#/components/schemas/Workflows.RealFunctionLog",
                  "real:function:log10" : "#/components/schemas/Workflows.RealFunctionLog10",
                  "real:function:max" : "#/components/schemas/Workflows.RealFunctionMax",
                  "real:function:min" : "#/components/schemas/Workflows.RealFunctionMin",
                  "real:function:pow" : "#/components/schemas/Workflows.RealFunctionPow",
                  "real:function:sin" : "#/components/schemas/Workflows.RealFunctionSin",
                  "real:function:sqrt" : "#/components/schemas/Workflows.RealFunctionSqrt",
                  "real:function:tan" : "#/components/schemas/Workflows.RealFunctionTan",
                  "real:operation:div" : "#/components/schemas/Workflows.RealOperationDiv",
                  "real:operation:minus" : "#/components/schemas/Workflows.RealOperationMinus",
                  "real:operation:plus" : "#/components/schemas/Workflows.RealOperationPlus",
                  "real:operation:times" : "#/components/schemas/Workflows.RealOperationTimes",
                  "real:reference" : "#/components/schemas/Workflows.RealReference",
                  "string:conversion:to_real" : "#/components/schemas/Workflows.StringToRealValueConversion"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        } ],
        "default" : null
      },
      "Workflows.RealFunctionLog10" : {
        "description" : "Value model to calculate the 10-based logarithm of a real value.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.RealValue"
        }, {
          "type" : "object",
          "properties" : {
            "argument" : {
              "description" : "Value model for a 64-bit double precision floating point number. Resolves to a double JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "dimensional_scalar:conversion:to_real" : "#/components/schemas/Workflows.DimensionalScalarToRealValueConversion",
                  "integer:conversion:to_real" : "#/components/schemas/Workflows.IntegerToRealValueConversion",
                  "list:function:real_sum" : "#/components/schemas/Workflows.ValueListFunctionRealSum",
                  "real:constant" : "#/components/schemas/Workflows.RealConstant",
                  "real:expression:select" : "#/components/schemas/Workflows.RealExpressionSelect",
                  "real:function:abs" : "#/components/schemas/Workflows.RealFunctionAbs",
                  "real:function:acos" : "#/components/schemas/Workflows.RealFunctionACos",
                  "real:function:asin" : "#/components/schemas/Workflows.RealFunctionASin",
                  "real:function:atan" : "#/components/schemas/Workflows.RealFunctionATan",
                  "real:function:atan2" : "#/components/schemas/Workflows.RealFunctionATan2",
                  "real:function:cbrt" : "#/components/schemas/Workflows.RealFunctionCbrt",
                  "real:function:cos" : "#/components/schemas/Workflows.RealFunctionCos",
                  "real:function:exp" : "#/components/schemas/Workflows.RealFunctionExp",
                  "real:function:log" : "#/components/schemas/Workflows.RealFunctionLog",
                  "real:function:log10" : "#/components/schemas/Workflows.RealFunctionLog10",
                  "real:function:max" : "#/components/schemas/Workflows.RealFunctionMax",
                  "real:function:min" : "#/components/schemas/Workflows.RealFunctionMin",
                  "real:function:pow" : "#/components/schemas/Workflows.RealFunctionPow",
                  "real:function:sin" : "#/components/schemas/Workflows.RealFunctionSin",
                  "real:function:sqrt" : "#/components/schemas/Workflows.RealFunctionSqrt",
                  "real:function:tan" : "#/components/schemas/Workflows.RealFunctionTan",
                  "real:operation:div" : "#/components/schemas/Workflows.RealOperationDiv",
                  "real:operation:minus" : "#/components/schemas/Workflows.RealOperationMinus",
                  "real:operation:plus" : "#/components/schemas/Workflows.RealOperationPlus",
                  "real:operation:times" : "#/components/schemas/Workflows.RealOperationTimes",
                  "real:reference" : "#/components/schemas/Workflows.RealReference",
                  "string:conversion:to_real" : "#/components/schemas/Workflows.StringToRealValueConversion"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.RealFunctionMax" : {
        "description" : "Value model to calculate the maximum of two real values.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.RealValue"
        }, {
          "type" : "object",
          "properties" : {
            "argument1" : {
              "description" : "Value model for a 64-bit double precision floating point number. Resolves to a double JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "dimensional_scalar:conversion:to_real" : "#/components/schemas/Workflows.DimensionalScalarToRealValueConversion",
                  "integer:conversion:to_real" : "#/components/schemas/Workflows.IntegerToRealValueConversion",
                  "list:function:real_sum" : "#/components/schemas/Workflows.ValueListFunctionRealSum",
                  "real:constant" : "#/components/schemas/Workflows.RealConstant",
                  "real:expression:select" : "#/components/schemas/Workflows.RealExpressionSelect",
                  "real:function:abs" : "#/components/schemas/Workflows.RealFunctionAbs",
                  "real:function:acos" : "#/components/schemas/Workflows.RealFunctionACos",
                  "real:function:asin" : "#/components/schemas/Workflows.RealFunctionASin",
                  "real:function:atan" : "#/components/schemas/Workflows.RealFunctionATan",
                  "real:function:atan2" : "#/components/schemas/Workflows.RealFunctionATan2",
                  "real:function:cbrt" : "#/components/schemas/Workflows.RealFunctionCbrt",
                  "real:function:cos" : "#/components/schemas/Workflows.RealFunctionCos",
                  "real:function:exp" : "#/components/schemas/Workflows.RealFunctionExp",
                  "real:function:log" : "#/components/schemas/Workflows.RealFunctionLog",
                  "real:function:log10" : "#/components/schemas/Workflows.RealFunctionLog10",
                  "real:function:max" : "#/components/schemas/Workflows.RealFunctionMax",
                  "real:function:min" : "#/components/schemas/Workflows.RealFunctionMin",
                  "real:function:pow" : "#/components/schemas/Workflows.RealFunctionPow",
                  "real:function:sin" : "#/components/schemas/Workflows.RealFunctionSin",
                  "real:function:sqrt" : "#/components/schemas/Workflows.RealFunctionSqrt",
                  "real:function:tan" : "#/components/schemas/Workflows.RealFunctionTan",
                  "real:operation:div" : "#/components/schemas/Workflows.RealOperationDiv",
                  "real:operation:minus" : "#/components/schemas/Workflows.RealOperationMinus",
                  "real:operation:plus" : "#/components/schemas/Workflows.RealOperationPlus",
                  "real:operation:times" : "#/components/schemas/Workflows.RealOperationTimes",
                  "real:reference" : "#/components/schemas/Workflows.RealReference",
                  "string:conversion:to_real" : "#/components/schemas/Workflows.StringToRealValueConversion"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            },
            "argument2" : {
              "description" : "Value model for a 64-bit double precision floating point number. Resolves to a double JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "dimensional_scalar:conversion:to_real" : "#/components/schemas/Workflows.DimensionalScalarToRealValueConversion",
                  "integer:conversion:to_real" : "#/components/schemas/Workflows.IntegerToRealValueConversion",
                  "list:function:real_sum" : "#/components/schemas/Workflows.ValueListFunctionRealSum",
                  "real:constant" : "#/components/schemas/Workflows.RealConstant",
                  "real:expression:select" : "#/components/schemas/Workflows.RealExpressionSelect",
                  "real:function:abs" : "#/components/schemas/Workflows.RealFunctionAbs",
                  "real:function:acos" : "#/components/schemas/Workflows.RealFunctionACos",
                  "real:function:asin" : "#/components/schemas/Workflows.RealFunctionASin",
                  "real:function:atan" : "#/components/schemas/Workflows.RealFunctionATan",
                  "real:function:atan2" : "#/components/schemas/Workflows.RealFunctionATan2",
                  "real:function:cbrt" : "#/components/schemas/Workflows.RealFunctionCbrt",
                  "real:function:cos" : "#/components/schemas/Workflows.RealFunctionCos",
                  "real:function:exp" : "#/components/schemas/Workflows.RealFunctionExp",
                  "real:function:log" : "#/components/schemas/Workflows.RealFunctionLog",
                  "real:function:log10" : "#/components/schemas/Workflows.RealFunctionLog10",
                  "real:function:max" : "#/components/schemas/Workflows.RealFunctionMax",
                  "real:function:min" : "#/components/schemas/Workflows.RealFunctionMin",
                  "real:function:pow" : "#/components/schemas/Workflows.RealFunctionPow",
                  "real:function:sin" : "#/components/schemas/Workflows.RealFunctionSin",
                  "real:function:sqrt" : "#/components/schemas/Workflows.RealFunctionSqrt",
                  "real:function:tan" : "#/components/schemas/Workflows.RealFunctionTan",
                  "real:operation:div" : "#/components/schemas/Workflows.RealOperationDiv",
                  "real:operation:minus" : "#/components/schemas/Workflows.RealOperationMinus",
                  "real:operation:plus" : "#/components/schemas/Workflows.RealOperationPlus",
                  "real:operation:times" : "#/components/schemas/Workflows.RealOperationTimes",
                  "real:reference" : "#/components/schemas/Workflows.RealReference",
                  "string:conversion:to_real" : "#/components/schemas/Workflows.StringToRealValueConversion"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.RealFunctionMin" : {
        "description" : "Value model to calculate the maximum of two real values.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.RealValue"
        }, {
          "type" : "object",
          "properties" : {
            "argument1" : {
              "description" : "Value model for a 64-bit double precision floating point number. Resolves to a double JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "dimensional_scalar:conversion:to_real" : "#/components/schemas/Workflows.DimensionalScalarToRealValueConversion",
                  "integer:conversion:to_real" : "#/components/schemas/Workflows.IntegerToRealValueConversion",
                  "list:function:real_sum" : "#/components/schemas/Workflows.ValueListFunctionRealSum",
                  "real:constant" : "#/components/schemas/Workflows.RealConstant",
                  "real:expression:select" : "#/components/schemas/Workflows.RealExpressionSelect",
                  "real:function:abs" : "#/components/schemas/Workflows.RealFunctionAbs",
                  "real:function:acos" : "#/components/schemas/Workflows.RealFunctionACos",
                  "real:function:asin" : "#/components/schemas/Workflows.RealFunctionASin",
                  "real:function:atan" : "#/components/schemas/Workflows.RealFunctionATan",
                  "real:function:atan2" : "#/components/schemas/Workflows.RealFunctionATan2",
                  "real:function:cbrt" : "#/components/schemas/Workflows.RealFunctionCbrt",
                  "real:function:cos" : "#/components/schemas/Workflows.RealFunctionCos",
                  "real:function:exp" : "#/components/schemas/Workflows.RealFunctionExp",
                  "real:function:log" : "#/components/schemas/Workflows.RealFunctionLog",
                  "real:function:log10" : "#/components/schemas/Workflows.RealFunctionLog10",
                  "real:function:max" : "#/components/schemas/Workflows.RealFunctionMax",
                  "real:function:min" : "#/components/schemas/Workflows.RealFunctionMin",
                  "real:function:pow" : "#/components/schemas/Workflows.RealFunctionPow",
                  "real:function:sin" : "#/components/schemas/Workflows.RealFunctionSin",
                  "real:function:sqrt" : "#/components/schemas/Workflows.RealFunctionSqrt",
                  "real:function:tan" : "#/components/schemas/Workflows.RealFunctionTan",
                  "real:operation:div" : "#/components/schemas/Workflows.RealOperationDiv",
                  "real:operation:minus" : "#/components/schemas/Workflows.RealOperationMinus",
                  "real:operation:plus" : "#/components/schemas/Workflows.RealOperationPlus",
                  "real:operation:times" : "#/components/schemas/Workflows.RealOperationTimes",
                  "real:reference" : "#/components/schemas/Workflows.RealReference",
                  "string:conversion:to_real" : "#/components/schemas/Workflows.StringToRealValueConversion"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            },
            "argument2" : {
              "description" : "Value model for a 64-bit double precision floating point number. Resolves to a double JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "dimensional_scalar:conversion:to_real" : "#/components/schemas/Workflows.DimensionalScalarToRealValueConversion",
                  "integer:conversion:to_real" : "#/components/schemas/Workflows.IntegerToRealValueConversion",
                  "list:function:real_sum" : "#/components/schemas/Workflows.ValueListFunctionRealSum",
                  "real:constant" : "#/components/schemas/Workflows.RealConstant",
                  "real:expression:select" : "#/components/schemas/Workflows.RealExpressionSelect",
                  "real:function:abs" : "#/components/schemas/Workflows.RealFunctionAbs",
                  "real:function:acos" : "#/components/schemas/Workflows.RealFunctionACos",
                  "real:function:asin" : "#/components/schemas/Workflows.RealFunctionASin",
                  "real:function:atan" : "#/components/schemas/Workflows.RealFunctionATan",
                  "real:function:atan2" : "#/components/schemas/Workflows.RealFunctionATan2",
                  "real:function:cbrt" : "#/components/schemas/Workflows.RealFunctionCbrt",
                  "real:function:cos" : "#/components/schemas/Workflows.RealFunctionCos",
                  "real:function:exp" : "#/components/schemas/Workflows.RealFunctionExp",
                  "real:function:log" : "#/components/schemas/Workflows.RealFunctionLog",
                  "real:function:log10" : "#/components/schemas/Workflows.RealFunctionLog10",
                  "real:function:max" : "#/components/schemas/Workflows.RealFunctionMax",
                  "real:function:min" : "#/components/schemas/Workflows.RealFunctionMin",
                  "real:function:pow" : "#/components/schemas/Workflows.RealFunctionPow",
                  "real:function:sin" : "#/components/schemas/Workflows.RealFunctionSin",
                  "real:function:sqrt" : "#/components/schemas/Workflows.RealFunctionSqrt",
                  "real:function:tan" : "#/components/schemas/Workflows.RealFunctionTan",
                  "real:operation:div" : "#/components/schemas/Workflows.RealOperationDiv",
                  "real:operation:minus" : "#/components/schemas/Workflows.RealOperationMinus",
                  "real:operation:plus" : "#/components/schemas/Workflows.RealOperationPlus",
                  "real:operation:times" : "#/components/schemas/Workflows.RealOperationTimes",
                  "real:reference" : "#/components/schemas/Workflows.RealReference",
                  "string:conversion:to_real" : "#/components/schemas/Workflows.StringToRealValueConversion"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.RealFunctionPow" : {
        "description" : "Value model for the exponentiation of real values.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.RealValue"
        }, {
          "type" : "object",
          "properties" : {
            "argument1" : {
              "description" : "Value model for a 64-bit double precision floating point number. Resolves to a double JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "dimensional_scalar:conversion:to_real" : "#/components/schemas/Workflows.DimensionalScalarToRealValueConversion",
                  "integer:conversion:to_real" : "#/components/schemas/Workflows.IntegerToRealValueConversion",
                  "list:function:real_sum" : "#/components/schemas/Workflows.ValueListFunctionRealSum",
                  "real:constant" : "#/components/schemas/Workflows.RealConstant",
                  "real:expression:select" : "#/components/schemas/Workflows.RealExpressionSelect",
                  "real:function:abs" : "#/components/schemas/Workflows.RealFunctionAbs",
                  "real:function:acos" : "#/components/schemas/Workflows.RealFunctionACos",
                  "real:function:asin" : "#/components/schemas/Workflows.RealFunctionASin",
                  "real:function:atan" : "#/components/schemas/Workflows.RealFunctionATan",
                  "real:function:atan2" : "#/components/schemas/Workflows.RealFunctionATan2",
                  "real:function:cbrt" : "#/components/schemas/Workflows.RealFunctionCbrt",
                  "real:function:cos" : "#/components/schemas/Workflows.RealFunctionCos",
                  "real:function:exp" : "#/components/schemas/Workflows.RealFunctionExp",
                  "real:function:log" : "#/components/schemas/Workflows.RealFunctionLog",
                  "real:function:log10" : "#/components/schemas/Workflows.RealFunctionLog10",
                  "real:function:max" : "#/components/schemas/Workflows.RealFunctionMax",
                  "real:function:min" : "#/components/schemas/Workflows.RealFunctionMin",
                  "real:function:pow" : "#/components/schemas/Workflows.RealFunctionPow",
                  "real:function:sin" : "#/components/schemas/Workflows.RealFunctionSin",
                  "real:function:sqrt" : "#/components/schemas/Workflows.RealFunctionSqrt",
                  "real:function:tan" : "#/components/schemas/Workflows.RealFunctionTan",
                  "real:operation:div" : "#/components/schemas/Workflows.RealOperationDiv",
                  "real:operation:minus" : "#/components/schemas/Workflows.RealOperationMinus",
                  "real:operation:plus" : "#/components/schemas/Workflows.RealOperationPlus",
                  "real:operation:times" : "#/components/schemas/Workflows.RealOperationTimes",
                  "real:reference" : "#/components/schemas/Workflows.RealReference",
                  "string:conversion:to_real" : "#/components/schemas/Workflows.StringToRealValueConversion"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            },
            "argument2" : {
              "description" : "Value model for a 64-bit double precision floating point number. Resolves to a double JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "dimensional_scalar:conversion:to_real" : "#/components/schemas/Workflows.DimensionalScalarToRealValueConversion",
                  "integer:conversion:to_real" : "#/components/schemas/Workflows.IntegerToRealValueConversion",
                  "list:function:real_sum" : "#/components/schemas/Workflows.ValueListFunctionRealSum",
                  "real:constant" : "#/components/schemas/Workflows.RealConstant",
                  "real:expression:select" : "#/components/schemas/Workflows.RealExpressionSelect",
                  "real:function:abs" : "#/components/schemas/Workflows.RealFunctionAbs",
                  "real:function:acos" : "#/components/schemas/Workflows.RealFunctionACos",
                  "real:function:asin" : "#/components/schemas/Workflows.RealFunctionASin",
                  "real:function:atan" : "#/components/schemas/Workflows.RealFunctionATan",
                  "real:function:atan2" : "#/components/schemas/Workflows.RealFunctionATan2",
                  "real:function:cbrt" : "#/components/schemas/Workflows.RealFunctionCbrt",
                  "real:function:cos" : "#/components/schemas/Workflows.RealFunctionCos",
                  "real:function:exp" : "#/components/schemas/Workflows.RealFunctionExp",
                  "real:function:log" : "#/components/schemas/Workflows.RealFunctionLog",
                  "real:function:log10" : "#/components/schemas/Workflows.RealFunctionLog10",
                  "real:function:max" : "#/components/schemas/Workflows.RealFunctionMax",
                  "real:function:min" : "#/components/schemas/Workflows.RealFunctionMin",
                  "real:function:pow" : "#/components/schemas/Workflows.RealFunctionPow",
                  "real:function:sin" : "#/components/schemas/Workflows.RealFunctionSin",
                  "real:function:sqrt" : "#/components/schemas/Workflows.RealFunctionSqrt",
                  "real:function:tan" : "#/components/schemas/Workflows.RealFunctionTan",
                  "real:operation:div" : "#/components/schemas/Workflows.RealOperationDiv",
                  "real:operation:minus" : "#/components/schemas/Workflows.RealOperationMinus",
                  "real:operation:plus" : "#/components/schemas/Workflows.RealOperationPlus",
                  "real:operation:times" : "#/components/schemas/Workflows.RealOperationTimes",
                  "real:reference" : "#/components/schemas/Workflows.RealReference",
                  "string:conversion:to_real" : "#/components/schemas/Workflows.StringToRealValueConversion"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.RealFunctionSin" : {
        "description" : "Value model to calculate the sine of a real number.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.RealValue"
        }, {
          "type" : "object",
          "properties" : {
            "argument" : {
              "description" : "Value model for a 64-bit double precision floating point number. Resolves to a double JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "dimensional_scalar:conversion:to_real" : "#/components/schemas/Workflows.DimensionalScalarToRealValueConversion",
                  "integer:conversion:to_real" : "#/components/schemas/Workflows.IntegerToRealValueConversion",
                  "list:function:real_sum" : "#/components/schemas/Workflows.ValueListFunctionRealSum",
                  "real:constant" : "#/components/schemas/Workflows.RealConstant",
                  "real:expression:select" : "#/components/schemas/Workflows.RealExpressionSelect",
                  "real:function:abs" : "#/components/schemas/Workflows.RealFunctionAbs",
                  "real:function:acos" : "#/components/schemas/Workflows.RealFunctionACos",
                  "real:function:asin" : "#/components/schemas/Workflows.RealFunctionASin",
                  "real:function:atan" : "#/components/schemas/Workflows.RealFunctionATan",
                  "real:function:atan2" : "#/components/schemas/Workflows.RealFunctionATan2",
                  "real:function:cbrt" : "#/components/schemas/Workflows.RealFunctionCbrt",
                  "real:function:cos" : "#/components/schemas/Workflows.RealFunctionCos",
                  "real:function:exp" : "#/components/schemas/Workflows.RealFunctionExp",
                  "real:function:log" : "#/components/schemas/Workflows.RealFunctionLog",
                  "real:function:log10" : "#/components/schemas/Workflows.RealFunctionLog10",
                  "real:function:max" : "#/components/schemas/Workflows.RealFunctionMax",
                  "real:function:min" : "#/components/schemas/Workflows.RealFunctionMin",
                  "real:function:pow" : "#/components/schemas/Workflows.RealFunctionPow",
                  "real:function:sin" : "#/components/schemas/Workflows.RealFunctionSin",
                  "real:function:sqrt" : "#/components/schemas/Workflows.RealFunctionSqrt",
                  "real:function:tan" : "#/components/schemas/Workflows.RealFunctionTan",
                  "real:operation:div" : "#/components/schemas/Workflows.RealOperationDiv",
                  "real:operation:minus" : "#/components/schemas/Workflows.RealOperationMinus",
                  "real:operation:plus" : "#/components/schemas/Workflows.RealOperationPlus",
                  "real:operation:times" : "#/components/schemas/Workflows.RealOperationTimes",
                  "real:reference" : "#/components/schemas/Workflows.RealReference",
                  "string:conversion:to_real" : "#/components/schemas/Workflows.StringToRealValueConversion"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        } ],
        "default" : null
      },
      "Workflows.RealFunctionSqrt" : {
        "description" : "Value model to calculate the square root of a real value.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.RealValue"
        }, {
          "type" : "object",
          "properties" : {
            "argument" : {
              "description" : "Value model for a 64-bit double precision floating point number. Resolves to a double JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "dimensional_scalar:conversion:to_real" : "#/components/schemas/Workflows.DimensionalScalarToRealValueConversion",
                  "integer:conversion:to_real" : "#/components/schemas/Workflows.IntegerToRealValueConversion",
                  "list:function:real_sum" : "#/components/schemas/Workflows.ValueListFunctionRealSum",
                  "real:constant" : "#/components/schemas/Workflows.RealConstant",
                  "real:expression:select" : "#/components/schemas/Workflows.RealExpressionSelect",
                  "real:function:abs" : "#/components/schemas/Workflows.RealFunctionAbs",
                  "real:function:acos" : "#/components/schemas/Workflows.RealFunctionACos",
                  "real:function:asin" : "#/components/schemas/Workflows.RealFunctionASin",
                  "real:function:atan" : "#/components/schemas/Workflows.RealFunctionATan",
                  "real:function:atan2" : "#/components/schemas/Workflows.RealFunctionATan2",
                  "real:function:cbrt" : "#/components/schemas/Workflows.RealFunctionCbrt",
                  "real:function:cos" : "#/components/schemas/Workflows.RealFunctionCos",
                  "real:function:exp" : "#/components/schemas/Workflows.RealFunctionExp",
                  "real:function:log" : "#/components/schemas/Workflows.RealFunctionLog",
                  "real:function:log10" : "#/components/schemas/Workflows.RealFunctionLog10",
                  "real:function:max" : "#/components/schemas/Workflows.RealFunctionMax",
                  "real:function:min" : "#/components/schemas/Workflows.RealFunctionMin",
                  "real:function:pow" : "#/components/schemas/Workflows.RealFunctionPow",
                  "real:function:sin" : "#/components/schemas/Workflows.RealFunctionSin",
                  "real:function:sqrt" : "#/components/schemas/Workflows.RealFunctionSqrt",
                  "real:function:tan" : "#/components/schemas/Workflows.RealFunctionTan",
                  "real:operation:div" : "#/components/schemas/Workflows.RealOperationDiv",
                  "real:operation:minus" : "#/components/schemas/Workflows.RealOperationMinus",
                  "real:operation:plus" : "#/components/schemas/Workflows.RealOperationPlus",
                  "real:operation:times" : "#/components/schemas/Workflows.RealOperationTimes",
                  "real:reference" : "#/components/schemas/Workflows.RealReference",
                  "string:conversion:to_real" : "#/components/schemas/Workflows.StringToRealValueConversion"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.RealFunctionTan" : {
        "description" : "Value model to calculate the tangent of a real number.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.RealValue"
        }, {
          "type" : "object",
          "properties" : {
            "argument" : {
              "description" : "Value model for a 64-bit double precision floating point number. Resolves to a double JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "dimensional_scalar:conversion:to_real" : "#/components/schemas/Workflows.DimensionalScalarToRealValueConversion",
                  "integer:conversion:to_real" : "#/components/schemas/Workflows.IntegerToRealValueConversion",
                  "list:function:real_sum" : "#/components/schemas/Workflows.ValueListFunctionRealSum",
                  "real:constant" : "#/components/schemas/Workflows.RealConstant",
                  "real:expression:select" : "#/components/schemas/Workflows.RealExpressionSelect",
                  "real:function:abs" : "#/components/schemas/Workflows.RealFunctionAbs",
                  "real:function:acos" : "#/components/schemas/Workflows.RealFunctionACos",
                  "real:function:asin" : "#/components/schemas/Workflows.RealFunctionASin",
                  "real:function:atan" : "#/components/schemas/Workflows.RealFunctionATan",
                  "real:function:atan2" : "#/components/schemas/Workflows.RealFunctionATan2",
                  "real:function:cbrt" : "#/components/schemas/Workflows.RealFunctionCbrt",
                  "real:function:cos" : "#/components/schemas/Workflows.RealFunctionCos",
                  "real:function:exp" : "#/components/schemas/Workflows.RealFunctionExp",
                  "real:function:log" : "#/components/schemas/Workflows.RealFunctionLog",
                  "real:function:log10" : "#/components/schemas/Workflows.RealFunctionLog10",
                  "real:function:max" : "#/components/schemas/Workflows.RealFunctionMax",
                  "real:function:min" : "#/components/schemas/Workflows.RealFunctionMin",
                  "real:function:pow" : "#/components/schemas/Workflows.RealFunctionPow",
                  "real:function:sin" : "#/components/schemas/Workflows.RealFunctionSin",
                  "real:function:sqrt" : "#/components/schemas/Workflows.RealFunctionSqrt",
                  "real:function:tan" : "#/components/schemas/Workflows.RealFunctionTan",
                  "real:operation:div" : "#/components/schemas/Workflows.RealOperationDiv",
                  "real:operation:minus" : "#/components/schemas/Workflows.RealOperationMinus",
                  "real:operation:plus" : "#/components/schemas/Workflows.RealOperationPlus",
                  "real:operation:times" : "#/components/schemas/Workflows.RealOperationTimes",
                  "real:reference" : "#/components/schemas/Workflows.RealReference",
                  "string:conversion:to_real" : "#/components/schemas/Workflows.StringToRealValueConversion"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.RealOperationDiv" : {
        "description" : "Value model for real number division.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.RealValue"
        }, {
          "type" : "object",
          "properties" : {
            "operandA" : {
              "description" : "Value model for a 64-bit double precision floating point number. Resolves to a double JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "dimensional_scalar:conversion:to_real" : "#/components/schemas/Workflows.DimensionalScalarToRealValueConversion",
                  "integer:conversion:to_real" : "#/components/schemas/Workflows.IntegerToRealValueConversion",
                  "list:function:real_sum" : "#/components/schemas/Workflows.ValueListFunctionRealSum",
                  "real:constant" : "#/components/schemas/Workflows.RealConstant",
                  "real:expression:select" : "#/components/schemas/Workflows.RealExpressionSelect",
                  "real:function:abs" : "#/components/schemas/Workflows.RealFunctionAbs",
                  "real:function:acos" : "#/components/schemas/Workflows.RealFunctionACos",
                  "real:function:asin" : "#/components/schemas/Workflows.RealFunctionASin",
                  "real:function:atan" : "#/components/schemas/Workflows.RealFunctionATan",
                  "real:function:atan2" : "#/components/schemas/Workflows.RealFunctionATan2",
                  "real:function:cbrt" : "#/components/schemas/Workflows.RealFunctionCbrt",
                  "real:function:cos" : "#/components/schemas/Workflows.RealFunctionCos",
                  "real:function:exp" : "#/components/schemas/Workflows.RealFunctionExp",
                  "real:function:log" : "#/components/schemas/Workflows.RealFunctionLog",
                  "real:function:log10" : "#/components/schemas/Workflows.RealFunctionLog10",
                  "real:function:max" : "#/components/schemas/Workflows.RealFunctionMax",
                  "real:function:min" : "#/components/schemas/Workflows.RealFunctionMin",
                  "real:function:pow" : "#/components/schemas/Workflows.RealFunctionPow",
                  "real:function:sin" : "#/components/schemas/Workflows.RealFunctionSin",
                  "real:function:sqrt" : "#/components/schemas/Workflows.RealFunctionSqrt",
                  "real:function:tan" : "#/components/schemas/Workflows.RealFunctionTan",
                  "real:operation:div" : "#/components/schemas/Workflows.RealOperationDiv",
                  "real:operation:minus" : "#/components/schemas/Workflows.RealOperationMinus",
                  "real:operation:plus" : "#/components/schemas/Workflows.RealOperationPlus",
                  "real:operation:times" : "#/components/schemas/Workflows.RealOperationTimes",
                  "real:reference" : "#/components/schemas/Workflows.RealReference",
                  "string:conversion:to_real" : "#/components/schemas/Workflows.StringToRealValueConversion"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            },
            "operandB" : {
              "description" : "Value model for a 64-bit double precision floating point number. Resolves to a double JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "dimensional_scalar:conversion:to_real" : "#/components/schemas/Workflows.DimensionalScalarToRealValueConversion",
                  "integer:conversion:to_real" : "#/components/schemas/Workflows.IntegerToRealValueConversion",
                  "list:function:real_sum" : "#/components/schemas/Workflows.ValueListFunctionRealSum",
                  "real:constant" : "#/components/schemas/Workflows.RealConstant",
                  "real:expression:select" : "#/components/schemas/Workflows.RealExpressionSelect",
                  "real:function:abs" : "#/components/schemas/Workflows.RealFunctionAbs",
                  "real:function:acos" : "#/components/schemas/Workflows.RealFunctionACos",
                  "real:function:asin" : "#/components/schemas/Workflows.RealFunctionASin",
                  "real:function:atan" : "#/components/schemas/Workflows.RealFunctionATan",
                  "real:function:atan2" : "#/components/schemas/Workflows.RealFunctionATan2",
                  "real:function:cbrt" : "#/components/schemas/Workflows.RealFunctionCbrt",
                  "real:function:cos" : "#/components/schemas/Workflows.RealFunctionCos",
                  "real:function:exp" : "#/components/schemas/Workflows.RealFunctionExp",
                  "real:function:log" : "#/components/schemas/Workflows.RealFunctionLog",
                  "real:function:log10" : "#/components/schemas/Workflows.RealFunctionLog10",
                  "real:function:max" : "#/components/schemas/Workflows.RealFunctionMax",
                  "real:function:min" : "#/components/schemas/Workflows.RealFunctionMin",
                  "real:function:pow" : "#/components/schemas/Workflows.RealFunctionPow",
                  "real:function:sin" : "#/components/schemas/Workflows.RealFunctionSin",
                  "real:function:sqrt" : "#/components/schemas/Workflows.RealFunctionSqrt",
                  "real:function:tan" : "#/components/schemas/Workflows.RealFunctionTan",
                  "real:operation:div" : "#/components/schemas/Workflows.RealOperationDiv",
                  "real:operation:minus" : "#/components/schemas/Workflows.RealOperationMinus",
                  "real:operation:plus" : "#/components/schemas/Workflows.RealOperationPlus",
                  "real:operation:times" : "#/components/schemas/Workflows.RealOperationTimes",
                  "real:reference" : "#/components/schemas/Workflows.RealReference",
                  "string:conversion:to_real" : "#/components/schemas/Workflows.StringToRealValueConversion"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.RealOperationMinus" : {
        "description" : "Value model for real number subtraction.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.RealValue"
        }, {
          "type" : "object",
          "properties" : {
            "operandA" : {
              "description" : "Value model for a 64-bit double precision floating point number. Resolves to a double JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "dimensional_scalar:conversion:to_real" : "#/components/schemas/Workflows.DimensionalScalarToRealValueConversion",
                  "integer:conversion:to_real" : "#/components/schemas/Workflows.IntegerToRealValueConversion",
                  "list:function:real_sum" : "#/components/schemas/Workflows.ValueListFunctionRealSum",
                  "real:constant" : "#/components/schemas/Workflows.RealConstant",
                  "real:expression:select" : "#/components/schemas/Workflows.RealExpressionSelect",
                  "real:function:abs" : "#/components/schemas/Workflows.RealFunctionAbs",
                  "real:function:acos" : "#/components/schemas/Workflows.RealFunctionACos",
                  "real:function:asin" : "#/components/schemas/Workflows.RealFunctionASin",
                  "real:function:atan" : "#/components/schemas/Workflows.RealFunctionATan",
                  "real:function:atan2" : "#/components/schemas/Workflows.RealFunctionATan2",
                  "real:function:cbrt" : "#/components/schemas/Workflows.RealFunctionCbrt",
                  "real:function:cos" : "#/components/schemas/Workflows.RealFunctionCos",
                  "real:function:exp" : "#/components/schemas/Workflows.RealFunctionExp",
                  "real:function:log" : "#/components/schemas/Workflows.RealFunctionLog",
                  "real:function:log10" : "#/components/schemas/Workflows.RealFunctionLog10",
                  "real:function:max" : "#/components/schemas/Workflows.RealFunctionMax",
                  "real:function:min" : "#/components/schemas/Workflows.RealFunctionMin",
                  "real:function:pow" : "#/components/schemas/Workflows.RealFunctionPow",
                  "real:function:sin" : "#/components/schemas/Workflows.RealFunctionSin",
                  "real:function:sqrt" : "#/components/schemas/Workflows.RealFunctionSqrt",
                  "real:function:tan" : "#/components/schemas/Workflows.RealFunctionTan",
                  "real:operation:div" : "#/components/schemas/Workflows.RealOperationDiv",
                  "real:operation:minus" : "#/components/schemas/Workflows.RealOperationMinus",
                  "real:operation:plus" : "#/components/schemas/Workflows.RealOperationPlus",
                  "real:operation:times" : "#/components/schemas/Workflows.RealOperationTimes",
                  "real:reference" : "#/components/schemas/Workflows.RealReference",
                  "string:conversion:to_real" : "#/components/schemas/Workflows.StringToRealValueConversion"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            },
            "operandB" : {
              "description" : "Value model for a 64-bit double precision floating point number. Resolves to a double JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "dimensional_scalar:conversion:to_real" : "#/components/schemas/Workflows.DimensionalScalarToRealValueConversion",
                  "integer:conversion:to_real" : "#/components/schemas/Workflows.IntegerToRealValueConversion",
                  "list:function:real_sum" : "#/components/schemas/Workflows.ValueListFunctionRealSum",
                  "real:constant" : "#/components/schemas/Workflows.RealConstant",
                  "real:expression:select" : "#/components/schemas/Workflows.RealExpressionSelect",
                  "real:function:abs" : "#/components/schemas/Workflows.RealFunctionAbs",
                  "real:function:acos" : "#/components/schemas/Workflows.RealFunctionACos",
                  "real:function:asin" : "#/components/schemas/Workflows.RealFunctionASin",
                  "real:function:atan" : "#/components/schemas/Workflows.RealFunctionATan",
                  "real:function:atan2" : "#/components/schemas/Workflows.RealFunctionATan2",
                  "real:function:cbrt" : "#/components/schemas/Workflows.RealFunctionCbrt",
                  "real:function:cos" : "#/components/schemas/Workflows.RealFunctionCos",
                  "real:function:exp" : "#/components/schemas/Workflows.RealFunctionExp",
                  "real:function:log" : "#/components/schemas/Workflows.RealFunctionLog",
                  "real:function:log10" : "#/components/schemas/Workflows.RealFunctionLog10",
                  "real:function:max" : "#/components/schemas/Workflows.RealFunctionMax",
                  "real:function:min" : "#/components/schemas/Workflows.RealFunctionMin",
                  "real:function:pow" : "#/components/schemas/Workflows.RealFunctionPow",
                  "real:function:sin" : "#/components/schemas/Workflows.RealFunctionSin",
                  "real:function:sqrt" : "#/components/schemas/Workflows.RealFunctionSqrt",
                  "real:function:tan" : "#/components/schemas/Workflows.RealFunctionTan",
                  "real:operation:div" : "#/components/schemas/Workflows.RealOperationDiv",
                  "real:operation:minus" : "#/components/schemas/Workflows.RealOperationMinus",
                  "real:operation:plus" : "#/components/schemas/Workflows.RealOperationPlus",
                  "real:operation:times" : "#/components/schemas/Workflows.RealOperationTimes",
                  "real:reference" : "#/components/schemas/Workflows.RealReference",
                  "string:conversion:to_real" : "#/components/schemas/Workflows.StringToRealValueConversion"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.RealOperationPlus" : {
        "description" : "Value model for real number addition.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.RealValue"
        }, {
          "type" : "object",
          "properties" : {
            "operandA" : {
              "$ref" : "#/components/schemas/Workflows.RealValue"
            },
            "operandB" : {
              "description" : "Value model for a 64-bit double precision floating point number. Resolves to a double JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "dimensional_scalar:conversion:to_real" : "#/components/schemas/Workflows.DimensionalScalarToRealValueConversion",
                  "integer:conversion:to_real" : "#/components/schemas/Workflows.IntegerToRealValueConversion",
                  "list:function:real_sum" : "#/components/schemas/Workflows.ValueListFunctionRealSum",
                  "real:constant" : "#/components/schemas/Workflows.RealConstant",
                  "real:expression:select" : "#/components/schemas/Workflows.RealExpressionSelect",
                  "real:function:abs" : "#/components/schemas/Workflows.RealFunctionAbs",
                  "real:function:acos" : "#/components/schemas/Workflows.RealFunctionACos",
                  "real:function:asin" : "#/components/schemas/Workflows.RealFunctionASin",
                  "real:function:atan" : "#/components/schemas/Workflows.RealFunctionATan",
                  "real:function:atan2" : "#/components/schemas/Workflows.RealFunctionATan2",
                  "real:function:cbrt" : "#/components/schemas/Workflows.RealFunctionCbrt",
                  "real:function:cos" : "#/components/schemas/Workflows.RealFunctionCos",
                  "real:function:exp" : "#/components/schemas/Workflows.RealFunctionExp",
                  "real:function:log" : "#/components/schemas/Workflows.RealFunctionLog",
                  "real:function:log10" : "#/components/schemas/Workflows.RealFunctionLog10",
                  "real:function:max" : "#/components/schemas/Workflows.RealFunctionMax",
                  "real:function:min" : "#/components/schemas/Workflows.RealFunctionMin",
                  "real:function:pow" : "#/components/schemas/Workflows.RealFunctionPow",
                  "real:function:sin" : "#/components/schemas/Workflows.RealFunctionSin",
                  "real:function:sqrt" : "#/components/schemas/Workflows.RealFunctionSqrt",
                  "real:function:tan" : "#/components/schemas/Workflows.RealFunctionTan",
                  "real:operation:div" : "#/components/schemas/Workflows.RealOperationDiv",
                  "real:operation:minus" : "#/components/schemas/Workflows.RealOperationMinus",
                  "real:operation:plus" : "#/components/schemas/Workflows.RealOperationPlus",
                  "real:operation:times" : "#/components/schemas/Workflows.RealOperationTimes",
                  "real:reference" : "#/components/schemas/Workflows.RealReference",
                  "string:conversion:to_real" : "#/components/schemas/Workflows.StringToRealValueConversion"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        } ],
        "default" : null
      },
      "Workflows.RealOperationTimes" : {
        "description" : "Value model for real number multiplication.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.RealValue"
        }, {
          "type" : "object",
          "properties" : {
            "operandA" : {
              "description" : "Value model for a 64-bit double precision floating point number. Resolves to a double JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "dimensional_scalar:conversion:to_real" : "#/components/schemas/Workflows.DimensionalScalarToRealValueConversion",
                  "integer:conversion:to_real" : "#/components/schemas/Workflows.IntegerToRealValueConversion",
                  "list:function:real_sum" : "#/components/schemas/Workflows.ValueListFunctionRealSum",
                  "real:constant" : "#/components/schemas/Workflows.RealConstant",
                  "real:expression:select" : "#/components/schemas/Workflows.RealExpressionSelect",
                  "real:function:abs" : "#/components/schemas/Workflows.RealFunctionAbs",
                  "real:function:acos" : "#/components/schemas/Workflows.RealFunctionACos",
                  "real:function:asin" : "#/components/schemas/Workflows.RealFunctionASin",
                  "real:function:atan" : "#/components/schemas/Workflows.RealFunctionATan",
                  "real:function:atan2" : "#/components/schemas/Workflows.RealFunctionATan2",
                  "real:function:cbrt" : "#/components/schemas/Workflows.RealFunctionCbrt",
                  "real:function:cos" : "#/components/schemas/Workflows.RealFunctionCos",
                  "real:function:exp" : "#/components/schemas/Workflows.RealFunctionExp",
                  "real:function:log" : "#/components/schemas/Workflows.RealFunctionLog",
                  "real:function:log10" : "#/components/schemas/Workflows.RealFunctionLog10",
                  "real:function:max" : "#/components/schemas/Workflows.RealFunctionMax",
                  "real:function:min" : "#/components/schemas/Workflows.RealFunctionMin",
                  "real:function:pow" : "#/components/schemas/Workflows.RealFunctionPow",
                  "real:function:sin" : "#/components/schemas/Workflows.RealFunctionSin",
                  "real:function:sqrt" : "#/components/schemas/Workflows.RealFunctionSqrt",
                  "real:function:tan" : "#/components/schemas/Workflows.RealFunctionTan",
                  "real:operation:div" : "#/components/schemas/Workflows.RealOperationDiv",
                  "real:operation:minus" : "#/components/schemas/Workflows.RealOperationMinus",
                  "real:operation:plus" : "#/components/schemas/Workflows.RealOperationPlus",
                  "real:operation:times" : "#/components/schemas/Workflows.RealOperationTimes",
                  "real:reference" : "#/components/schemas/Workflows.RealReference",
                  "string:conversion:to_real" : "#/components/schemas/Workflows.StringToRealValueConversion"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            },
            "operandB" : {
              "description" : "Value model for a 64-bit double precision floating point number. Resolves to a double JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "dimensional_scalar:conversion:to_real" : "#/components/schemas/Workflows.DimensionalScalarToRealValueConversion",
                  "integer:conversion:to_real" : "#/components/schemas/Workflows.IntegerToRealValueConversion",
                  "list:function:real_sum" : "#/components/schemas/Workflows.ValueListFunctionRealSum",
                  "real:constant" : "#/components/schemas/Workflows.RealConstant",
                  "real:expression:select" : "#/components/schemas/Workflows.RealExpressionSelect",
                  "real:function:abs" : "#/components/schemas/Workflows.RealFunctionAbs",
                  "real:function:acos" : "#/components/schemas/Workflows.RealFunctionACos",
                  "real:function:asin" : "#/components/schemas/Workflows.RealFunctionASin",
                  "real:function:atan" : "#/components/schemas/Workflows.RealFunctionATan",
                  "real:function:atan2" : "#/components/schemas/Workflows.RealFunctionATan2",
                  "real:function:cbrt" : "#/components/schemas/Workflows.RealFunctionCbrt",
                  "real:function:cos" : "#/components/schemas/Workflows.RealFunctionCos",
                  "real:function:exp" : "#/components/schemas/Workflows.RealFunctionExp",
                  "real:function:log" : "#/components/schemas/Workflows.RealFunctionLog",
                  "real:function:log10" : "#/components/schemas/Workflows.RealFunctionLog10",
                  "real:function:max" : "#/components/schemas/Workflows.RealFunctionMax",
                  "real:function:min" : "#/components/schemas/Workflows.RealFunctionMin",
                  "real:function:pow" : "#/components/schemas/Workflows.RealFunctionPow",
                  "real:function:sin" : "#/components/schemas/Workflows.RealFunctionSin",
                  "real:function:sqrt" : "#/components/schemas/Workflows.RealFunctionSqrt",
                  "real:function:tan" : "#/components/schemas/Workflows.RealFunctionTan",
                  "real:operation:div" : "#/components/schemas/Workflows.RealOperationDiv",
                  "real:operation:minus" : "#/components/schemas/Workflows.RealOperationMinus",
                  "real:operation:plus" : "#/components/schemas/Workflows.RealOperationPlus",
                  "real:operation:times" : "#/components/schemas/Workflows.RealOperationTimes",
                  "real:reference" : "#/components/schemas/Workflows.RealReference",
                  "string:conversion:to_real" : "#/components/schemas/Workflows.StringToRealValueConversion"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.RealReference" : {
        "description" : "Value model of a real value reference.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.RealValue"
        }, {
          "type" : "object",
          "properties" : {
            "defaultValue" : {
              "type" : "number",
              "format" : "double"
            },
            "valueReference" : {
              "$ref" : "#/components/schemas/Workflows.ValueReference"
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.RealSequenceGenerator" : {
        "description" : "Value model for generating a sequence of real numbers based on the provided parameters.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.ValueList"
        }, {
          "type" : "object",
          "properties" : {
            "first" : {
              "description" : "Value model for a 64-bit double precision floating point number. Resolves to a double JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "dimensional_scalar:conversion:to_real" : "#/components/schemas/Workflows.DimensionalScalarToRealValueConversion",
                  "integer:conversion:to_real" : "#/components/schemas/Workflows.IntegerToRealValueConversion",
                  "list:function:real_sum" : "#/components/schemas/Workflows.ValueListFunctionRealSum",
                  "real:constant" : "#/components/schemas/Workflows.RealConstant",
                  "real:expression:select" : "#/components/schemas/Workflows.RealExpressionSelect",
                  "real:function:abs" : "#/components/schemas/Workflows.RealFunctionAbs",
                  "real:function:acos" : "#/components/schemas/Workflows.RealFunctionACos",
                  "real:function:asin" : "#/components/schemas/Workflows.RealFunctionASin",
                  "real:function:atan" : "#/components/schemas/Workflows.RealFunctionATan",
                  "real:function:atan2" : "#/components/schemas/Workflows.RealFunctionATan2",
                  "real:function:cbrt" : "#/components/schemas/Workflows.RealFunctionCbrt",
                  "real:function:cos" : "#/components/schemas/Workflows.RealFunctionCos",
                  "real:function:exp" : "#/components/schemas/Workflows.RealFunctionExp",
                  "real:function:log" : "#/components/schemas/Workflows.RealFunctionLog",
                  "real:function:log10" : "#/components/schemas/Workflows.RealFunctionLog10",
                  "real:function:max" : "#/components/schemas/Workflows.RealFunctionMax",
                  "real:function:min" : "#/components/schemas/Workflows.RealFunctionMin",
                  "real:function:pow" : "#/components/schemas/Workflows.RealFunctionPow",
                  "real:function:sin" : "#/components/schemas/Workflows.RealFunctionSin",
                  "real:function:sqrt" : "#/components/schemas/Workflows.RealFunctionSqrt",
                  "real:function:tan" : "#/components/schemas/Workflows.RealFunctionTan",
                  "real:operation:div" : "#/components/schemas/Workflows.RealOperationDiv",
                  "real:operation:minus" : "#/components/schemas/Workflows.RealOperationMinus",
                  "real:operation:plus" : "#/components/schemas/Workflows.RealOperationPlus",
                  "real:operation:times" : "#/components/schemas/Workflows.RealOperationTimes",
                  "real:reference" : "#/components/schemas/Workflows.RealReference",
                  "string:conversion:to_real" : "#/components/schemas/Workflows.StringToRealValueConversion"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            },
            "increment" : {
              "description" : "Value model for a 64-bit double precision floating point number. Resolves to a double JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "dimensional_scalar:conversion:to_real" : "#/components/schemas/Workflows.DimensionalScalarToRealValueConversion",
                  "integer:conversion:to_real" : "#/components/schemas/Workflows.IntegerToRealValueConversion",
                  "list:function:real_sum" : "#/components/schemas/Workflows.ValueListFunctionRealSum",
                  "real:constant" : "#/components/schemas/Workflows.RealConstant",
                  "real:expression:select" : "#/components/schemas/Workflows.RealExpressionSelect",
                  "real:function:abs" : "#/components/schemas/Workflows.RealFunctionAbs",
                  "real:function:acos" : "#/components/schemas/Workflows.RealFunctionACos",
                  "real:function:asin" : "#/components/schemas/Workflows.RealFunctionASin",
                  "real:function:atan" : "#/components/schemas/Workflows.RealFunctionATan",
                  "real:function:atan2" : "#/components/schemas/Workflows.RealFunctionATan2",
                  "real:function:cbrt" : "#/components/schemas/Workflows.RealFunctionCbrt",
                  "real:function:cos" : "#/components/schemas/Workflows.RealFunctionCos",
                  "real:function:exp" : "#/components/schemas/Workflows.RealFunctionExp",
                  "real:function:log" : "#/components/schemas/Workflows.RealFunctionLog",
                  "real:function:log10" : "#/components/schemas/Workflows.RealFunctionLog10",
                  "real:function:max" : "#/components/schemas/Workflows.RealFunctionMax",
                  "real:function:min" : "#/components/schemas/Workflows.RealFunctionMin",
                  "real:function:pow" : "#/components/schemas/Workflows.RealFunctionPow",
                  "real:function:sin" : "#/components/schemas/Workflows.RealFunctionSin",
                  "real:function:sqrt" : "#/components/schemas/Workflows.RealFunctionSqrt",
                  "real:function:tan" : "#/components/schemas/Workflows.RealFunctionTan",
                  "real:operation:div" : "#/components/schemas/Workflows.RealOperationDiv",
                  "real:operation:minus" : "#/components/schemas/Workflows.RealOperationMinus",
                  "real:operation:plus" : "#/components/schemas/Workflows.RealOperationPlus",
                  "real:operation:times" : "#/components/schemas/Workflows.RealOperationTimes",
                  "real:reference" : "#/components/schemas/Workflows.RealReference",
                  "string:conversion:to_real" : "#/components/schemas/Workflows.StringToRealValueConversion"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            },
            "length" : {
              "description" : "Value model for a 64-bit signed integer value. Resolves to a long JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "entity_assignment_list:function:count_entities" : "#/components/schemas/Workflows.EntityAssignmentListFunctionCountEntities",
                  "integer:constant" : "#/components/schemas/Workflows.IntegerConstant",
                  "integer:expression:select" : "#/components/schemas/Workflows.IntegerExpressionSelect",
                  "integer:function:abs" : "#/components/schemas/Workflows.IntegerFunctionAbs",
                  "integer:function:max" : "#/components/schemas/Workflows.IntegerFunctionMax",
                  "integer:function:min" : "#/components/schemas/Workflows.IntegerFunctionMin",
                  "integer:operation:div" : "#/components/schemas/Workflows.IntegerOperationDiv",
                  "integer:operation:minus" : "#/components/schemas/Workflows.IntegerOperationMinus",
                  "integer:operation:plus" : "#/components/schemas/Workflows.IntegerOperationPlus",
                  "integer:operation:rem" : "#/components/schemas/Workflows.IntegerOperationRem",
                  "integer:operation:times" : "#/components/schemas/Workflows.IntegerOperationTimes",
                  "integer:reference" : "#/components/schemas/Workflows.IntegerReference",
                  "list:function:integer_sum" : "#/components/schemas/Workflows.ValueListFunctionIntegerSum",
                  "list:function:length" : "#/components/schemas/Workflows.ValueListFunctionSize",
                  "real:conversion:to_integer" : "#/components/schemas/Workflows.RealToIntegerConversion",
                  "string:conversion:to_integer" : "#/components/schemas/Workflows.StringToIntegerValueConversion",
                  "string:function:length" : "#/components/schemas/Workflows.StringLengthFunction"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.RealToDimensionalScalarValueConversion" : {
        "description" : "Value model to convert a real value to a dimensional scalar value.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.DimensionalScalarValue"
        }, {
          "type" : "object",
          "properties" : {
            "realValue" : {
              "description" : "Value model for a 64-bit double precision floating point number. Resolves to a double JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "dimensional_scalar:conversion:to_real" : "#/components/schemas/Workflows.DimensionalScalarToRealValueConversion",
                  "integer:conversion:to_real" : "#/components/schemas/Workflows.IntegerToRealValueConversion",
                  "list:function:real_sum" : "#/components/schemas/Workflows.ValueListFunctionRealSum",
                  "real:constant" : "#/components/schemas/Workflows.RealConstant",
                  "real:expression:select" : "#/components/schemas/Workflows.RealExpressionSelect",
                  "real:function:abs" : "#/components/schemas/Workflows.RealFunctionAbs",
                  "real:function:acos" : "#/components/schemas/Workflows.RealFunctionACos",
                  "real:function:asin" : "#/components/schemas/Workflows.RealFunctionASin",
                  "real:function:atan" : "#/components/schemas/Workflows.RealFunctionATan",
                  "real:function:atan2" : "#/components/schemas/Workflows.RealFunctionATan2",
                  "real:function:cbrt" : "#/components/schemas/Workflows.RealFunctionCbrt",
                  "real:function:cos" : "#/components/schemas/Workflows.RealFunctionCos",
                  "real:function:exp" : "#/components/schemas/Workflows.RealFunctionExp",
                  "real:function:log" : "#/components/schemas/Workflows.RealFunctionLog",
                  "real:function:log10" : "#/components/schemas/Workflows.RealFunctionLog10",
                  "real:function:max" : "#/components/schemas/Workflows.RealFunctionMax",
                  "real:function:min" : "#/components/schemas/Workflows.RealFunctionMin",
                  "real:function:pow" : "#/components/schemas/Workflows.RealFunctionPow",
                  "real:function:sin" : "#/components/schemas/Workflows.RealFunctionSin",
                  "real:function:sqrt" : "#/components/schemas/Workflows.RealFunctionSqrt",
                  "real:function:tan" : "#/components/schemas/Workflows.RealFunctionTan",
                  "real:operation:div" : "#/components/schemas/Workflows.RealOperationDiv",
                  "real:operation:minus" : "#/components/schemas/Workflows.RealOperationMinus",
                  "real:operation:plus" : "#/components/schemas/Workflows.RealOperationPlus",
                  "real:operation:times" : "#/components/schemas/Workflows.RealOperationTimes",
                  "real:reference" : "#/components/schemas/Workflows.RealReference",
                  "string:conversion:to_real" : "#/components/schemas/Workflows.StringToRealValueConversion"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            },
            "unit" : {
              "description" : "Value model for a measurement unit value. Resolves to a text JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "unit:constant" : "#/components/schemas/Workflows.MeasurementUnitConstant",
                  "unit:expression:select" : "#/components/schemas/Workflows.MeasurementUnitExpressionSelect",
                  "unit:function:pow" : "#/components/schemas/Workflows.MeasurementUnitFunctionPow",
                  "unit:operation:div" : "#/components/schemas/Workflows.MeasurementUnitOperationDiv",
                  "unit:operation:times" : "#/components/schemas/Workflows.MeasurementUnitOperationTimes",
                  "unit:reference" : "#/components/schemas/Workflows.MeasurementUnitReference"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.RealToIntegerConversion" : {
        "description" : "Value model to convert a real value to an integer value.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.IntegerValue"
        }, {
          "type" : "object",
          "properties" : {
            "argument" : {
              "description" : "Value model for a 64-bit double precision floating point number. Resolves to a double JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "dimensional_scalar:conversion:to_real" : "#/components/schemas/Workflows.DimensionalScalarToRealValueConversion",
                  "integer:conversion:to_real" : "#/components/schemas/Workflows.IntegerToRealValueConversion",
                  "list:function:real_sum" : "#/components/schemas/Workflows.ValueListFunctionRealSum",
                  "real:constant" : "#/components/schemas/Workflows.RealConstant",
                  "real:expression:select" : "#/components/schemas/Workflows.RealExpressionSelect",
                  "real:function:abs" : "#/components/schemas/Workflows.RealFunctionAbs",
                  "real:function:acos" : "#/components/schemas/Workflows.RealFunctionACos",
                  "real:function:asin" : "#/components/schemas/Workflows.RealFunctionASin",
                  "real:function:atan" : "#/components/schemas/Workflows.RealFunctionATan",
                  "real:function:atan2" : "#/components/schemas/Workflows.RealFunctionATan2",
                  "real:function:cbrt" : "#/components/schemas/Workflows.RealFunctionCbrt",
                  "real:function:cos" : "#/components/schemas/Workflows.RealFunctionCos",
                  "real:function:exp" : "#/components/schemas/Workflows.RealFunctionExp",
                  "real:function:log" : "#/components/schemas/Workflows.RealFunctionLog",
                  "real:function:log10" : "#/components/schemas/Workflows.RealFunctionLog10",
                  "real:function:max" : "#/components/schemas/Workflows.RealFunctionMax",
                  "real:function:min" : "#/components/schemas/Workflows.RealFunctionMin",
                  "real:function:pow" : "#/components/schemas/Workflows.RealFunctionPow",
                  "real:function:sin" : "#/components/schemas/Workflows.RealFunctionSin",
                  "real:function:sqrt" : "#/components/schemas/Workflows.RealFunctionSqrt",
                  "real:function:tan" : "#/components/schemas/Workflows.RealFunctionTan",
                  "real:operation:div" : "#/components/schemas/Workflows.RealOperationDiv",
                  "real:operation:minus" : "#/components/schemas/Workflows.RealOperationMinus",
                  "real:operation:plus" : "#/components/schemas/Workflows.RealOperationPlus",
                  "real:operation:times" : "#/components/schemas/Workflows.RealOperationTimes",
                  "real:reference" : "#/components/schemas/Workflows.RealReference",
                  "string:conversion:to_real" : "#/components/schemas/Workflows.StringToRealValueConversion"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            },
            "realToIntegerConversionType" : {
              "type" : "string",
              "description" : "Real value conversion to integer value strategies.",
              "default" : "",
              "enum" : [ "ROUND", "CEIL", "FLOOR" ]
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.RealToStringValueConversion" : {
        "description" : "Value model for converting a real to a string.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.StringValue"
        }, {
          "type" : "object",
          "properties" : {
            "realValue" : {
              "description" : "Value model for a 64-bit double precision floating point number. Resolves to a double JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "dimensional_scalar:conversion:to_real" : "#/components/schemas/Workflows.DimensionalScalarToRealValueConversion",
                  "integer:conversion:to_real" : "#/components/schemas/Workflows.IntegerToRealValueConversion",
                  "list:function:real_sum" : "#/components/schemas/Workflows.ValueListFunctionRealSum",
                  "real:constant" : "#/components/schemas/Workflows.RealConstant",
                  "real:expression:select" : "#/components/schemas/Workflows.RealExpressionSelect",
                  "real:function:abs" : "#/components/schemas/Workflows.RealFunctionAbs",
                  "real:function:acos" : "#/components/schemas/Workflows.RealFunctionACos",
                  "real:function:asin" : "#/components/schemas/Workflows.RealFunctionASin",
                  "real:function:atan" : "#/components/schemas/Workflows.RealFunctionATan",
                  "real:function:atan2" : "#/components/schemas/Workflows.RealFunctionATan2",
                  "real:function:cbrt" : "#/components/schemas/Workflows.RealFunctionCbrt",
                  "real:function:cos" : "#/components/schemas/Workflows.RealFunctionCos",
                  "real:function:exp" : "#/components/schemas/Workflows.RealFunctionExp",
                  "real:function:log" : "#/components/schemas/Workflows.RealFunctionLog",
                  "real:function:log10" : "#/components/schemas/Workflows.RealFunctionLog10",
                  "real:function:max" : "#/components/schemas/Workflows.RealFunctionMax",
                  "real:function:min" : "#/components/schemas/Workflows.RealFunctionMin",
                  "real:function:pow" : "#/components/schemas/Workflows.RealFunctionPow",
                  "real:function:sin" : "#/components/schemas/Workflows.RealFunctionSin",
                  "real:function:sqrt" : "#/components/schemas/Workflows.RealFunctionSqrt",
                  "real:function:tan" : "#/components/schemas/Workflows.RealFunctionTan",
                  "real:operation:div" : "#/components/schemas/Workflows.RealOperationDiv",
                  "real:operation:minus" : "#/components/schemas/Workflows.RealOperationMinus",
                  "real:operation:plus" : "#/components/schemas/Workflows.RealOperationPlus",
                  "real:operation:times" : "#/components/schemas/Workflows.RealOperationTimes",
                  "real:reference" : "#/components/schemas/Workflows.RealReference",
                  "string:conversion:to_real" : "#/components/schemas/Workflows.StringToRealValueConversion"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.RealValue" : {
        "description" : "Value model for a 64-bit double precision floating point number. Resolves to a double JSON node.",
        "discriminator" : {
          "propertyName" : "value_model_type",
          "mapping" : {
            "dimensional_scalar:conversion:to_real" : "#/components/schemas/Workflows.DimensionalScalarToRealValueConversion",
            "integer:conversion:to_real" : "#/components/schemas/Workflows.IntegerToRealValueConversion",
            "list:function:real_sum" : "#/components/schemas/Workflows.ValueListFunctionRealSum",
            "real:constant" : "#/components/schemas/Workflows.RealConstant",
            "real:expression:select" : "#/components/schemas/Workflows.RealExpressionSelect",
            "real:function:abs" : "#/components/schemas/Workflows.RealFunctionAbs",
            "real:function:acos" : "#/components/schemas/Workflows.RealFunctionACos",
            "real:function:asin" : "#/components/schemas/Workflows.RealFunctionASin",
            "real:function:atan" : "#/components/schemas/Workflows.RealFunctionATan",
            "real:function:atan2" : "#/components/schemas/Workflows.RealFunctionATan2",
            "real:function:cbrt" : "#/components/schemas/Workflows.RealFunctionCbrt",
            "real:function:cos" : "#/components/schemas/Workflows.RealFunctionCos",
            "real:function:exp" : "#/components/schemas/Workflows.RealFunctionExp",
            "real:function:log" : "#/components/schemas/Workflows.RealFunctionLog",
            "real:function:log10" : "#/components/schemas/Workflows.RealFunctionLog10",
            "real:function:max" : "#/components/schemas/Workflows.RealFunctionMax",
            "real:function:min" : "#/components/schemas/Workflows.RealFunctionMin",
            "real:function:pow" : "#/components/schemas/Workflows.RealFunctionPow",
            "real:function:sin" : "#/components/schemas/Workflows.RealFunctionSin",
            "real:function:sqrt" : "#/components/schemas/Workflows.RealFunctionSqrt",
            "real:function:tan" : "#/components/schemas/Workflows.RealFunctionTan",
            "real:operation:div" : "#/components/schemas/Workflows.RealOperationDiv",
            "real:operation:minus" : "#/components/schemas/Workflows.RealOperationMinus",
            "real:operation:plus" : "#/components/schemas/Workflows.RealOperationPlus",
            "real:operation:times" : "#/components/schemas/Workflows.RealOperationTimes",
            "real:reference" : "#/components/schemas/Workflows.RealReference",
            "string:conversion:to_real" : "#/components/schemas/Workflows.StringToRealValueConversion"
          }
        },
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.ReferenceValueList" : {
        "description" : "Value model of a value list reference.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.ValueList"
        }, {
          "type" : "object",
          "properties" : {
            "defaultValue" : {
              "type" : "array",
              "items" : {
                "type" : "object",
                "description" : "\nValue interface is the root of the value model type hierarchy.\n\nValue models store the computation model of values. The models are defined by the developer, for convenience through a DSL\ncomposed of receiver and extension functions and other Kotlin language constructs.\n\nWhen the build runs the definition of the value model, it gets serialized into a JSON representation and that is the artifact of the build.\nThese JSONs are persisted into the database and loaded by the workflow engine for the evaluation of the values.\nOnce values are computed they get stored as data and used by methods or clients to show data to the user.\nValue models and data models adhere to the same schema defined by the developer in DSSL, just they have a different implementation due to their different roles.\n\nBelow we define the central repository of value models. These are all part of the framework, available to the workflow engine as well.\nThey provide atomic types and composition mechanisms via containers and the compound value model class. These are in sync with the building blocks in DSSL.\n\nUser defined types via DSSL schemas are based on the compound value model. The generated value models are available only at build time to the user to define\nthe value computation logic in a type-safe way, meanwhile at runtime in the workflow engine only the compound value model is present.\n\nThe single value resolution function of this interface is the one used by the workflow engine to execute the value computation.\nAll value models implement this in their own way. The result is always a JSON node, which can be either a single node or an entire tree of nodes behind it.\n\nValue model types below are organized into groups based on their parent type, essentially following the hierarchy in a flattened way.\nThe type names - which get into the serialized JSON representation - also follow this structure, where levels are separated with a colon (`:`).\nBy convention names composed of multiple words are presented with snake-case and these rules are followed as a naming convention:\n* `operation` for operators (both unary and binary, e.g. plus, minus, not...),\n* `comparison` for comparators (equal, not equal, less than),\n* `function` for the general case.\n    ",
                "default" : null
              }
            },
            "elementModel" : {
              "$ref" : "#/components/schemas/Workflows.Value"
            },
            "valueReference" : {
              "$ref" : "#/components/schemas/Workflows.ValueReference"
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.ScalingEstimationValueModel" : {
        "type" : "object",
        "properties" : {
          "gpuScaling" : {
            "$ref" : "#/components/schemas/Workflows.GpuScalingEstimationValueModel"
          },
          "memory" : {
            "description" : "Value model for a list of values. Resolves to a JSON array.",
            "discriminator" : {
              "propertyName" : "value_model_type",
              "mapping" : {
                "list:constant" : "#/components/schemas/Workflows.ConstantValueList",
                "list:expression:select" : "#/components/schemas/Workflows.ValueListExpressionSelect",
                "list:function:drop" : "#/components/schemas/Workflows.ValueListFunctionDrop",
                "list:function:drop_last" : "#/components/schemas/Workflows.ValueListFunctionDropLast",
                "list:function:filter" : "#/components/schemas/Workflows.ValueListFunctionFilter",
                "list:function:map" : "#/components/schemas/Workflows.ValueListFunctionMap",
                "list:function:sublist" : "#/components/schemas/Workflows.ValueListFunctionSubList",
                "list:function:take" : "#/components/schemas/Workflows.ValueListFunctionTake",
                "list:function:take_last" : "#/components/schemas/Workflows.ValueListFunctionTakeLast",
                "list:generator:integer_sequence" : "#/components/schemas/Workflows.IntegerSequenceGenerator",
                "list:generator:real_sequence" : "#/components/schemas/Workflows.RealSequenceGenerator",
                "list:operation:plus" : "#/components/schemas/Workflows.ValueListOperationPlus",
                "list:operation:times" : "#/components/schemas/Workflows.ValueListOperationTimes",
                "list:reference" : "#/components/schemas/Workflows.ReferenceValueList"
              }
            },
            "allOf" : [ {
              "$ref" : "#/components/schemas/Workflows.Value"
            } ],
            "default" : null
          },
          "speedUp" : {
            "description" : "Value model for a list of values. Resolves to a JSON array.",
            "discriminator" : {
              "propertyName" : "value_model_type",
              "mapping" : {
                "list:constant" : "#/components/schemas/Workflows.ConstantValueList",
                "list:expression:select" : "#/components/schemas/Workflows.ValueListExpressionSelect",
                "list:function:drop" : "#/components/schemas/Workflows.ValueListFunctionDrop",
                "list:function:drop_last" : "#/components/schemas/Workflows.ValueListFunctionDropLast",
                "list:function:filter" : "#/components/schemas/Workflows.ValueListFunctionFilter",
                "list:function:map" : "#/components/schemas/Workflows.ValueListFunctionMap",
                "list:function:sublist" : "#/components/schemas/Workflows.ValueListFunctionSubList",
                "list:function:take" : "#/components/schemas/Workflows.ValueListFunctionTake",
                "list:function:take_last" : "#/components/schemas/Workflows.ValueListFunctionTakeLast",
                "list:generator:integer_sequence" : "#/components/schemas/Workflows.IntegerSequenceGenerator",
                "list:generator:real_sequence" : "#/components/schemas/Workflows.RealSequenceGenerator",
                "list:operation:plus" : "#/components/schemas/Workflows.ValueListOperationPlus",
                "list:operation:times" : "#/components/schemas/Workflows.ValueListOperationTimes",
                "list:reference" : "#/components/schemas/Workflows.ReferenceValueList"
              }
            },
            "allOf" : [ {
              "$ref" : "#/components/schemas/Workflows.Value"
            } ],
            "default" : null
          },
          "storage" : {
            "description" : "Value model for a list of values. Resolves to a JSON array.",
            "discriminator" : {
              "propertyName" : "value_model_type",
              "mapping" : {
                "list:constant" : "#/components/schemas/Workflows.ConstantValueList",
                "list:expression:select" : "#/components/schemas/Workflows.ValueListExpressionSelect",
                "list:function:drop" : "#/components/schemas/Workflows.ValueListFunctionDrop",
                "list:function:drop_last" : "#/components/schemas/Workflows.ValueListFunctionDropLast",
                "list:function:filter" : "#/components/schemas/Workflows.ValueListFunctionFilter",
                "list:function:map" : "#/components/schemas/Workflows.ValueListFunctionMap",
                "list:function:sublist" : "#/components/schemas/Workflows.ValueListFunctionSubList",
                "list:function:take" : "#/components/schemas/Workflows.ValueListFunctionTake",
                "list:function:take_last" : "#/components/schemas/Workflows.ValueListFunctionTakeLast",
                "list:generator:integer_sequence" : "#/components/schemas/Workflows.IntegerSequenceGenerator",
                "list:generator:real_sequence" : "#/components/schemas/Workflows.RealSequenceGenerator",
                "list:operation:plus" : "#/components/schemas/Workflows.ValueListOperationPlus",
                "list:operation:times" : "#/components/schemas/Workflows.ValueListOperationTimes",
                "list:reference" : "#/components/schemas/Workflows.ReferenceValueList"
              }
            },
            "allOf" : [ {
              "$ref" : "#/components/schemas/Workflows.Value"
            } ],
            "default" : null
          }
        }
      },
      "Workflows.SchemaDefinition" : {
        "description" : "Represents the top level definition of the schema.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.AbstractCompoundField"
        }, {
          "type" : "object",
          "properties" : {
            "defaultSubtype" : {
              "type" : "boolean"
            },
            "doc" : {
              "type" : "string"
            },
            "expert" : {
              "type" : "boolean"
            },
            "fields" : {
              "type" : "object",
              "additionalProperties" : {
                "$ref" : "#/components/schemas/Workflows.SchemaElement"
              }
            },
            "inline" : {
              "type" : "boolean"
            },
            "label" : {
              "type" : "string"
            },
            "list" : {
              "type" : "boolean"
            },
            "modelFieldName" : {
              "type" : "string"
            },
            "multiLanguageDoc" : {
              "type" : "object",
              "additionalProperties" : {
                "type" : "string"
              }
            },
            "multiLanguageLabel" : {
              "type" : "object",
              "additionalProperties" : {
                "type" : "string"
              }
            },
            "name" : {
              "type" : "string"
            },
            "optional" : {
              "type" : "boolean"
            },
            "polymorphic" : {
              "type" : "boolean"
            },
            "schemaDefinitionFieldIndex" : {
              "type" : "integer",
              "format" : "int32"
            },
            "subtypes" : {
              "type" : "array",
              "items" : {
                "description" : "Abstract compound field denotes a schema element which has nested schema elements.",
                "discriminator" : {
                  "propertyName" : "schema_element_type",
                  "mapping" : {
                    "CompoundField" : "#/components/schemas/Workflows.CompoundField",
                    "SchemaDefinition" : "#/components/schemas/Workflows.SchemaDefinition"
                  }
                },
                "allOf" : [ {
                  "$ref" : "#/components/schemas/Workflows.SchemaElement"
                }, {
                  "type" : "object",
                  "properties" : {
                    "defaultSubtype" : {
                      "type" : "boolean"
                    },
                    "polymorphic" : {
                      "type" : "boolean"
                    },
                    "subtypes" : {
                      "type" : "array",
                      "items" : {
                        "type" : "object",
                        "description" : "Abstract compound field denotes a schema element which has nested schema elements.",
                        "default" : null
                      }
                    },
                    "supertype" : {
                      "description" : "Abstract compound field denotes a schema element which has nested schema elements.",
                      "discriminator" : {
                        "propertyName" : "schema_element_type",
                        "mapping" : {
                          "CompoundField" : "#/components/schemas/Workflows.CompoundField",
                          "SchemaDefinition" : "#/components/schemas/Workflows.SchemaDefinition"
                        }
                      },
                      "allOf" : [ {
                        "$ref" : "#/components/schemas/Workflows.SchemaElement"
                      }, {
                        "type" : "object",
                        "properties" : {
                          "defaultSubtype" : {
                            "type" : "boolean"
                          },
                          "polymorphic" : {
                            "type" : "boolean"
                          },
                          "subtypes" : {
                            "type" : "array",
                            "items" : {
                              "type" : "object",
                              "description" : "Abstract compound field denotes a schema element which has nested schema elements.",
                              "default" : null
                            }
                          },
                          "supertype" : {
                            "$ref" : "#/components/schemas/Workflows.AbstractCompoundField"
                          },
                          "typeName" : {
                            "type" : "string"
                          }
                        }
                      } ],
                      "default" : null
                    },
                    "typeName" : {
                      "type" : "string"
                    }
                  }
                } ],
                "default" : null
              }
            },
            "typeName" : {
              "type" : "string"
            },
            "uiFieldIndex" : {
              "type" : "integer",
              "format" : "int32"
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.SchemaElement"
        } ],
        "default" : null
      },
      "Workflows.SchemaElement" : {
        "required" : [ "schema_element_type" ],
        "type" : "object",
        "properties" : {
          "doc" : {
            "type" : "string"
          },
          "expert" : {
            "type" : "boolean"
          },
          "label" : {
            "type" : "string"
          },
          "list" : {
            "type" : "boolean"
          },
          "modelFieldName" : {
            "type" : "string"
          },
          "multiLanguageDoc" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            }
          },
          "multiLanguageLabel" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            }
          },
          "name" : {
            "type" : "string"
          },
          "optional" : {
            "type" : "boolean"
          },
          "schemaDefinitionFieldIndex" : {
            "type" : "integer",
            "format" : "int32"
          },
          "schema_element_type" : {
            "type" : "string"
          },
          "uiFieldIndex" : {
            "type" : "integer",
            "format" : "int32"
          }
        },
        "description" : "Base abstract class for all schema elements. It captures attributes which are shared between all schema elements.",
        "discriminator" : {
          "propertyName" : "schema_element_type",
          "mapping" : {
            "BooleanField" : "#/components/schemas/Workflows.BooleanField",
            "CompoundField" : "#/components/schemas/Workflows.CompoundField",
            "DimensionalField" : "#/components/schemas/Workflows.DimensionalField",
            "EntityAssignmentField" : "#/components/schemas/Workflows.EntityAssignmentField",
            "EnumField" : "#/components/schemas/Workflows.EnumField",
            "IntegerField" : "#/components/schemas/Workflows.IntegerField",
            "MeasurementUnitField" : "#/components/schemas/Workflows.MeasurementUnitField",
            "NestedSchemaField" : "#/components/schemas/Workflows.NestedSchemaField",
            "RealField" : "#/components/schemas/Workflows.RealField",
            "SchemaDefinition" : "#/components/schemas/Workflows.SchemaDefinition",
            "StringField" : "#/components/schemas/Workflows.StringField"
          }
        },
        "default" : null
      },
      "Workflows.SliderUiConfigurationEntry" : {
        "description" : "UI configuration for a slider. Used for numerical inputs with discrete values.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.UiConfigurationEntry"
        }, {
          "type" : "object",
          "properties" : {
            "maximumValue" : {
              "description" : "Value model for a 64-bit signed integer value. Resolves to a long JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "entity_assignment_list:function:count_entities" : "#/components/schemas/Workflows.EntityAssignmentListFunctionCountEntities",
                  "integer:constant" : "#/components/schemas/Workflows.IntegerConstant",
                  "integer:expression:select" : "#/components/schemas/Workflows.IntegerExpressionSelect",
                  "integer:function:abs" : "#/components/schemas/Workflows.IntegerFunctionAbs",
                  "integer:function:max" : "#/components/schemas/Workflows.IntegerFunctionMax",
                  "integer:function:min" : "#/components/schemas/Workflows.IntegerFunctionMin",
                  "integer:operation:div" : "#/components/schemas/Workflows.IntegerOperationDiv",
                  "integer:operation:minus" : "#/components/schemas/Workflows.IntegerOperationMinus",
                  "integer:operation:plus" : "#/components/schemas/Workflows.IntegerOperationPlus",
                  "integer:operation:rem" : "#/components/schemas/Workflows.IntegerOperationRem",
                  "integer:operation:times" : "#/components/schemas/Workflows.IntegerOperationTimes",
                  "integer:reference" : "#/components/schemas/Workflows.IntegerReference",
                  "list:function:integer_sum" : "#/components/schemas/Workflows.ValueListFunctionIntegerSum",
                  "list:function:length" : "#/components/schemas/Workflows.ValueListFunctionSize",
                  "real:conversion:to_integer" : "#/components/schemas/Workflows.RealToIntegerConversion",
                  "string:conversion:to_integer" : "#/components/schemas/Workflows.StringToIntegerValueConversion",
                  "string:function:length" : "#/components/schemas/Workflows.StringLengthFunction"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            },
            "minimumValue" : {
              "description" : "Value model for a 64-bit signed integer value. Resolves to a long JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "entity_assignment_list:function:count_entities" : "#/components/schemas/Workflows.EntityAssignmentListFunctionCountEntities",
                  "integer:constant" : "#/components/schemas/Workflows.IntegerConstant",
                  "integer:expression:select" : "#/components/schemas/Workflows.IntegerExpressionSelect",
                  "integer:function:abs" : "#/components/schemas/Workflows.IntegerFunctionAbs",
                  "integer:function:max" : "#/components/schemas/Workflows.IntegerFunctionMax",
                  "integer:function:min" : "#/components/schemas/Workflows.IntegerFunctionMin",
                  "integer:operation:div" : "#/components/schemas/Workflows.IntegerOperationDiv",
                  "integer:operation:minus" : "#/components/schemas/Workflows.IntegerOperationMinus",
                  "integer:operation:plus" : "#/components/schemas/Workflows.IntegerOperationPlus",
                  "integer:operation:rem" : "#/components/schemas/Workflows.IntegerOperationRem",
                  "integer:operation:times" : "#/components/schemas/Workflows.IntegerOperationTimes",
                  "integer:reference" : "#/components/schemas/Workflows.IntegerReference",
                  "list:function:integer_sum" : "#/components/schemas/Workflows.ValueListFunctionIntegerSum",
                  "list:function:length" : "#/components/schemas/Workflows.ValueListFunctionSize",
                  "real:conversion:to_integer" : "#/components/schemas/Workflows.RealToIntegerConversion",
                  "string:conversion:to_integer" : "#/components/schemas/Workflows.StringToIntegerValueConversion",
                  "string:function:length" : "#/components/schemas/Workflows.StringLengthFunction"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            },
            "stepSize" : {
              "description" : "Value model for a 64-bit double precision floating point number. Resolves to a double JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "dimensional_scalar:conversion:to_real" : "#/components/schemas/Workflows.DimensionalScalarToRealValueConversion",
                  "integer:conversion:to_real" : "#/components/schemas/Workflows.IntegerToRealValueConversion",
                  "list:function:real_sum" : "#/components/schemas/Workflows.ValueListFunctionRealSum",
                  "real:constant" : "#/components/schemas/Workflows.RealConstant",
                  "real:expression:select" : "#/components/schemas/Workflows.RealExpressionSelect",
                  "real:function:abs" : "#/components/schemas/Workflows.RealFunctionAbs",
                  "real:function:acos" : "#/components/schemas/Workflows.RealFunctionACos",
                  "real:function:asin" : "#/components/schemas/Workflows.RealFunctionASin",
                  "real:function:atan" : "#/components/schemas/Workflows.RealFunctionATan",
                  "real:function:atan2" : "#/components/schemas/Workflows.RealFunctionATan2",
                  "real:function:cbrt" : "#/components/schemas/Workflows.RealFunctionCbrt",
                  "real:function:cos" : "#/components/schemas/Workflows.RealFunctionCos",
                  "real:function:exp" : "#/components/schemas/Workflows.RealFunctionExp",
                  "real:function:log" : "#/components/schemas/Workflows.RealFunctionLog",
                  "real:function:log10" : "#/components/schemas/Workflows.RealFunctionLog10",
                  "real:function:max" : "#/components/schemas/Workflows.RealFunctionMax",
                  "real:function:min" : "#/components/schemas/Workflows.RealFunctionMin",
                  "real:function:pow" : "#/components/schemas/Workflows.RealFunctionPow",
                  "real:function:sin" : "#/components/schemas/Workflows.RealFunctionSin",
                  "real:function:sqrt" : "#/components/schemas/Workflows.RealFunctionSqrt",
                  "real:function:tan" : "#/components/schemas/Workflows.RealFunctionTan",
                  "real:operation:div" : "#/components/schemas/Workflows.RealOperationDiv",
                  "real:operation:minus" : "#/components/schemas/Workflows.RealOperationMinus",
                  "real:operation:plus" : "#/components/schemas/Workflows.RealOperationPlus",
                  "real:operation:times" : "#/components/schemas/Workflows.RealOperationTimes",
                  "real:reference" : "#/components/schemas/Workflows.RealReference",
                  "string:conversion:to_real" : "#/components/schemas/Workflows.StringToRealValueConversion"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        } ],
        "default" : null
      },
      "Workflows.StringComparisonEqual" : {
        "description" : "Value model for string equality testing.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.BooleanValue"
        }, {
          "type" : "object",
          "properties" : {
            "operandA" : {
              "description" : "Value model for a string value. Resolves to a text JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "boolean:conversion:to_string" : "#/components/schemas/Workflows.BooleanToStringValueConversion",
                  "dimensional_scalar:conversion:to_string" : "#/components/schemas/Workflows.DimensionalScalarToStringValueConversion",
                  "dimensional_vector:conversion:to_string" : "#/components/schemas/Workflows.DimensionalVectorToStringValueConversion",
                  "entity_assignment:conversion:to_markdown_link_string" : "#/components/schemas/Workflows.EntityAssignmentToMarkdownLinkValueConversion",
                  "entity_assignment:conversion:to_string" : "#/components/schemas/Workflows.EntityAssignmentToStringValueConversion",
                  "entity_assignment_list:conversion:to_markdown_link_string" : "#/components/schemas/Workflows.EntityAssignmentListToMarkdownLinkValueConversion",
                  "enum:conversion:to_string" : "#/components/schemas/Workflows.EnumToStringValueConversion",
                  "integer:conversion:to_string" : "#/components/schemas/Workflows.IntegerToStringValueConversion",
                  "real:conversion:to_string" : "#/components/schemas/Workflows.RealToStringValueConversion",
                  "string:constant" : "#/components/schemas/Workflows.StringConstant",
                  "string:expression:select" : "#/components/schemas/Workflows.StringExpressionSelect",
                  "string:function:lowercase" : "#/components/schemas/Workflows.StringLowerCaseFunction",
                  "string:function:substring" : "#/components/schemas/Workflows.StringSubStringFunction",
                  "string:function:uppercase" : "#/components/schemas/Workflows.StringUpperCaseFunction",
                  "string:operation:plus" : "#/components/schemas/Workflows.StringOperationPlus",
                  "string:reference" : "#/components/schemas/Workflows.StringReference",
                  "value_list:conversion:to_string" : "#/components/schemas/Workflows.ValueListToStringValueConversion"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            },
            "operandB" : {
              "description" : "Value model for a string value. Resolves to a text JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "boolean:conversion:to_string" : "#/components/schemas/Workflows.BooleanToStringValueConversion",
                  "dimensional_scalar:conversion:to_string" : "#/components/schemas/Workflows.DimensionalScalarToStringValueConversion",
                  "dimensional_vector:conversion:to_string" : "#/components/schemas/Workflows.DimensionalVectorToStringValueConversion",
                  "entity_assignment:conversion:to_markdown_link_string" : "#/components/schemas/Workflows.EntityAssignmentToMarkdownLinkValueConversion",
                  "entity_assignment:conversion:to_string" : "#/components/schemas/Workflows.EntityAssignmentToStringValueConversion",
                  "entity_assignment_list:conversion:to_markdown_link_string" : "#/components/schemas/Workflows.EntityAssignmentListToMarkdownLinkValueConversion",
                  "enum:conversion:to_string" : "#/components/schemas/Workflows.EnumToStringValueConversion",
                  "integer:conversion:to_string" : "#/components/schemas/Workflows.IntegerToStringValueConversion",
                  "real:conversion:to_string" : "#/components/schemas/Workflows.RealToStringValueConversion",
                  "string:constant" : "#/components/schemas/Workflows.StringConstant",
                  "string:expression:select" : "#/components/schemas/Workflows.StringExpressionSelect",
                  "string:function:lowercase" : "#/components/schemas/Workflows.StringLowerCaseFunction",
                  "string:function:substring" : "#/components/schemas/Workflows.StringSubStringFunction",
                  "string:function:uppercase" : "#/components/schemas/Workflows.StringUpperCaseFunction",
                  "string:operation:plus" : "#/components/schemas/Workflows.StringOperationPlus",
                  "string:reference" : "#/components/schemas/Workflows.StringReference",
                  "value_list:conversion:to_string" : "#/components/schemas/Workflows.ValueListToStringValueConversion"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.StringComparisonNotEqual" : {
        "description" : "Value model for string non-equality testing.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.BooleanValue"
        }, {
          "type" : "object",
          "properties" : {
            "operandA" : {
              "description" : "Value model for a string value. Resolves to a text JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "boolean:conversion:to_string" : "#/components/schemas/Workflows.BooleanToStringValueConversion",
                  "dimensional_scalar:conversion:to_string" : "#/components/schemas/Workflows.DimensionalScalarToStringValueConversion",
                  "dimensional_vector:conversion:to_string" : "#/components/schemas/Workflows.DimensionalVectorToStringValueConversion",
                  "entity_assignment:conversion:to_markdown_link_string" : "#/components/schemas/Workflows.EntityAssignmentToMarkdownLinkValueConversion",
                  "entity_assignment:conversion:to_string" : "#/components/schemas/Workflows.EntityAssignmentToStringValueConversion",
                  "entity_assignment_list:conversion:to_markdown_link_string" : "#/components/schemas/Workflows.EntityAssignmentListToMarkdownLinkValueConversion",
                  "enum:conversion:to_string" : "#/components/schemas/Workflows.EnumToStringValueConversion",
                  "integer:conversion:to_string" : "#/components/schemas/Workflows.IntegerToStringValueConversion",
                  "real:conversion:to_string" : "#/components/schemas/Workflows.RealToStringValueConversion",
                  "string:constant" : "#/components/schemas/Workflows.StringConstant",
                  "string:expression:select" : "#/components/schemas/Workflows.StringExpressionSelect",
                  "string:function:lowercase" : "#/components/schemas/Workflows.StringLowerCaseFunction",
                  "string:function:substring" : "#/components/schemas/Workflows.StringSubStringFunction",
                  "string:function:uppercase" : "#/components/schemas/Workflows.StringUpperCaseFunction",
                  "string:operation:plus" : "#/components/schemas/Workflows.StringOperationPlus",
                  "string:reference" : "#/components/schemas/Workflows.StringReference",
                  "value_list:conversion:to_string" : "#/components/schemas/Workflows.ValueListToStringValueConversion"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            },
            "operandB" : {
              "description" : "Value model for a string value. Resolves to a text JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "boolean:conversion:to_string" : "#/components/schemas/Workflows.BooleanToStringValueConversion",
                  "dimensional_scalar:conversion:to_string" : "#/components/schemas/Workflows.DimensionalScalarToStringValueConversion",
                  "dimensional_vector:conversion:to_string" : "#/components/schemas/Workflows.DimensionalVectorToStringValueConversion",
                  "entity_assignment:conversion:to_markdown_link_string" : "#/components/schemas/Workflows.EntityAssignmentToMarkdownLinkValueConversion",
                  "entity_assignment:conversion:to_string" : "#/components/schemas/Workflows.EntityAssignmentToStringValueConversion",
                  "entity_assignment_list:conversion:to_markdown_link_string" : "#/components/schemas/Workflows.EntityAssignmentListToMarkdownLinkValueConversion",
                  "enum:conversion:to_string" : "#/components/schemas/Workflows.EnumToStringValueConversion",
                  "integer:conversion:to_string" : "#/components/schemas/Workflows.IntegerToStringValueConversion",
                  "real:conversion:to_string" : "#/components/schemas/Workflows.RealToStringValueConversion",
                  "string:constant" : "#/components/schemas/Workflows.StringConstant",
                  "string:expression:select" : "#/components/schemas/Workflows.StringExpressionSelect",
                  "string:function:lowercase" : "#/components/schemas/Workflows.StringLowerCaseFunction",
                  "string:function:substring" : "#/components/schemas/Workflows.StringSubStringFunction",
                  "string:function:uppercase" : "#/components/schemas/Workflows.StringUpperCaseFunction",
                  "string:operation:plus" : "#/components/schemas/Workflows.StringOperationPlus",
                  "string:reference" : "#/components/schemas/Workflows.StringReference",
                  "value_list:conversion:to_string" : "#/components/schemas/Workflows.ValueListToStringValueConversion"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.StringConstant" : {
        "description" : "Value model of a constant string value.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.StringValue"
        }, {
          "type" : "object",
          "properties" : {
            "value" : {
              "type" : "string"
            }
          }
        } ],
        "default" : null
      },
      "Workflows.StringContainsFunction" : {
        "description" : "Value model for testing if a string contains another one.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.BooleanValue"
        }, {
          "type" : "object",
          "properties" : {
            "string" : {
              "description" : "Value model for a string value. Resolves to a text JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "boolean:conversion:to_string" : "#/components/schemas/Workflows.BooleanToStringValueConversion",
                  "dimensional_scalar:conversion:to_string" : "#/components/schemas/Workflows.DimensionalScalarToStringValueConversion",
                  "dimensional_vector:conversion:to_string" : "#/components/schemas/Workflows.DimensionalVectorToStringValueConversion",
                  "entity_assignment:conversion:to_markdown_link_string" : "#/components/schemas/Workflows.EntityAssignmentToMarkdownLinkValueConversion",
                  "entity_assignment:conversion:to_string" : "#/components/schemas/Workflows.EntityAssignmentToStringValueConversion",
                  "entity_assignment_list:conversion:to_markdown_link_string" : "#/components/schemas/Workflows.EntityAssignmentListToMarkdownLinkValueConversion",
                  "enum:conversion:to_string" : "#/components/schemas/Workflows.EnumToStringValueConversion",
                  "integer:conversion:to_string" : "#/components/schemas/Workflows.IntegerToStringValueConversion",
                  "real:conversion:to_string" : "#/components/schemas/Workflows.RealToStringValueConversion",
                  "string:constant" : "#/components/schemas/Workflows.StringConstant",
                  "string:expression:select" : "#/components/schemas/Workflows.StringExpressionSelect",
                  "string:function:lowercase" : "#/components/schemas/Workflows.StringLowerCaseFunction",
                  "string:function:substring" : "#/components/schemas/Workflows.StringSubStringFunction",
                  "string:function:uppercase" : "#/components/schemas/Workflows.StringUpperCaseFunction",
                  "string:operation:plus" : "#/components/schemas/Workflows.StringOperationPlus",
                  "string:reference" : "#/components/schemas/Workflows.StringReference",
                  "value_list:conversion:to_string" : "#/components/schemas/Workflows.ValueListToStringValueConversion"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            },
            "subString" : {
              "description" : "Value model for a string value. Resolves to a text JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "boolean:conversion:to_string" : "#/components/schemas/Workflows.BooleanToStringValueConversion",
                  "dimensional_scalar:conversion:to_string" : "#/components/schemas/Workflows.DimensionalScalarToStringValueConversion",
                  "dimensional_vector:conversion:to_string" : "#/components/schemas/Workflows.DimensionalVectorToStringValueConversion",
                  "entity_assignment:conversion:to_markdown_link_string" : "#/components/schemas/Workflows.EntityAssignmentToMarkdownLinkValueConversion",
                  "entity_assignment:conversion:to_string" : "#/components/schemas/Workflows.EntityAssignmentToStringValueConversion",
                  "entity_assignment_list:conversion:to_markdown_link_string" : "#/components/schemas/Workflows.EntityAssignmentListToMarkdownLinkValueConversion",
                  "enum:conversion:to_string" : "#/components/schemas/Workflows.EnumToStringValueConversion",
                  "integer:conversion:to_string" : "#/components/schemas/Workflows.IntegerToStringValueConversion",
                  "real:conversion:to_string" : "#/components/schemas/Workflows.RealToStringValueConversion",
                  "string:constant" : "#/components/schemas/Workflows.StringConstant",
                  "string:expression:select" : "#/components/schemas/Workflows.StringExpressionSelect",
                  "string:function:lowercase" : "#/components/schemas/Workflows.StringLowerCaseFunction",
                  "string:function:substring" : "#/components/schemas/Workflows.StringSubStringFunction",
                  "string:function:uppercase" : "#/components/schemas/Workflows.StringUpperCaseFunction",
                  "string:operation:plus" : "#/components/schemas/Workflows.StringOperationPlus",
                  "string:reference" : "#/components/schemas/Workflows.StringReference",
                  "value_list:conversion:to_string" : "#/components/schemas/Workflows.ValueListToStringValueConversion"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.StringEndsWithFunction" : {
        "description" : "Value model for testing if a string ends with another one.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.BooleanValue"
        }, {
          "type" : "object",
          "properties" : {
            "postfix" : {
              "description" : "Value model for a string value. Resolves to a text JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "boolean:conversion:to_string" : "#/components/schemas/Workflows.BooleanToStringValueConversion",
                  "dimensional_scalar:conversion:to_string" : "#/components/schemas/Workflows.DimensionalScalarToStringValueConversion",
                  "dimensional_vector:conversion:to_string" : "#/components/schemas/Workflows.DimensionalVectorToStringValueConversion",
                  "entity_assignment:conversion:to_markdown_link_string" : "#/components/schemas/Workflows.EntityAssignmentToMarkdownLinkValueConversion",
                  "entity_assignment:conversion:to_string" : "#/components/schemas/Workflows.EntityAssignmentToStringValueConversion",
                  "entity_assignment_list:conversion:to_markdown_link_string" : "#/components/schemas/Workflows.EntityAssignmentListToMarkdownLinkValueConversion",
                  "enum:conversion:to_string" : "#/components/schemas/Workflows.EnumToStringValueConversion",
                  "integer:conversion:to_string" : "#/components/schemas/Workflows.IntegerToStringValueConversion",
                  "real:conversion:to_string" : "#/components/schemas/Workflows.RealToStringValueConversion",
                  "string:constant" : "#/components/schemas/Workflows.StringConstant",
                  "string:expression:select" : "#/components/schemas/Workflows.StringExpressionSelect",
                  "string:function:lowercase" : "#/components/schemas/Workflows.StringLowerCaseFunction",
                  "string:function:substring" : "#/components/schemas/Workflows.StringSubStringFunction",
                  "string:function:uppercase" : "#/components/schemas/Workflows.StringUpperCaseFunction",
                  "string:operation:plus" : "#/components/schemas/Workflows.StringOperationPlus",
                  "string:reference" : "#/components/schemas/Workflows.StringReference",
                  "value_list:conversion:to_string" : "#/components/schemas/Workflows.ValueListToStringValueConversion"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            },
            "string" : {
              "description" : "Value model for a string value. Resolves to a text JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "boolean:conversion:to_string" : "#/components/schemas/Workflows.BooleanToStringValueConversion",
                  "dimensional_scalar:conversion:to_string" : "#/components/schemas/Workflows.DimensionalScalarToStringValueConversion",
                  "dimensional_vector:conversion:to_string" : "#/components/schemas/Workflows.DimensionalVectorToStringValueConversion",
                  "entity_assignment:conversion:to_markdown_link_string" : "#/components/schemas/Workflows.EntityAssignmentToMarkdownLinkValueConversion",
                  "entity_assignment:conversion:to_string" : "#/components/schemas/Workflows.EntityAssignmentToStringValueConversion",
                  "entity_assignment_list:conversion:to_markdown_link_string" : "#/components/schemas/Workflows.EntityAssignmentListToMarkdownLinkValueConversion",
                  "enum:conversion:to_string" : "#/components/schemas/Workflows.EnumToStringValueConversion",
                  "integer:conversion:to_string" : "#/components/schemas/Workflows.IntegerToStringValueConversion",
                  "real:conversion:to_string" : "#/components/schemas/Workflows.RealToStringValueConversion",
                  "string:constant" : "#/components/schemas/Workflows.StringConstant",
                  "string:expression:select" : "#/components/schemas/Workflows.StringExpressionSelect",
                  "string:function:lowercase" : "#/components/schemas/Workflows.StringLowerCaseFunction",
                  "string:function:substring" : "#/components/schemas/Workflows.StringSubStringFunction",
                  "string:function:uppercase" : "#/components/schemas/Workflows.StringUpperCaseFunction",
                  "string:operation:plus" : "#/components/schemas/Workflows.StringOperationPlus",
                  "string:reference" : "#/components/schemas/Workflows.StringReference",
                  "value_list:conversion:to_string" : "#/components/schemas/Workflows.ValueListToStringValueConversion"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.StringExpressionSelect" : {
        "description" : "Value model for selecting a string value from a list of options based on the provided conditions.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.StringValue"
        }, {
          "type" : "object",
          "properties" : {
            "options" : {
              "type" : "array",
              "items" : {
                "type" : "object"
              }
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.StringField" : {
        "description" : "Atomic field to store a string.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.AtomicField"
        }, {
          "type" : "object",
          "properties" : {
            "default" : {
              "type" : "string"
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.SchemaElement"
        } ],
        "default" : null
      },
      "Workflows.StringLengthFunction" : {
        "description" : "Value model for string length calculation.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.IntegerValue"
        }, {
          "type" : "object",
          "properties" : {
            "string" : {
              "description" : "Value model for a string value. Resolves to a text JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "boolean:conversion:to_string" : "#/components/schemas/Workflows.BooleanToStringValueConversion",
                  "dimensional_scalar:conversion:to_string" : "#/components/schemas/Workflows.DimensionalScalarToStringValueConversion",
                  "dimensional_vector:conversion:to_string" : "#/components/schemas/Workflows.DimensionalVectorToStringValueConversion",
                  "entity_assignment:conversion:to_markdown_link_string" : "#/components/schemas/Workflows.EntityAssignmentToMarkdownLinkValueConversion",
                  "entity_assignment:conversion:to_string" : "#/components/schemas/Workflows.EntityAssignmentToStringValueConversion",
                  "entity_assignment_list:conversion:to_markdown_link_string" : "#/components/schemas/Workflows.EntityAssignmentListToMarkdownLinkValueConversion",
                  "enum:conversion:to_string" : "#/components/schemas/Workflows.EnumToStringValueConversion",
                  "integer:conversion:to_string" : "#/components/schemas/Workflows.IntegerToStringValueConversion",
                  "real:conversion:to_string" : "#/components/schemas/Workflows.RealToStringValueConversion",
                  "string:constant" : "#/components/schemas/Workflows.StringConstant",
                  "string:expression:select" : "#/components/schemas/Workflows.StringExpressionSelect",
                  "string:function:lowercase" : "#/components/schemas/Workflows.StringLowerCaseFunction",
                  "string:function:substring" : "#/components/schemas/Workflows.StringSubStringFunction",
                  "string:function:uppercase" : "#/components/schemas/Workflows.StringUpperCaseFunction",
                  "string:operation:plus" : "#/components/schemas/Workflows.StringOperationPlus",
                  "string:reference" : "#/components/schemas/Workflows.StringReference",
                  "value_list:conversion:to_string" : "#/components/schemas/Workflows.ValueListToStringValueConversion"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.StringLowerCaseFunction" : {
        "description" : "Value model for calculating the lower-case version of a string.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.StringValue"
        }, {
          "type" : "object",
          "properties" : {
            "string" : {
              "description" : "Value model for a string value. Resolves to a text JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "boolean:conversion:to_string" : "#/components/schemas/Workflows.BooleanToStringValueConversion",
                  "dimensional_scalar:conversion:to_string" : "#/components/schemas/Workflows.DimensionalScalarToStringValueConversion",
                  "dimensional_vector:conversion:to_string" : "#/components/schemas/Workflows.DimensionalVectorToStringValueConversion",
                  "entity_assignment:conversion:to_markdown_link_string" : "#/components/schemas/Workflows.EntityAssignmentToMarkdownLinkValueConversion",
                  "entity_assignment:conversion:to_string" : "#/components/schemas/Workflows.EntityAssignmentToStringValueConversion",
                  "entity_assignment_list:conversion:to_markdown_link_string" : "#/components/schemas/Workflows.EntityAssignmentListToMarkdownLinkValueConversion",
                  "enum:conversion:to_string" : "#/components/schemas/Workflows.EnumToStringValueConversion",
                  "integer:conversion:to_string" : "#/components/schemas/Workflows.IntegerToStringValueConversion",
                  "real:conversion:to_string" : "#/components/schemas/Workflows.RealToStringValueConversion",
                  "string:constant" : "#/components/schemas/Workflows.StringConstant",
                  "string:expression:select" : "#/components/schemas/Workflows.StringExpressionSelect",
                  "string:function:lowercase" : "#/components/schemas/Workflows.StringLowerCaseFunction",
                  "string:function:substring" : "#/components/schemas/Workflows.StringSubStringFunction",
                  "string:function:uppercase" : "#/components/schemas/Workflows.StringUpperCaseFunction",
                  "string:operation:plus" : "#/components/schemas/Workflows.StringOperationPlus",
                  "string:reference" : "#/components/schemas/Workflows.StringReference",
                  "value_list:conversion:to_string" : "#/components/schemas/Workflows.ValueListToStringValueConversion"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        } ],
        "default" : null
      },
      "Workflows.StringOperationPlus" : {
        "description" : "Value model of string concatenation.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.StringValue"
        }, {
          "type" : "object",
          "properties" : {
            "operandA" : {
              "description" : "Value model for a string value. Resolves to a text JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "boolean:conversion:to_string" : "#/components/schemas/Workflows.BooleanToStringValueConversion",
                  "dimensional_scalar:conversion:to_string" : "#/components/schemas/Workflows.DimensionalScalarToStringValueConversion",
                  "dimensional_vector:conversion:to_string" : "#/components/schemas/Workflows.DimensionalVectorToStringValueConversion",
                  "entity_assignment:conversion:to_markdown_link_string" : "#/components/schemas/Workflows.EntityAssignmentToMarkdownLinkValueConversion",
                  "entity_assignment:conversion:to_string" : "#/components/schemas/Workflows.EntityAssignmentToStringValueConversion",
                  "entity_assignment_list:conversion:to_markdown_link_string" : "#/components/schemas/Workflows.EntityAssignmentListToMarkdownLinkValueConversion",
                  "enum:conversion:to_string" : "#/components/schemas/Workflows.EnumToStringValueConversion",
                  "integer:conversion:to_string" : "#/components/schemas/Workflows.IntegerToStringValueConversion",
                  "real:conversion:to_string" : "#/components/schemas/Workflows.RealToStringValueConversion",
                  "string:constant" : "#/components/schemas/Workflows.StringConstant",
                  "string:expression:select" : "#/components/schemas/Workflows.StringExpressionSelect",
                  "string:function:lowercase" : "#/components/schemas/Workflows.StringLowerCaseFunction",
                  "string:function:substring" : "#/components/schemas/Workflows.StringSubStringFunction",
                  "string:function:uppercase" : "#/components/schemas/Workflows.StringUpperCaseFunction",
                  "string:operation:plus" : "#/components/schemas/Workflows.StringOperationPlus",
                  "string:reference" : "#/components/schemas/Workflows.StringReference",
                  "value_list:conversion:to_string" : "#/components/schemas/Workflows.ValueListToStringValueConversion"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            },
            "operandB" : {
              "description" : "Value model for a string value. Resolves to a text JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "boolean:conversion:to_string" : "#/components/schemas/Workflows.BooleanToStringValueConversion",
                  "dimensional_scalar:conversion:to_string" : "#/components/schemas/Workflows.DimensionalScalarToStringValueConversion",
                  "dimensional_vector:conversion:to_string" : "#/components/schemas/Workflows.DimensionalVectorToStringValueConversion",
                  "entity_assignment:conversion:to_markdown_link_string" : "#/components/schemas/Workflows.EntityAssignmentToMarkdownLinkValueConversion",
                  "entity_assignment:conversion:to_string" : "#/components/schemas/Workflows.EntityAssignmentToStringValueConversion",
                  "entity_assignment_list:conversion:to_markdown_link_string" : "#/components/schemas/Workflows.EntityAssignmentListToMarkdownLinkValueConversion",
                  "enum:conversion:to_string" : "#/components/schemas/Workflows.EnumToStringValueConversion",
                  "integer:conversion:to_string" : "#/components/schemas/Workflows.IntegerToStringValueConversion",
                  "real:conversion:to_string" : "#/components/schemas/Workflows.RealToStringValueConversion",
                  "string:constant" : "#/components/schemas/Workflows.StringConstant",
                  "string:expression:select" : "#/components/schemas/Workflows.StringExpressionSelect",
                  "string:function:lowercase" : "#/components/schemas/Workflows.StringLowerCaseFunction",
                  "string:function:substring" : "#/components/schemas/Workflows.StringSubStringFunction",
                  "string:function:uppercase" : "#/components/schemas/Workflows.StringUpperCaseFunction",
                  "string:operation:plus" : "#/components/schemas/Workflows.StringOperationPlus",
                  "string:reference" : "#/components/schemas/Workflows.StringReference",
                  "value_list:conversion:to_string" : "#/components/schemas/Workflows.ValueListToStringValueConversion"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        } ],
        "default" : null
      },
      "Workflows.StringReference" : {
        "description" : "Value model of a boolean value reference.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.StringValue"
        }, {
          "type" : "object",
          "properties" : {
            "defaultValue" : {
              "type" : "string"
            },
            "valueReference" : {
              "$ref" : "#/components/schemas/Workflows.ValueReference"
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.StringStartsWithFunction" : {
        "description" : "Value model for testing if a string starts with another one.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.BooleanValue"
        }, {
          "type" : "object",
          "properties" : {
            "prefix" : {
              "description" : "Value model for a string value. Resolves to a text JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "boolean:conversion:to_string" : "#/components/schemas/Workflows.BooleanToStringValueConversion",
                  "dimensional_scalar:conversion:to_string" : "#/components/schemas/Workflows.DimensionalScalarToStringValueConversion",
                  "dimensional_vector:conversion:to_string" : "#/components/schemas/Workflows.DimensionalVectorToStringValueConversion",
                  "entity_assignment:conversion:to_markdown_link_string" : "#/components/schemas/Workflows.EntityAssignmentToMarkdownLinkValueConversion",
                  "entity_assignment:conversion:to_string" : "#/components/schemas/Workflows.EntityAssignmentToStringValueConversion",
                  "entity_assignment_list:conversion:to_markdown_link_string" : "#/components/schemas/Workflows.EntityAssignmentListToMarkdownLinkValueConversion",
                  "enum:conversion:to_string" : "#/components/schemas/Workflows.EnumToStringValueConversion",
                  "integer:conversion:to_string" : "#/components/schemas/Workflows.IntegerToStringValueConversion",
                  "real:conversion:to_string" : "#/components/schemas/Workflows.RealToStringValueConversion",
                  "string:constant" : "#/components/schemas/Workflows.StringConstant",
                  "string:expression:select" : "#/components/schemas/Workflows.StringExpressionSelect",
                  "string:function:lowercase" : "#/components/schemas/Workflows.StringLowerCaseFunction",
                  "string:function:substring" : "#/components/schemas/Workflows.StringSubStringFunction",
                  "string:function:uppercase" : "#/components/schemas/Workflows.StringUpperCaseFunction",
                  "string:operation:plus" : "#/components/schemas/Workflows.StringOperationPlus",
                  "string:reference" : "#/components/schemas/Workflows.StringReference",
                  "value_list:conversion:to_string" : "#/components/schemas/Workflows.ValueListToStringValueConversion"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            },
            "string" : {
              "description" : "Value model for a string value. Resolves to a text JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "boolean:conversion:to_string" : "#/components/schemas/Workflows.BooleanToStringValueConversion",
                  "dimensional_scalar:conversion:to_string" : "#/components/schemas/Workflows.DimensionalScalarToStringValueConversion",
                  "dimensional_vector:conversion:to_string" : "#/components/schemas/Workflows.DimensionalVectorToStringValueConversion",
                  "entity_assignment:conversion:to_markdown_link_string" : "#/components/schemas/Workflows.EntityAssignmentToMarkdownLinkValueConversion",
                  "entity_assignment:conversion:to_string" : "#/components/schemas/Workflows.EntityAssignmentToStringValueConversion",
                  "entity_assignment_list:conversion:to_markdown_link_string" : "#/components/schemas/Workflows.EntityAssignmentListToMarkdownLinkValueConversion",
                  "enum:conversion:to_string" : "#/components/schemas/Workflows.EnumToStringValueConversion",
                  "integer:conversion:to_string" : "#/components/schemas/Workflows.IntegerToStringValueConversion",
                  "real:conversion:to_string" : "#/components/schemas/Workflows.RealToStringValueConversion",
                  "string:constant" : "#/components/schemas/Workflows.StringConstant",
                  "string:expression:select" : "#/components/schemas/Workflows.StringExpressionSelect",
                  "string:function:lowercase" : "#/components/schemas/Workflows.StringLowerCaseFunction",
                  "string:function:substring" : "#/components/schemas/Workflows.StringSubStringFunction",
                  "string:function:uppercase" : "#/components/schemas/Workflows.StringUpperCaseFunction",
                  "string:operation:plus" : "#/components/schemas/Workflows.StringOperationPlus",
                  "string:reference" : "#/components/schemas/Workflows.StringReference",
                  "value_list:conversion:to_string" : "#/components/schemas/Workflows.ValueListToStringValueConversion"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.StringSubStringFunction" : {
        "description" : "Value model for creating a sub-string.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.StringValue"
        }, {
          "type" : "object",
          "properties" : {
            "from" : {
              "description" : "Value model for a 64-bit signed integer value. Resolves to a long JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "entity_assignment_list:function:count_entities" : "#/components/schemas/Workflows.EntityAssignmentListFunctionCountEntities",
                  "integer:constant" : "#/components/schemas/Workflows.IntegerConstant",
                  "integer:expression:select" : "#/components/schemas/Workflows.IntegerExpressionSelect",
                  "integer:function:abs" : "#/components/schemas/Workflows.IntegerFunctionAbs",
                  "integer:function:max" : "#/components/schemas/Workflows.IntegerFunctionMax",
                  "integer:function:min" : "#/components/schemas/Workflows.IntegerFunctionMin",
                  "integer:operation:div" : "#/components/schemas/Workflows.IntegerOperationDiv",
                  "integer:operation:minus" : "#/components/schemas/Workflows.IntegerOperationMinus",
                  "integer:operation:plus" : "#/components/schemas/Workflows.IntegerOperationPlus",
                  "integer:operation:rem" : "#/components/schemas/Workflows.IntegerOperationRem",
                  "integer:operation:times" : "#/components/schemas/Workflows.IntegerOperationTimes",
                  "integer:reference" : "#/components/schemas/Workflows.IntegerReference",
                  "list:function:integer_sum" : "#/components/schemas/Workflows.ValueListFunctionIntegerSum",
                  "list:function:length" : "#/components/schemas/Workflows.ValueListFunctionSize",
                  "real:conversion:to_integer" : "#/components/schemas/Workflows.RealToIntegerConversion",
                  "string:conversion:to_integer" : "#/components/schemas/Workflows.StringToIntegerValueConversion",
                  "string:function:length" : "#/components/schemas/Workflows.StringLengthFunction"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            },
            "string" : {
              "$ref" : "#/components/schemas/Workflows.StringValue"
            },
            "to" : {
              "description" : "Value model for a 64-bit signed integer value. Resolves to a long JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "entity_assignment_list:function:count_entities" : "#/components/schemas/Workflows.EntityAssignmentListFunctionCountEntities",
                  "integer:constant" : "#/components/schemas/Workflows.IntegerConstant",
                  "integer:expression:select" : "#/components/schemas/Workflows.IntegerExpressionSelect",
                  "integer:function:abs" : "#/components/schemas/Workflows.IntegerFunctionAbs",
                  "integer:function:max" : "#/components/schemas/Workflows.IntegerFunctionMax",
                  "integer:function:min" : "#/components/schemas/Workflows.IntegerFunctionMin",
                  "integer:operation:div" : "#/components/schemas/Workflows.IntegerOperationDiv",
                  "integer:operation:minus" : "#/components/schemas/Workflows.IntegerOperationMinus",
                  "integer:operation:plus" : "#/components/schemas/Workflows.IntegerOperationPlus",
                  "integer:operation:rem" : "#/components/schemas/Workflows.IntegerOperationRem",
                  "integer:operation:times" : "#/components/schemas/Workflows.IntegerOperationTimes",
                  "integer:reference" : "#/components/schemas/Workflows.IntegerReference",
                  "list:function:integer_sum" : "#/components/schemas/Workflows.ValueListFunctionIntegerSum",
                  "list:function:length" : "#/components/schemas/Workflows.ValueListFunctionSize",
                  "real:conversion:to_integer" : "#/components/schemas/Workflows.RealToIntegerConversion",
                  "string:conversion:to_integer" : "#/components/schemas/Workflows.StringToIntegerValueConversion",
                  "string:function:length" : "#/components/schemas/Workflows.StringLengthFunction"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        } ],
        "default" : null
      },
      "Workflows.StringToIntegerValueConversion" : {
        "description" : "Value model for converting a string into an integer value.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.IntegerValue"
        }, {
          "type" : "object",
          "properties" : {
            "stringValue" : {
              "description" : "Value model for a string value. Resolves to a text JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "boolean:conversion:to_string" : "#/components/schemas/Workflows.BooleanToStringValueConversion",
                  "dimensional_scalar:conversion:to_string" : "#/components/schemas/Workflows.DimensionalScalarToStringValueConversion",
                  "dimensional_vector:conversion:to_string" : "#/components/schemas/Workflows.DimensionalVectorToStringValueConversion",
                  "entity_assignment:conversion:to_markdown_link_string" : "#/components/schemas/Workflows.EntityAssignmentToMarkdownLinkValueConversion",
                  "entity_assignment:conversion:to_string" : "#/components/schemas/Workflows.EntityAssignmentToStringValueConversion",
                  "entity_assignment_list:conversion:to_markdown_link_string" : "#/components/schemas/Workflows.EntityAssignmentListToMarkdownLinkValueConversion",
                  "enum:conversion:to_string" : "#/components/schemas/Workflows.EnumToStringValueConversion",
                  "integer:conversion:to_string" : "#/components/schemas/Workflows.IntegerToStringValueConversion",
                  "real:conversion:to_string" : "#/components/schemas/Workflows.RealToStringValueConversion",
                  "string:constant" : "#/components/schemas/Workflows.StringConstant",
                  "string:expression:select" : "#/components/schemas/Workflows.StringExpressionSelect",
                  "string:function:lowercase" : "#/components/schemas/Workflows.StringLowerCaseFunction",
                  "string:function:substring" : "#/components/schemas/Workflows.StringSubStringFunction",
                  "string:function:uppercase" : "#/components/schemas/Workflows.StringUpperCaseFunction",
                  "string:operation:plus" : "#/components/schemas/Workflows.StringOperationPlus",
                  "string:reference" : "#/components/schemas/Workflows.StringReference",
                  "value_list:conversion:to_string" : "#/components/schemas/Workflows.ValueListToStringValueConversion"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        } ],
        "default" : null
      },
      "Workflows.StringToRealValueConversion" : {
        "description" : "Value model for converting a string into an real value.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.RealValue"
        }, {
          "type" : "object",
          "properties" : {
            "stringValue" : {
              "description" : "Value model for a string value. Resolves to a text JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "boolean:conversion:to_string" : "#/components/schemas/Workflows.BooleanToStringValueConversion",
                  "dimensional_scalar:conversion:to_string" : "#/components/schemas/Workflows.DimensionalScalarToStringValueConversion",
                  "dimensional_vector:conversion:to_string" : "#/components/schemas/Workflows.DimensionalVectorToStringValueConversion",
                  "entity_assignment:conversion:to_markdown_link_string" : "#/components/schemas/Workflows.EntityAssignmentToMarkdownLinkValueConversion",
                  "entity_assignment:conversion:to_string" : "#/components/schemas/Workflows.EntityAssignmentToStringValueConversion",
                  "entity_assignment_list:conversion:to_markdown_link_string" : "#/components/schemas/Workflows.EntityAssignmentListToMarkdownLinkValueConversion",
                  "enum:conversion:to_string" : "#/components/schemas/Workflows.EnumToStringValueConversion",
                  "integer:conversion:to_string" : "#/components/schemas/Workflows.IntegerToStringValueConversion",
                  "real:conversion:to_string" : "#/components/schemas/Workflows.RealToStringValueConversion",
                  "string:constant" : "#/components/schemas/Workflows.StringConstant",
                  "string:expression:select" : "#/components/schemas/Workflows.StringExpressionSelect",
                  "string:function:lowercase" : "#/components/schemas/Workflows.StringLowerCaseFunction",
                  "string:function:substring" : "#/components/schemas/Workflows.StringSubStringFunction",
                  "string:function:uppercase" : "#/components/schemas/Workflows.StringUpperCaseFunction",
                  "string:operation:plus" : "#/components/schemas/Workflows.StringOperationPlus",
                  "string:reference" : "#/components/schemas/Workflows.StringReference",
                  "value_list:conversion:to_string" : "#/components/schemas/Workflows.ValueListToStringValueConversion"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.StringUpperCaseFunction" : {
        "description" : "Value model for calculating the upper-case version of a string.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.StringValue"
        }, {
          "type" : "object",
          "properties" : {
            "string" : {
              "description" : "Value model for a string value. Resolves to a text JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "boolean:conversion:to_string" : "#/components/schemas/Workflows.BooleanToStringValueConversion",
                  "dimensional_scalar:conversion:to_string" : "#/components/schemas/Workflows.DimensionalScalarToStringValueConversion",
                  "dimensional_vector:conversion:to_string" : "#/components/schemas/Workflows.DimensionalVectorToStringValueConversion",
                  "entity_assignment:conversion:to_markdown_link_string" : "#/components/schemas/Workflows.EntityAssignmentToMarkdownLinkValueConversion",
                  "entity_assignment:conversion:to_string" : "#/components/schemas/Workflows.EntityAssignmentToStringValueConversion",
                  "entity_assignment_list:conversion:to_markdown_link_string" : "#/components/schemas/Workflows.EntityAssignmentListToMarkdownLinkValueConversion",
                  "enum:conversion:to_string" : "#/components/schemas/Workflows.EnumToStringValueConversion",
                  "integer:conversion:to_string" : "#/components/schemas/Workflows.IntegerToStringValueConversion",
                  "real:conversion:to_string" : "#/components/schemas/Workflows.RealToStringValueConversion",
                  "string:constant" : "#/components/schemas/Workflows.StringConstant",
                  "string:expression:select" : "#/components/schemas/Workflows.StringExpressionSelect",
                  "string:function:lowercase" : "#/components/schemas/Workflows.StringLowerCaseFunction",
                  "string:function:substring" : "#/components/schemas/Workflows.StringSubStringFunction",
                  "string:function:uppercase" : "#/components/schemas/Workflows.StringUpperCaseFunction",
                  "string:operation:plus" : "#/components/schemas/Workflows.StringOperationPlus",
                  "string:reference" : "#/components/schemas/Workflows.StringReference",
                  "value_list:conversion:to_string" : "#/components/schemas/Workflows.ValueListToStringValueConversion"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.StringValue" : {
        "description" : "Value model for a string value. Resolves to a text JSON node.",
        "discriminator" : {
          "propertyName" : "value_model_type",
          "mapping" : {
            "boolean:conversion:to_string" : "#/components/schemas/Workflows.BooleanToStringValueConversion",
            "dimensional_scalar:conversion:to_string" : "#/components/schemas/Workflows.DimensionalScalarToStringValueConversion",
            "dimensional_vector:conversion:to_string" : "#/components/schemas/Workflows.DimensionalVectorToStringValueConversion",
            "entity_assignment:conversion:to_markdown_link_string" : "#/components/schemas/Workflows.EntityAssignmentToMarkdownLinkValueConversion",
            "entity_assignment:conversion:to_string" : "#/components/schemas/Workflows.EntityAssignmentToStringValueConversion",
            "entity_assignment_list:conversion:to_markdown_link_string" : "#/components/schemas/Workflows.EntityAssignmentListToMarkdownLinkValueConversion",
            "enum:conversion:to_string" : "#/components/schemas/Workflows.EnumToStringValueConversion",
            "integer:conversion:to_string" : "#/components/schemas/Workflows.IntegerToStringValueConversion",
            "real:conversion:to_string" : "#/components/schemas/Workflows.RealToStringValueConversion",
            "string:constant" : "#/components/schemas/Workflows.StringConstant",
            "string:expression:select" : "#/components/schemas/Workflows.StringExpressionSelect",
            "string:function:lowercase" : "#/components/schemas/Workflows.StringLowerCaseFunction",
            "string:function:substring" : "#/components/schemas/Workflows.StringSubStringFunction",
            "string:function:uppercase" : "#/components/schemas/Workflows.StringUpperCaseFunction",
            "string:operation:plus" : "#/components/schemas/Workflows.StringOperationPlus",
            "string:reference" : "#/components/schemas/Workflows.StringReference",
            "value_list:conversion:to_string" : "#/components/schemas/Workflows.ValueListToStringValueConversion"
          }
        },
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.TitleUiType" : {
        "type" : "string",
        "description" : "Enum for customizing type of the title of compound elements.",
        "default" : "",
        "enum" : [ "NORMAL", "FLATTENED", "HEADLINE", "COLLAPSIBLE_INITIALLY_OPEN", "COLLAPSIBLE_INITIALLY_CLOSED" ]
      },
      "ComponentRegistry.UiConfiguration" : {
        "type" : "object",
        "properties" : {
          "configurationEntries" : {
            "type" : "array",
            "items" : {
              "oneOf" : [ {
                "$ref" : "#/components/schemas/Workflows.CompoundFieldCustomUiConfigurationEntry"
              }, {
                "$ref" : "#/components/schemas/Workflows.CompoundFieldTitleUiConfigurationEntry"
              }, {
                "$ref" : "#/components/schemas/Workflows.NavigationListUiConfigurationEntry"
              }, {
                "$ref" : "#/components/schemas/Workflows.NavigationUiConfigurationEntry"
              }, {
                "$ref" : "#/components/schemas/Workflows.Plot2DUiConfigurationEntry"
              }, {
                "$ref" : "#/components/schemas/Workflows.SliderUiConfigurationEntry"
              }, {
                "$ref" : "#/components/schemas/Workflows.UnknownUiConfigurationEntry"
              }, {
                "$ref" : "#/components/schemas/Workflows.VisibilityUiConfigurationEntry"
              } ]
            }
          }
        }
      },
      "Workflows.UiConfigurationEntry" : {
        "required" : [ "configuration_entry_type" ],
        "type" : "object",
        "properties" : {
          "configuration_entry_type" : {
            "type" : "string"
          },
          "valueReference" : {
            "$ref" : "#/components/schemas/Workflows.ValueReference"
          }
        },
        "discriminator" : {
          "propertyName" : "configuration_entry_type",
          "mapping" : {
            "builtin:navigation" : "#/components/schemas/Workflows.NavigationUiConfigurationEntry",
            "builtin:navigation:list" : "#/components/schemas/Workflows.NavigationListUiConfigurationEntry",
            "builtin:plot" : "#/components/schemas/Workflows.Plot2DUiConfigurationEntry",
            "builtin:slider" : "#/components/schemas/Workflows.SliderUiConfigurationEntry",
            "builtin:title" : "#/components/schemas/Workflows.CompoundFieldTitleUiConfigurationEntry",
            "builtin:visibility" : "#/components/schemas/Workflows.VisibilityUiConfigurationEntry",
            "custom" : "#/components/schemas/Workflows.CompoundFieldCustomUiConfigurationEntry",
            "unknown" : "#/components/schemas/Workflows.UnknownUiConfigurationEntry"
          }
        },
        "default" : null
      },
      "Workflows.UnitProfileDimension" : {
        "type" : "object",
        "properties" : {
          "additional" : {
            "type" : "array",
            "items" : {
              "type" : "string"
            }
          },
          "default" : {
            "type" : "string"
          }
        },
        "description" : "A profile of measurement units used for a particular dimension, containing a default unit and optionally additional units.",
        "default" : null
      },
      "Workflows.UnitProfilesDimension" : {
        "type" : "object",
        "properties" : {
          "metric" : {
            "$ref" : "#/components/schemas/Workflows.UnitProfileDimension"
          },
          "usCustomary" : {
            "$ref" : "#/components/schemas/Workflows.UnitProfileDimension"
          }
        },
        "description" : "Holds unit profiles for a given quantity: one for the metric system, and an optional profile for the US customary system.",
        "default" : null
      },
      "Workflows.UnknownUiConfigurationEntry" : {
        "description" : "Fallback for an unrecognized or removed UI configuration entry type. Carries no behaviour; present only so legacy definitions can still be loaded.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.UiConfigurationEntry"
        } ],
        "default" : null
      },
      "ComponentRegistry.ValidationRule" : {
        "type" : "object",
        "properties" : {
          "cases" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ComponentRegistry.ValidationRuleCase"
            }
          },
          "code" : {
            "type" : "string"
          },
          "description" : {
            "type" : "string",
            "nullable" : true
          },
          "multiLanguageDescription" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "nullable" : true
          },
          "multiLanguageName" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "nullable" : true
          },
          "name" : {
            "type" : "string"
          },
          "valueReference" : {
            "oneOf" : [ {
              "$ref" : "#/components/schemas/Workflows.ConfigValueReference"
            }, {
              "$ref" : "#/components/schemas/Workflows.DataPresenceReference"
            }, {
              "$ref" : "#/components/schemas/Workflows.DataValueReference"
            }, {
              "$ref" : "#/components/schemas/Workflows.GeneralMetadataValueReference"
            }, {
              "$ref" : "#/components/schemas/Workflows.IteratorReference"
            }, {
              "$ref" : "#/components/schemas/Workflows.MetadataValueReference"
            }, {
              "$ref" : "#/components/schemas/Workflows.ViewerEntityValueReference"
            } ]
          }
        },
        "description" : "\nValidation rule defined on top of a value model.\n\nEach rule consists of one or more cases.\n",
        "default" : null
      },
      "ComponentRegistry.ValidationRuleCase" : {
        "type" : "object",
        "properties" : {
          "code" : {
            "type" : "string"
          },
          "condition" : {
            "$ref" : "#/components/schemas/Workflows.BooleanValue"
          },
          "details" : {
            "type" : "object",
            "additionalProperties" : {
              "oneOf" : [ {
                "$ref" : "#/components/schemas/Workflows.AsBooleanValue"
              }, {
                "$ref" : "#/components/schemas/Workflows.AsDimensionalScalarValue"
              }, {
                "$ref" : "#/components/schemas/Workflows.AsDimensionalVectorValue"
              }, {
                "$ref" : "#/components/schemas/Workflows.AsEntityAssignmentListValue"
              }, {
                "$ref" : "#/components/schemas/Workflows.AsEntityAssignmentValue"
              }, {
                "$ref" : "#/components/schemas/Workflows.AsEnumValue"
              }, {
                "$ref" : "#/components/schemas/Workflows.AsIntegerValue"
              }, {
                "$ref" : "#/components/schemas/Workflows.AsMeasurementUnitValue"
              }, {
                "$ref" : "#/components/schemas/Workflows.AsRealValue"
              }, {
                "$ref" : "#/components/schemas/Workflows.AsStringValue"
              }, {
                "$ref" : "#/components/schemas/Workflows.AsValueList"
              }, {
                "$ref" : "#/components/schemas/Workflows.BooleanComparisonEqual"
              }, {
                "$ref" : "#/components/schemas/Workflows.BooleanComparisonNotEqual"
              }, {
                "$ref" : "#/components/schemas/Workflows.BooleanConstant"
              }, {
                "$ref" : "#/components/schemas/Workflows.BooleanExpressionSelect"
              }, {
                "$ref" : "#/components/schemas/Workflows.BooleanOperationAnd"
              }, {
                "$ref" : "#/components/schemas/Workflows.BooleanOperationNot"
              }, {
                "$ref" : "#/components/schemas/Workflows.BooleanOperationOr"
              }, {
                "$ref" : "#/components/schemas/Workflows.BooleanOperationXor"
              }, {
                "$ref" : "#/components/schemas/Workflows.BooleanReference"
              }, {
                "$ref" : "#/components/schemas/Workflows.BooleanToStringValueConversion"
              }, {
                "$ref" : "#/components/schemas/Workflows.CompoundComparisonEqual"
              }, {
                "$ref" : "#/components/schemas/Workflows.CompoundExpressionSelect"
              }, {
                "$ref" : "#/components/schemas/Workflows.CompoundMapEntities"
              }, {
                "$ref" : "#/components/schemas/Workflows.CompoundValue"
              }, {
                "$ref" : "#/components/schemas/Workflows.ConstantValueList"
              }, {
                "$ref" : "#/components/schemas/Workflows.DimensionalScalarComparisonGreaterThan"
              }, {
                "$ref" : "#/components/schemas/Workflows.DimensionalScalarComparisonGreaterThanOrEqual"
              }, {
                "$ref" : "#/components/schemas/Workflows.DimensionalScalarComparisonLessThan"
              }, {
                "$ref" : "#/components/schemas/Workflows.DimensionalScalarComparisonLessThanOrEqual"
              }, {
                "$ref" : "#/components/schemas/Workflows.DimensionalScalarConstant"
              }, {
                "$ref" : "#/components/schemas/Workflows.DimensionalScalarExpressionSelect"
              }, {
                "$ref" : "#/components/schemas/Workflows.DimensionalScalarFromDimensionalVectorComponent"
              }, {
                "$ref" : "#/components/schemas/Workflows.DimensionalScalarFunctionPow"
              }, {
                "$ref" : "#/components/schemas/Workflows.DimensionalScalarOperationDiv"
              }, {
                "$ref" : "#/components/schemas/Workflows.DimensionalScalarOperationMinus"
              }, {
                "$ref" : "#/components/schemas/Workflows.DimensionalScalarOperationPlus"
              }, {
                "$ref" : "#/components/schemas/Workflows.DimensionalScalarOperationTimes"
              }, {
                "$ref" : "#/components/schemas/Workflows.DimensionalScalarReference"
              }, {
                "$ref" : "#/components/schemas/Workflows.DimensionalScalarToRealValueConversion"
              }, {
                "$ref" : "#/components/schemas/Workflows.DimensionalScalarToStringValueConversion"
              }, {
                "$ref" : "#/components/schemas/Workflows.DimensionalVectorConstant"
              }, {
                "$ref" : "#/components/schemas/Workflows.DimensionalVectorExpressionSelect"
              }, {
                "$ref" : "#/components/schemas/Workflows.DimensionalVectorFromComponents"
              }, {
                "$ref" : "#/components/schemas/Workflows.DimensionalVectorFunctionMag"
              }, {
                "$ref" : "#/components/schemas/Workflows.DimensionalVectorFunctionNorm"
              }, {
                "$ref" : "#/components/schemas/Workflows.DimensionalVectorOperationDiv"
              }, {
                "$ref" : "#/components/schemas/Workflows.DimensionalVectorOperationMinus"
              }, {
                "$ref" : "#/components/schemas/Workflows.DimensionalVectorOperationPlus"
              }, {
                "$ref" : "#/components/schemas/Workflows.DimensionalVectorOperationTimes"
              }, {
                "$ref" : "#/components/schemas/Workflows.DimensionalVectorReference"
              }, {
                "$ref" : "#/components/schemas/Workflows.DimensionalVectorToStringValueConversion"
              }, {
                "$ref" : "#/components/schemas/Workflows.EntityAssignmentConstant"
              }, {
                "$ref" : "#/components/schemas/Workflows.EntityAssignmentFunctionIsEmpty"
              }, {
                "$ref" : "#/components/schemas/Workflows.EntityAssignmentListConstant"
              }, {
                "$ref" : "#/components/schemas/Workflows.EntityAssignmentListFromComponents"
              }, {
                "$ref" : "#/components/schemas/Workflows.EntityAssignmentListFunctionCountEntities"
              }, {
                "$ref" : "#/components/schemas/Workflows.EntityAssignmentListFunctionIsEmpty"
              }, {
                "$ref" : "#/components/schemas/Workflows.EntityAssignmentListIntersect"
              }, {
                "$ref" : "#/components/schemas/Workflows.EntityAssignmentListMapEntities"
              }, {
                "$ref" : "#/components/schemas/Workflows.EntityAssignmentListReference"
              }, {
                "$ref" : "#/components/schemas/Workflows.EntityAssignmentListToMarkdownLinkValueConversion"
              }, {
                "$ref" : "#/components/schemas/Workflows.EntityAssignmentMapEntities"
              }, {
                "$ref" : "#/components/schemas/Workflows.EntityAssignmentReference"
              }, {
                "$ref" : "#/components/schemas/Workflows.EntityAssignmentToEntityAssignmentListValueConversion"
              }, {
                "$ref" : "#/components/schemas/Workflows.EntityAssignmentToMarkdownLinkValueConversion"
              }, {
                "$ref" : "#/components/schemas/Workflows.EntityAssignmentToStringValueConversion"
              }, {
                "$ref" : "#/components/schemas/Workflows.EnumComparisonEqual"
              }, {
                "$ref" : "#/components/schemas/Workflows.EnumComparisonNotEqual"
              }, {
                "$ref" : "#/components/schemas/Workflows.EnumConstant"
              }, {
                "$ref" : "#/components/schemas/Workflows.EnumExpressionSelect"
              }, {
                "$ref" : "#/components/schemas/Workflows.EnumFunctionOneOf"
              }, {
                "$ref" : "#/components/schemas/Workflows.EnumReference"
              }, {
                "$ref" : "#/components/schemas/Workflows.EnumToStringValueConversion"
              }, {
                "$ref" : "#/components/schemas/Workflows.IntegerComparisonEqual"
              }, {
                "$ref" : "#/components/schemas/Workflows.IntegerComparisonGreaterThan"
              }, {
                "$ref" : "#/components/schemas/Workflows.IntegerComparisonGreaterThanOrEqual"
              }, {
                "$ref" : "#/components/schemas/Workflows.IntegerComparisonLessThan"
              }, {
                "$ref" : "#/components/schemas/Workflows.IntegerComparisonLessThanOrEqual"
              }, {
                "$ref" : "#/components/schemas/Workflows.IntegerComparisonNotEqual"
              }, {
                "$ref" : "#/components/schemas/Workflows.IntegerConstant"
              }, {
                "$ref" : "#/components/schemas/Workflows.IntegerExpressionSelect"
              }, {
                "$ref" : "#/components/schemas/Workflows.IntegerFunctionAbs"
              }, {
                "$ref" : "#/components/schemas/Workflows.IntegerFunctionMax"
              }, {
                "$ref" : "#/components/schemas/Workflows.IntegerFunctionMin"
              }, {
                "$ref" : "#/components/schemas/Workflows.IntegerOperationDiv"
              }, {
                "$ref" : "#/components/schemas/Workflows.IntegerOperationMinus"
              }, {
                "$ref" : "#/components/schemas/Workflows.IntegerOperationPlus"
              }, {
                "$ref" : "#/components/schemas/Workflows.IntegerOperationRem"
              }, {
                "$ref" : "#/components/schemas/Workflows.IntegerOperationTimes"
              }, {
                "$ref" : "#/components/schemas/Workflows.IntegerReference"
              }, {
                "$ref" : "#/components/schemas/Workflows.IntegerSequenceGenerator"
              }, {
                "$ref" : "#/components/schemas/Workflows.IntegerToDimensionalScalarValueConversion"
              }, {
                "$ref" : "#/components/schemas/Workflows.IntegerToRealValueConversion"
              }, {
                "$ref" : "#/components/schemas/Workflows.IntegerToStringValueConversion"
              }, {
                "$ref" : "#/components/schemas/Workflows.MeasurementUnitComparisonEqual"
              }, {
                "$ref" : "#/components/schemas/Workflows.MeasurementUnitComparisonNotEqual"
              }, {
                "$ref" : "#/components/schemas/Workflows.MeasurementUnitConstant"
              }, {
                "$ref" : "#/components/schemas/Workflows.MeasurementUnitExpressionSelect"
              }, {
                "$ref" : "#/components/schemas/Workflows.MeasurementUnitFunctionPow"
              }, {
                "$ref" : "#/components/schemas/Workflows.MeasurementUnitOperationDiv"
              }, {
                "$ref" : "#/components/schemas/Workflows.MeasurementUnitOperationTimes"
              }, {
                "$ref" : "#/components/schemas/Workflows.MeasurementUnitReference"
              }, {
                "$ref" : "#/components/schemas/Workflows.PolymorphicCompoundTypeCheck"
              }, {
                "$ref" : "#/components/schemas/Workflows.RealComparisonEqual"
              }, {
                "$ref" : "#/components/schemas/Workflows.RealComparisonGreaterThan"
              }, {
                "$ref" : "#/components/schemas/Workflows.RealComparisonGreaterThanOrEqual"
              }, {
                "$ref" : "#/components/schemas/Workflows.RealComparisonLessThan"
              }, {
                "$ref" : "#/components/schemas/Workflows.RealComparisonLessThanOrEqual"
              }, {
                "$ref" : "#/components/schemas/Workflows.RealComparisonNotEqual"
              }, {
                "$ref" : "#/components/schemas/Workflows.RealConstant"
              }, {
                "$ref" : "#/components/schemas/Workflows.RealExpressionSelect"
              }, {
                "$ref" : "#/components/schemas/Workflows.RealFunctionACos"
              }, {
                "$ref" : "#/components/schemas/Workflows.RealFunctionASin"
              }, {
                "$ref" : "#/components/schemas/Workflows.RealFunctionATan"
              }, {
                "$ref" : "#/components/schemas/Workflows.RealFunctionATan2"
              }, {
                "$ref" : "#/components/schemas/Workflows.RealFunctionAbs"
              }, {
                "$ref" : "#/components/schemas/Workflows.RealFunctionCbrt"
              }, {
                "$ref" : "#/components/schemas/Workflows.RealFunctionCos"
              }, {
                "$ref" : "#/components/schemas/Workflows.RealFunctionExp"
              }, {
                "$ref" : "#/components/schemas/Workflows.RealFunctionLog"
              }, {
                "$ref" : "#/components/schemas/Workflows.RealFunctionLog10"
              }, {
                "$ref" : "#/components/schemas/Workflows.RealFunctionMax"
              }, {
                "$ref" : "#/components/schemas/Workflows.RealFunctionMin"
              }, {
                "$ref" : "#/components/schemas/Workflows.RealFunctionPow"
              }, {
                "$ref" : "#/components/schemas/Workflows.RealFunctionSin"
              }, {
                "$ref" : "#/components/schemas/Workflows.RealFunctionSqrt"
              }, {
                "$ref" : "#/components/schemas/Workflows.RealFunctionTan"
              }, {
                "$ref" : "#/components/schemas/Workflows.RealOperationDiv"
              }, {
                "$ref" : "#/components/schemas/Workflows.RealOperationMinus"
              }, {
                "$ref" : "#/components/schemas/Workflows.RealOperationPlus"
              }, {
                "$ref" : "#/components/schemas/Workflows.RealOperationTimes"
              }, {
                "$ref" : "#/components/schemas/Workflows.RealReference"
              }, {
                "$ref" : "#/components/schemas/Workflows.RealSequenceGenerator"
              }, {
                "$ref" : "#/components/schemas/Workflows.RealToDimensionalScalarValueConversion"
              }, {
                "$ref" : "#/components/schemas/Workflows.RealToIntegerConversion"
              }, {
                "$ref" : "#/components/schemas/Workflows.RealToStringValueConversion"
              }, {
                "$ref" : "#/components/schemas/Workflows.ReferenceValueList"
              }, {
                "$ref" : "#/components/schemas/Workflows.StringComparisonEqual"
              }, {
                "$ref" : "#/components/schemas/Workflows.StringComparisonNotEqual"
              }, {
                "$ref" : "#/components/schemas/Workflows.StringConstant"
              }, {
                "$ref" : "#/components/schemas/Workflows.StringContainsFunction"
              }, {
                "$ref" : "#/components/schemas/Workflows.StringEndsWithFunction"
              }, {
                "$ref" : "#/components/schemas/Workflows.StringExpressionSelect"
              }, {
                "$ref" : "#/components/schemas/Workflows.StringLengthFunction"
              }, {
                "$ref" : "#/components/schemas/Workflows.StringLowerCaseFunction"
              }, {
                "$ref" : "#/components/schemas/Workflows.StringOperationPlus"
              }, {
                "$ref" : "#/components/schemas/Workflows.StringReference"
              }, {
                "$ref" : "#/components/schemas/Workflows.StringStartsWithFunction"
              }, {
                "$ref" : "#/components/schemas/Workflows.StringSubStringFunction"
              }, {
                "$ref" : "#/components/schemas/Workflows.StringToIntegerValueConversion"
              }, {
                "$ref" : "#/components/schemas/Workflows.StringToRealValueConversion"
              }, {
                "$ref" : "#/components/schemas/Workflows.StringUpperCaseFunction"
              }, {
                "$ref" : "#/components/schemas/Workflows.ValueListExpressionSelect"
              }, {
                "$ref" : "#/components/schemas/Workflows.ValueListFunctionAll"
              }, {
                "$ref" : "#/components/schemas/Workflows.ValueListFunctionAny"
              }, {
                "$ref" : "#/components/schemas/Workflows.ValueListFunctionDrop"
              }, {
                "$ref" : "#/components/schemas/Workflows.ValueListFunctionDropLast"
              }, {
                "$ref" : "#/components/schemas/Workflows.ValueListFunctionFilter"
              }, {
                "$ref" : "#/components/schemas/Workflows.ValueListFunctionFind"
              }, {
                "$ref" : "#/components/schemas/Workflows.ValueListFunctionFirst"
              }, {
                "$ref" : "#/components/schemas/Workflows.ValueListFunctionGet"
              }, {
                "$ref" : "#/components/schemas/Workflows.ValueListFunctionIntegerSum"
              }, {
                "$ref" : "#/components/schemas/Workflows.ValueListFunctionIsEmpty"
              }, {
                "$ref" : "#/components/schemas/Workflows.ValueListFunctionIsNotEmpty"
              }, {
                "$ref" : "#/components/schemas/Workflows.ValueListFunctionLast"
              }, {
                "$ref" : "#/components/schemas/Workflows.ValueListFunctionMap"
              }, {
                "$ref" : "#/components/schemas/Workflows.ValueListFunctionNone"
              }, {
                "$ref" : "#/components/schemas/Workflows.ValueListFunctionRealSum"
              }, {
                "$ref" : "#/components/schemas/Workflows.ValueListFunctionSize"
              }, {
                "$ref" : "#/components/schemas/Workflows.ValueListFunctionSubList"
              }, {
                "$ref" : "#/components/schemas/Workflows.ValueListFunctionTake"
              }, {
                "$ref" : "#/components/schemas/Workflows.ValueListFunctionTakeLast"
              }, {
                "$ref" : "#/components/schemas/Workflows.ValueListOperationPlus"
              }, {
                "$ref" : "#/components/schemas/Workflows.ValueListOperationTimes"
              }, {
                "$ref" : "#/components/schemas/Workflows.ValueListToStringValueConversion"
              } ]
            },
            "nullable" : true
          },
          "message" : {
            "$ref" : "#/components/schemas/Workflows.StringValue"
          },
          "multiLanguageMessage" : {
            "type" : "object",
            "additionalProperties" : {
              "$ref" : "#/components/schemas/Workflows.StringValue"
            },
            "nullable" : true
          },
          "severityLevel" : {
            "type" : "string",
            "description" : "Severity levels for reporting validation results.",
            "default" : null,
            "enum" : [ "ERROR", "WARNING" ]
          }
        },
        "description" : "One particular case of a validation rule to be checked during validation.",
        "default" : null
      },
      "ComponentRegistry.ValidationRuleSet" : {
        "type" : "object",
        "properties" : {
          "rules" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/ComponentRegistry.ValidationRule"
            }
          }
        },
        "description" : "\nSet of validation rules.\n\nIt can be associated to for example a workflow type configuration schema or a method configuration schema.\n",
        "default" : null
      },
      "Workflows.Value" : {
        "required" : [ "value_model_type" ],
        "type" : "object",
        "properties" : {
          "value_model_type" : {
            "type" : "string"
          }
        },
        "description" : "\nValue interface is the root of the value model type hierarchy.\n\nValue models store the computation model of values. The models are defined by the developer, for convenience through a DSL\ncomposed of receiver and extension functions and other Kotlin language constructs.\n\nWhen the build runs the definition of the value model, it gets serialized into a JSON representation and that is the artifact of the build.\nThese JSONs are persisted into the database and loaded by the workflow engine for the evaluation of the values.\nOnce values are computed they get stored as data and used by methods or clients to show data to the user.\nValue models and data models adhere to the same schema defined by the developer in DSSL, just they have a different implementation due to their different roles.\n\nBelow we define the central repository of value models. These are all part of the framework, available to the workflow engine as well.\nThey provide atomic types and composition mechanisms via containers and the compound value model class. These are in sync with the building blocks in DSSL.\n\nUser defined types via DSSL schemas are based on the compound value model. The generated value models are available only at build time to the user to define\nthe value computation logic in a type-safe way, meanwhile at runtime in the workflow engine only the compound value model is present.\n\nThe single value resolution function of this interface is the one used by the workflow engine to execute the value computation.\nAll value models implement this in their own way. The result is always a JSON node, which can be either a single node or an entire tree of nodes behind it.\n\nValue model types below are organized into groups based on their parent type, essentially following the hierarchy in a flattened way.\nThe type names - which get into the serialized JSON representation - also follow this structure, where levels are separated with a colon (`:`).\nBy convention names composed of multiple words are presented with snake-case and these rules are followed as a naming convention:\n* `operation` for operators (both unary and binary, e.g. plus, minus, not...),\n* `comparison` for comparators (equal, not equal, less than),\n* `function` for the general case.\n    ",
        "discriminator" : {
          "propertyName" : "value_model_type",
          "mapping" : {
            "boolean:comparison:equal" : "#/components/schemas/Workflows.BooleanComparisonEqual",
            "boolean:comparison:not_equal" : "#/components/schemas/Workflows.BooleanComparisonNotEqual",
            "boolean:constant" : "#/components/schemas/Workflows.BooleanConstant",
            "boolean:conversion:to_string" : "#/components/schemas/Workflows.BooleanToStringValueConversion",
            "boolean:expression:select" : "#/components/schemas/Workflows.BooleanExpressionSelect",
            "boolean:operation:and" : "#/components/schemas/Workflows.BooleanOperationAnd",
            "boolean:operation:not" : "#/components/schemas/Workflows.BooleanOperationNot",
            "boolean:operation:or" : "#/components/schemas/Workflows.BooleanOperationOr",
            "boolean:operation:xor" : "#/components/schemas/Workflows.BooleanOperationXor",
            "boolean:reference" : "#/components/schemas/Workflows.BooleanReference",
            "compound" : "#/components/schemas/Workflows.CompoundValue",
            "compound:comparison:equal" : "#/components/schemas/Workflows.CompoundComparisonEqual",
            "compound:expression:select" : "#/components/schemas/Workflows.CompoundExpressionSelect",
            "compound:function:is_type" : "#/components/schemas/Workflows.PolymorphicCompoundTypeCheck",
            "compound:function:map_entities" : "#/components/schemas/Workflows.CompoundMapEntities",
            "dimensional_scalar:comparison:greater_than" : "#/components/schemas/Workflows.DimensionalScalarComparisonGreaterThan",
            "dimensional_scalar:comparison:greater_than_or_equal" : "#/components/schemas/Workflows.DimensionalScalarComparisonGreaterThanOrEqual",
            "dimensional_scalar:comparison:less_than" : "#/components/schemas/Workflows.DimensionalScalarComparisonLessThan",
            "dimensional_scalar:comparison:less_than_or_equal" : "#/components/schemas/Workflows.DimensionalScalarComparisonLessThanOrEqual",
            "dimensional_scalar:constant" : "#/components/schemas/Workflows.DimensionalScalarConstant",
            "dimensional_scalar:conversion:to_real" : "#/components/schemas/Workflows.DimensionalScalarToRealValueConversion",
            "dimensional_scalar:conversion:to_string" : "#/components/schemas/Workflows.DimensionalScalarToStringValueConversion",
            "dimensional_scalar:expression:select" : "#/components/schemas/Workflows.DimensionalScalarExpressionSelect",
            "dimensional_scalar:function:pow" : "#/components/schemas/Workflows.DimensionalScalarFunctionPow",
            "dimensional_scalar:operation:div" : "#/components/schemas/Workflows.DimensionalScalarOperationDiv",
            "dimensional_scalar:operation:minus" : "#/components/schemas/Workflows.DimensionalScalarOperationMinus",
            "dimensional_scalar:operation:plus" : "#/components/schemas/Workflows.DimensionalScalarOperationPlus",
            "dimensional_scalar:operation:times" : "#/components/schemas/Workflows.DimensionalScalarOperationTimes",
            "dimensional_scalar:reference" : "#/components/schemas/Workflows.DimensionalScalarReference",
            "dimensional_vector:constant" : "#/components/schemas/Workflows.DimensionalVectorConstant",
            "dimensional_vector:conversion:to_string" : "#/components/schemas/Workflows.DimensionalVectorToStringValueConversion",
            "dimensional_vector:expression:select" : "#/components/schemas/Workflows.DimensionalVectorExpressionSelect",
            "dimensional_vector:function:component" : "#/components/schemas/Workflows.DimensionalScalarFromDimensionalVectorComponent",
            "dimensional_vector:function:mag" : "#/components/schemas/Workflows.DimensionalVectorFunctionMag",
            "dimensional_vector:function:norm" : "#/components/schemas/Workflows.DimensionalVectorFunctionNorm",
            "dimensional_vector:operation:div" : "#/components/schemas/Workflows.DimensionalVectorOperationDiv",
            "dimensional_vector:operation:minus" : "#/components/schemas/Workflows.DimensionalVectorOperationMinus",
            "dimensional_vector:operation:plus" : "#/components/schemas/Workflows.DimensionalVectorOperationPlus",
            "dimensional_vector:operation:times" : "#/components/schemas/Workflows.DimensionalVectorOperationTimes",
            "dimensional_vector:reference" : "#/components/schemas/Workflows.DimensionalVectorReference",
            "dynamic_cast:as_boolean" : "#/components/schemas/Workflows.AsBooleanValue",
            "dynamic_cast:as_dimensional_scalar" : "#/components/schemas/Workflows.AsDimensionalScalarValue",
            "dynamic_cast:as_dimensional_vector" : "#/components/schemas/Workflows.AsDimensionalVectorValue",
            "dynamic_cast:as_entity_assignment" : "#/components/schemas/Workflows.AsEntityAssignmentValue",
            "dynamic_cast:as_entity_assignment_list" : "#/components/schemas/Workflows.AsEntityAssignmentListValue",
            "dynamic_cast:as_enum" : "#/components/schemas/Workflows.AsEnumValue",
            "dynamic_cast:as_integer" : "#/components/schemas/Workflows.AsIntegerValue",
            "dynamic_cast:as_list" : "#/components/schemas/Workflows.AsValueList",
            "dynamic_cast:as_measurement_unit" : "#/components/schemas/Workflows.AsMeasurementUnitValue",
            "dynamic_cast:as_real" : "#/components/schemas/Workflows.AsRealValue",
            "dynamic_cast:as_string" : "#/components/schemas/Workflows.AsStringValue",
            "entity_assignment:constant" : "#/components/schemas/Workflows.EntityAssignmentConstant",
            "entity_assignment:conversion:to_entity_assignment_list" : "#/components/schemas/Workflows.EntityAssignmentToEntityAssignmentListValueConversion",
            "entity_assignment:conversion:to_markdown_link_string" : "#/components/schemas/Workflows.EntityAssignmentToMarkdownLinkValueConversion",
            "entity_assignment:conversion:to_string" : "#/components/schemas/Workflows.EntityAssignmentToStringValueConversion",
            "entity_assignment:function:is_empty" : "#/components/schemas/Workflows.EntityAssignmentFunctionIsEmpty",
            "entity_assignment:function:map_entities" : "#/components/schemas/Workflows.EntityAssignmentMapEntities",
            "entity_assignment:reference" : "#/components/schemas/Workflows.EntityAssignmentReference",
            "entity_assignment_list:constant" : "#/components/schemas/Workflows.EntityAssignmentListConstant",
            "entity_assignment_list:conversion:to_markdown_link_string" : "#/components/schemas/Workflows.EntityAssignmentListToMarkdownLinkValueConversion",
            "entity_assignment_list:function:count_entities" : "#/components/schemas/Workflows.EntityAssignmentListFunctionCountEntities",
            "entity_assignment_list:function:intersect" : "#/components/schemas/Workflows.EntityAssignmentListIntersect",
            "entity_assignment_list:function:is_empty" : "#/components/schemas/Workflows.EntityAssignmentListFunctionIsEmpty",
            "entity_assignment_list:function:map_entities" : "#/components/schemas/Workflows.EntityAssignmentListMapEntities",
            "entity_assignment_list:reference" : "#/components/schemas/Workflows.EntityAssignmentListReference",
            "enum:comparison:equal" : "#/components/schemas/Workflows.EnumComparisonEqual",
            "enum:comparison:not_equal" : "#/components/schemas/Workflows.EnumComparisonNotEqual",
            "enum:constant" : "#/components/schemas/Workflows.EnumConstant",
            "enum:conversion:to_string" : "#/components/schemas/Workflows.EnumToStringValueConversion",
            "enum:expression:select" : "#/components/schemas/Workflows.EnumExpressionSelect",
            "enum:function:one_of" : "#/components/schemas/Workflows.EnumFunctionOneOf",
            "enum:reference" : "#/components/schemas/Workflows.EnumReference",
            "integer:comparison:equal" : "#/components/schemas/Workflows.IntegerComparisonEqual",
            "integer:comparison:greater_than" : "#/components/schemas/Workflows.IntegerComparisonGreaterThan",
            "integer:comparison:greater_than_or_equal" : "#/components/schemas/Workflows.IntegerComparisonGreaterThanOrEqual",
            "integer:comparison:less_than" : "#/components/schemas/Workflows.IntegerComparisonLessThan",
            "integer:comparison:less_than_or_equal" : "#/components/schemas/Workflows.IntegerComparisonLessThanOrEqual",
            "integer:comparison:not_equal" : "#/components/schemas/Workflows.IntegerComparisonNotEqual",
            "integer:constant" : "#/components/schemas/Workflows.IntegerConstant",
            "integer:conversion:to_dimensional_scalar" : "#/components/schemas/Workflows.IntegerToDimensionalScalarValueConversion",
            "integer:conversion:to_real" : "#/components/schemas/Workflows.IntegerToRealValueConversion",
            "integer:conversion:to_string" : "#/components/schemas/Workflows.IntegerToStringValueConversion",
            "integer:expression:select" : "#/components/schemas/Workflows.IntegerExpressionSelect",
            "integer:function:abs" : "#/components/schemas/Workflows.IntegerFunctionAbs",
            "integer:function:max" : "#/components/schemas/Workflows.IntegerFunctionMax",
            "integer:function:min" : "#/components/schemas/Workflows.IntegerFunctionMin",
            "integer:operation:div" : "#/components/schemas/Workflows.IntegerOperationDiv",
            "integer:operation:minus" : "#/components/schemas/Workflows.IntegerOperationMinus",
            "integer:operation:plus" : "#/components/schemas/Workflows.IntegerOperationPlus",
            "integer:operation:rem" : "#/components/schemas/Workflows.IntegerOperationRem",
            "integer:operation:times" : "#/components/schemas/Workflows.IntegerOperationTimes",
            "integer:reference" : "#/components/schemas/Workflows.IntegerReference",
            "list:constant" : "#/components/schemas/Workflows.ConstantValueList",
            "list:conversion:to_entity_assignment_list" : "#/components/schemas/Workflows.EntityAssignmentListFromComponents",
            "list:expression:select" : "#/components/schemas/Workflows.ValueListExpressionSelect",
            "list:function:all" : "#/components/schemas/Workflows.ValueListFunctionAll",
            "list:function:any" : "#/components/schemas/Workflows.ValueListFunctionAny",
            "list:function:drop" : "#/components/schemas/Workflows.ValueListFunctionDrop",
            "list:function:drop_last" : "#/components/schemas/Workflows.ValueListFunctionDropLast",
            "list:function:filter" : "#/components/schemas/Workflows.ValueListFunctionFilter",
            "list:function:find" : "#/components/schemas/Workflows.ValueListFunctionFind",
            "list:function:first" : "#/components/schemas/Workflows.ValueListFunctionFirst",
            "list:function:get" : "#/components/schemas/Workflows.ValueListFunctionGet",
            "list:function:integer_sum" : "#/components/schemas/Workflows.ValueListFunctionIntegerSum",
            "list:function:is_empty" : "#/components/schemas/Workflows.ValueListFunctionIsEmpty",
            "list:function:is_not_empty" : "#/components/schemas/Workflows.ValueListFunctionIsNotEmpty",
            "list:function:last" : "#/components/schemas/Workflows.ValueListFunctionLast",
            "list:function:length" : "#/components/schemas/Workflows.ValueListFunctionSize",
            "list:function:map" : "#/components/schemas/Workflows.ValueListFunctionMap",
            "list:function:none" : "#/components/schemas/Workflows.ValueListFunctionNone",
            "list:function:real_sum" : "#/components/schemas/Workflows.ValueListFunctionRealSum",
            "list:function:sublist" : "#/components/schemas/Workflows.ValueListFunctionSubList",
            "list:function:take" : "#/components/schemas/Workflows.ValueListFunctionTake",
            "list:function:take_last" : "#/components/schemas/Workflows.ValueListFunctionTakeLast",
            "list:generator:integer_sequence" : "#/components/schemas/Workflows.IntegerSequenceGenerator",
            "list:generator:real_sequence" : "#/components/schemas/Workflows.RealSequenceGenerator",
            "list:operation:plus" : "#/components/schemas/Workflows.ValueListOperationPlus",
            "list:operation:times" : "#/components/schemas/Workflows.ValueListOperationTimes",
            "list:reference" : "#/components/schemas/Workflows.ReferenceValueList",
            "real:comparison:equal" : "#/components/schemas/Workflows.RealComparisonEqual",
            "real:comparison:greater_than" : "#/components/schemas/Workflows.RealComparisonGreaterThan",
            "real:comparison:greater_than_or_equal" : "#/components/schemas/Workflows.RealComparisonGreaterThanOrEqual",
            "real:comparison:less_than" : "#/components/schemas/Workflows.RealComparisonLessThan",
            "real:comparison:less_than_or_equal" : "#/components/schemas/Workflows.RealComparisonLessThanOrEqual",
            "real:comparison:not_equal" : "#/components/schemas/Workflows.RealComparisonNotEqual",
            "real:constant" : "#/components/schemas/Workflows.RealConstant",
            "real:conversion:to_dimensional_scalar" : "#/components/schemas/Workflows.RealToDimensionalScalarValueConversion",
            "real:conversion:to_dimensional_vector" : "#/components/schemas/Workflows.DimensionalVectorFromComponents",
            "real:conversion:to_integer" : "#/components/schemas/Workflows.RealToIntegerConversion",
            "real:conversion:to_string" : "#/components/schemas/Workflows.RealToStringValueConversion",
            "real:expression:select" : "#/components/schemas/Workflows.RealExpressionSelect",
            "real:function:abs" : "#/components/schemas/Workflows.RealFunctionAbs",
            "real:function:acos" : "#/components/schemas/Workflows.RealFunctionACos",
            "real:function:asin" : "#/components/schemas/Workflows.RealFunctionASin",
            "real:function:atan" : "#/components/schemas/Workflows.RealFunctionATan",
            "real:function:atan2" : "#/components/schemas/Workflows.RealFunctionATan2",
            "real:function:cbrt" : "#/components/schemas/Workflows.RealFunctionCbrt",
            "real:function:cos" : "#/components/schemas/Workflows.RealFunctionCos",
            "real:function:exp" : "#/components/schemas/Workflows.RealFunctionExp",
            "real:function:log" : "#/components/schemas/Workflows.RealFunctionLog",
            "real:function:log10" : "#/components/schemas/Workflows.RealFunctionLog10",
            "real:function:max" : "#/components/schemas/Workflows.RealFunctionMax",
            "real:function:min" : "#/components/schemas/Workflows.RealFunctionMin",
            "real:function:pow" : "#/components/schemas/Workflows.RealFunctionPow",
            "real:function:sin" : "#/components/schemas/Workflows.RealFunctionSin",
            "real:function:sqrt" : "#/components/schemas/Workflows.RealFunctionSqrt",
            "real:function:tan" : "#/components/schemas/Workflows.RealFunctionTan",
            "real:operation:div" : "#/components/schemas/Workflows.RealOperationDiv",
            "real:operation:minus" : "#/components/schemas/Workflows.RealOperationMinus",
            "real:operation:plus" : "#/components/schemas/Workflows.RealOperationPlus",
            "real:operation:times" : "#/components/schemas/Workflows.RealOperationTimes",
            "real:reference" : "#/components/schemas/Workflows.RealReference",
            "string:comparison:equal" : "#/components/schemas/Workflows.StringComparisonEqual",
            "string:comparison:not_equal" : "#/components/schemas/Workflows.StringComparisonNotEqual",
            "string:constant" : "#/components/schemas/Workflows.StringConstant",
            "string:conversion:to_integer" : "#/components/schemas/Workflows.StringToIntegerValueConversion",
            "string:conversion:to_real" : "#/components/schemas/Workflows.StringToRealValueConversion",
            "string:expression:select" : "#/components/schemas/Workflows.StringExpressionSelect",
            "string:function:contains" : "#/components/schemas/Workflows.StringContainsFunction",
            "string:function:ends_with" : "#/components/schemas/Workflows.StringEndsWithFunction",
            "string:function:length" : "#/components/schemas/Workflows.StringLengthFunction",
            "string:function:lowercase" : "#/components/schemas/Workflows.StringLowerCaseFunction",
            "string:function:starts_with" : "#/components/schemas/Workflows.StringStartsWithFunction",
            "string:function:substring" : "#/components/schemas/Workflows.StringSubStringFunction",
            "string:function:uppercase" : "#/components/schemas/Workflows.StringUpperCaseFunction",
            "string:operation:plus" : "#/components/schemas/Workflows.StringOperationPlus",
            "string:reference" : "#/components/schemas/Workflows.StringReference",
            "unit:comparison:equal" : "#/components/schemas/Workflows.MeasurementUnitComparisonEqual",
            "unit:comparison:not_equal" : "#/components/schemas/Workflows.MeasurementUnitComparisonNotEqual",
            "unit:constant" : "#/components/schemas/Workflows.MeasurementUnitConstant",
            "unit:expression:select" : "#/components/schemas/Workflows.MeasurementUnitExpressionSelect",
            "unit:function:pow" : "#/components/schemas/Workflows.MeasurementUnitFunctionPow",
            "unit:operation:div" : "#/components/schemas/Workflows.MeasurementUnitOperationDiv",
            "unit:operation:times" : "#/components/schemas/Workflows.MeasurementUnitOperationTimes",
            "unit:reference" : "#/components/schemas/Workflows.MeasurementUnitReference",
            "value_list:conversion:to_string" : "#/components/schemas/Workflows.ValueListToStringValueConversion"
          }
        },
        "default" : null
      },
      "Workflows.ValueList" : {
        "description" : "Value model for a list of values. Resolves to a JSON array.",
        "discriminator" : {
          "propertyName" : "value_model_type",
          "mapping" : {
            "list:constant" : "#/components/schemas/Workflows.ConstantValueList",
            "list:expression:select" : "#/components/schemas/Workflows.ValueListExpressionSelect",
            "list:function:drop" : "#/components/schemas/Workflows.ValueListFunctionDrop",
            "list:function:drop_last" : "#/components/schemas/Workflows.ValueListFunctionDropLast",
            "list:function:filter" : "#/components/schemas/Workflows.ValueListFunctionFilter",
            "list:function:map" : "#/components/schemas/Workflows.ValueListFunctionMap",
            "list:function:sublist" : "#/components/schemas/Workflows.ValueListFunctionSubList",
            "list:function:take" : "#/components/schemas/Workflows.ValueListFunctionTake",
            "list:function:take_last" : "#/components/schemas/Workflows.ValueListFunctionTakeLast",
            "list:generator:integer_sequence" : "#/components/schemas/Workflows.IntegerSequenceGenerator",
            "list:generator:real_sequence" : "#/components/schemas/Workflows.RealSequenceGenerator",
            "list:operation:plus" : "#/components/schemas/Workflows.ValueListOperationPlus",
            "list:operation:times" : "#/components/schemas/Workflows.ValueListOperationTimes",
            "list:reference" : "#/components/schemas/Workflows.ReferenceValueList"
          }
        },
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.ValueListDataSeriesValue" : {
        "description" : "Value model for a list of values. Resolves to a JSON array.",
        "discriminator" : {
          "propertyName" : "value_model_type",
          "mapping" : {
            "list:constant" : "#/components/schemas/Workflows.ConstantValueList",
            "list:expression:select" : "#/components/schemas/Workflows.ValueListExpressionSelect",
            "list:function:drop" : "#/components/schemas/Workflows.ValueListFunctionDrop",
            "list:function:drop_last" : "#/components/schemas/Workflows.ValueListFunctionDropLast",
            "list:function:filter" : "#/components/schemas/Workflows.ValueListFunctionFilter",
            "list:function:map" : "#/components/schemas/Workflows.ValueListFunctionMap",
            "list:function:sublist" : "#/components/schemas/Workflows.ValueListFunctionSubList",
            "list:function:take" : "#/components/schemas/Workflows.ValueListFunctionTake",
            "list:function:take_last" : "#/components/schemas/Workflows.ValueListFunctionTakeLast",
            "list:generator:integer_sequence" : "#/components/schemas/Workflows.IntegerSequenceGenerator",
            "list:generator:real_sequence" : "#/components/schemas/Workflows.RealSequenceGenerator",
            "list:operation:plus" : "#/components/schemas/Workflows.ValueListOperationPlus",
            "list:operation:times" : "#/components/schemas/Workflows.ValueListOperationTimes",
            "list:reference" : "#/components/schemas/Workflows.ReferenceValueList"
          }
        },
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.ValueListEnumValue" : {
        "description" : "Value model for a list of values. Resolves to a JSON array.",
        "discriminator" : {
          "propertyName" : "value_model_type",
          "mapping" : {
            "list:constant" : "#/components/schemas/Workflows.ConstantValueList",
            "list:expression:select" : "#/components/schemas/Workflows.ValueListExpressionSelect",
            "list:function:drop" : "#/components/schemas/Workflows.ValueListFunctionDrop",
            "list:function:drop_last" : "#/components/schemas/Workflows.ValueListFunctionDropLast",
            "list:function:filter" : "#/components/schemas/Workflows.ValueListFunctionFilter",
            "list:function:map" : "#/components/schemas/Workflows.ValueListFunctionMap",
            "list:function:sublist" : "#/components/schemas/Workflows.ValueListFunctionSubList",
            "list:function:take" : "#/components/schemas/Workflows.ValueListFunctionTake",
            "list:function:take_last" : "#/components/schemas/Workflows.ValueListFunctionTakeLast",
            "list:generator:integer_sequence" : "#/components/schemas/Workflows.IntegerSequenceGenerator",
            "list:generator:real_sequence" : "#/components/schemas/Workflows.RealSequenceGenerator",
            "list:operation:plus" : "#/components/schemas/Workflows.ValueListOperationPlus",
            "list:operation:times" : "#/components/schemas/Workflows.ValueListOperationTimes",
            "list:reference" : "#/components/schemas/Workflows.ReferenceValueList"
          }
        },
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.ValueListExpressionSelect" : {
        "description" : "Value model for selecting a list from a list of lists based on the provided conditions.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.ValueList"
        }, {
          "type" : "object",
          "properties" : {
            "options" : {
              "type" : "array",
              "items" : {
                "$ref" : "#/components/schemas/Workflows.PairBooleanValueValueListValue"
              }
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.ValueListFunctionAll" : {
        "description" : "Value model for testing a list if all of the elements matches a particular criteria.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.BooleanValue"
        }, {
          "type" : "object",
          "properties" : {
            "criteria" : {
              "$ref" : "#/components/schemas/Workflows.BooleanValue"
            },
            "iteratorReference" : {
              "description" : "Iterator reference for processing collections.",
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.ValueReference"
              }, {
                "type" : "object",
                "properties" : {
                  "iteratorId" : {
                    "type" : "string"
                  },
                  "valuePath" : {
                    "type" : "string"
                  }
                }
              } ],
              "default" : null
            },
            "valueList" : {
              "description" : "Value model for a list of values. Resolves to a JSON array.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "list:constant" : "#/components/schemas/Workflows.ConstantValueList",
                  "list:expression:select" : "#/components/schemas/Workflows.ValueListExpressionSelect",
                  "list:function:drop" : "#/components/schemas/Workflows.ValueListFunctionDrop",
                  "list:function:drop_last" : "#/components/schemas/Workflows.ValueListFunctionDropLast",
                  "list:function:filter" : "#/components/schemas/Workflows.ValueListFunctionFilter",
                  "list:function:map" : "#/components/schemas/Workflows.ValueListFunctionMap",
                  "list:function:sublist" : "#/components/schemas/Workflows.ValueListFunctionSubList",
                  "list:function:take" : "#/components/schemas/Workflows.ValueListFunctionTake",
                  "list:function:take_last" : "#/components/schemas/Workflows.ValueListFunctionTakeLast",
                  "list:generator:integer_sequence" : "#/components/schemas/Workflows.IntegerSequenceGenerator",
                  "list:generator:real_sequence" : "#/components/schemas/Workflows.RealSequenceGenerator",
                  "list:operation:plus" : "#/components/schemas/Workflows.ValueListOperationPlus",
                  "list:operation:times" : "#/components/schemas/Workflows.ValueListOperationTimes",
                  "list:reference" : "#/components/schemas/Workflows.ReferenceValueList"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.ValueListFunctionAny" : {
        "description" : "Value model for testing a list if any of the elements matches a particular criteria.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.Value"
        }, {
          "$ref" : "#/components/schemas/Workflows.BooleanValue"
        }, {
          "type" : "object",
          "properties" : {
            "criteria" : {
              "description" : "Value model of a boolean value. Resolves to a JSON boolean or null node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "boolean:comparison:equal" : "#/components/schemas/Workflows.BooleanComparisonEqual",
                  "boolean:comparison:not_equal" : "#/components/schemas/Workflows.BooleanComparisonNotEqual",
                  "boolean:constant" : "#/components/schemas/Workflows.BooleanConstant",
                  "boolean:expression:select" : "#/components/schemas/Workflows.BooleanExpressionSelect",
                  "boolean:operation:and" : "#/components/schemas/Workflows.BooleanOperationAnd",
                  "boolean:operation:not" : "#/components/schemas/Workflows.BooleanOperationNot",
                  "boolean:operation:or" : "#/components/schemas/Workflows.BooleanOperationOr",
                  "boolean:operation:xor" : "#/components/schemas/Workflows.BooleanOperationXor",
                  "boolean:reference" : "#/components/schemas/Workflows.BooleanReference",
                  "compound:comparison:equal" : "#/components/schemas/Workflows.CompoundComparisonEqual",
                  "compound:function:is_type" : "#/components/schemas/Workflows.PolymorphicCompoundTypeCheck",
                  "dimensional_scalar:comparison:greater_than" : "#/components/schemas/Workflows.DimensionalScalarComparisonGreaterThan",
                  "dimensional_scalar:comparison:greater_than_or_equal" : "#/components/schemas/Workflows.DimensionalScalarComparisonGreaterThanOrEqual",
                  "dimensional_scalar:comparison:less_than" : "#/components/schemas/Workflows.DimensionalScalarComparisonLessThan",
                  "dimensional_scalar:comparison:less_than_or_equal" : "#/components/schemas/Workflows.DimensionalScalarComparisonLessThanOrEqual",
                  "entity_assignment:function:is_empty" : "#/components/schemas/Workflows.EntityAssignmentFunctionIsEmpty",
                  "entity_assignment_list:function:is_empty" : "#/components/schemas/Workflows.EntityAssignmentListFunctionIsEmpty",
                  "enum:comparison:equal" : "#/components/schemas/Workflows.EnumComparisonEqual",
                  "enum:comparison:not_equal" : "#/components/schemas/Workflows.EnumComparisonNotEqual",
                  "enum:function:one_of" : "#/components/schemas/Workflows.EnumFunctionOneOf",
                  "integer:comparison:equal" : "#/components/schemas/Workflows.IntegerComparisonEqual",
                  "integer:comparison:greater_than" : "#/components/schemas/Workflows.IntegerComparisonGreaterThan",
                  "integer:comparison:greater_than_or_equal" : "#/components/schemas/Workflows.IntegerComparisonGreaterThanOrEqual",
                  "integer:comparison:less_than" : "#/components/schemas/Workflows.IntegerComparisonLessThan",
                  "integer:comparison:less_than_or_equal" : "#/components/schemas/Workflows.IntegerComparisonLessThanOrEqual",
                  "integer:comparison:not_equal" : "#/components/schemas/Workflows.IntegerComparisonNotEqual",
                  "list:function:all" : "#/components/schemas/Workflows.ValueListFunctionAll",
                  "list:function:any" : "#/components/schemas/Workflows.ValueListFunctionAny",
                  "list:function:is_empty" : "#/components/schemas/Workflows.ValueListFunctionIsEmpty",
                  "list:function:is_not_empty" : "#/components/schemas/Workflows.ValueListFunctionIsNotEmpty",
                  "list:function:none" : "#/components/schemas/Workflows.ValueListFunctionNone",
                  "real:comparison:equal" : "#/components/schemas/Workflows.RealComparisonEqual",
                  "real:comparison:greater_than" : "#/components/schemas/Workflows.RealComparisonGreaterThan",
                  "real:comparison:greater_than_or_equal" : "#/components/schemas/Workflows.RealComparisonGreaterThanOrEqual",
                  "real:comparison:less_than" : "#/components/schemas/Workflows.RealComparisonLessThan",
                  "real:comparison:less_than_or_equal" : "#/components/schemas/Workflows.RealComparisonLessThanOrEqual",
                  "real:comparison:not_equal" : "#/components/schemas/Workflows.RealComparisonNotEqual",
                  "string:comparison:equal" : "#/components/schemas/Workflows.StringComparisonEqual",
                  "string:comparison:not_equal" : "#/components/schemas/Workflows.StringComparisonNotEqual",
                  "string:function:contains" : "#/components/schemas/Workflows.StringContainsFunction",
                  "string:function:ends_with" : "#/components/schemas/Workflows.StringEndsWithFunction",
                  "string:function:starts_with" : "#/components/schemas/Workflows.StringStartsWithFunction",
                  "unit:comparison:equal" : "#/components/schemas/Workflows.MeasurementUnitComparisonEqual",
                  "unit:comparison:not_equal" : "#/components/schemas/Workflows.MeasurementUnitComparisonNotEqual"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            },
            "iteratorReference" : {
              "description" : "Iterator reference for processing collections.",
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.ValueReference"
              }, {
                "type" : "object",
                "properties" : {
                  "iteratorId" : {
                    "type" : "string"
                  },
                  "valuePath" : {
                    "type" : "string"
                  }
                }
              } ],
              "default" : null
            },
            "valueList" : {
              "description" : "Value model for a list of values. Resolves to a JSON array.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "list:constant" : "#/components/schemas/Workflows.ConstantValueList",
                  "list:expression:select" : "#/components/schemas/Workflows.ValueListExpressionSelect",
                  "list:function:drop" : "#/components/schemas/Workflows.ValueListFunctionDrop",
                  "list:function:drop_last" : "#/components/schemas/Workflows.ValueListFunctionDropLast",
                  "list:function:filter" : "#/components/schemas/Workflows.ValueListFunctionFilter",
                  "list:function:map" : "#/components/schemas/Workflows.ValueListFunctionMap",
                  "list:function:sublist" : "#/components/schemas/Workflows.ValueListFunctionSubList",
                  "list:function:take" : "#/components/schemas/Workflows.ValueListFunctionTake",
                  "list:function:take_last" : "#/components/schemas/Workflows.ValueListFunctionTakeLast",
                  "list:generator:integer_sequence" : "#/components/schemas/Workflows.IntegerSequenceGenerator",
                  "list:generator:real_sequence" : "#/components/schemas/Workflows.RealSequenceGenerator",
                  "list:operation:plus" : "#/components/schemas/Workflows.ValueListOperationPlus",
                  "list:operation:times" : "#/components/schemas/Workflows.ValueListOperationTimes",
                  "list:reference" : "#/components/schemas/Workflows.ReferenceValueList"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        } ],
        "default" : null
      },
      "Workflows.ValueListFunctionDrop" : {
        "description" : "Value model for dropping the first `N` elements of a list.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.ValueList"
        }, {
          "type" : "object",
          "properties" : {
            "count" : {
              "description" : "Value model for a 64-bit signed integer value. Resolves to a long JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "entity_assignment_list:function:count_entities" : "#/components/schemas/Workflows.EntityAssignmentListFunctionCountEntities",
                  "integer:constant" : "#/components/schemas/Workflows.IntegerConstant",
                  "integer:expression:select" : "#/components/schemas/Workflows.IntegerExpressionSelect",
                  "integer:function:abs" : "#/components/schemas/Workflows.IntegerFunctionAbs",
                  "integer:function:max" : "#/components/schemas/Workflows.IntegerFunctionMax",
                  "integer:function:min" : "#/components/schemas/Workflows.IntegerFunctionMin",
                  "integer:operation:div" : "#/components/schemas/Workflows.IntegerOperationDiv",
                  "integer:operation:minus" : "#/components/schemas/Workflows.IntegerOperationMinus",
                  "integer:operation:plus" : "#/components/schemas/Workflows.IntegerOperationPlus",
                  "integer:operation:rem" : "#/components/schemas/Workflows.IntegerOperationRem",
                  "integer:operation:times" : "#/components/schemas/Workflows.IntegerOperationTimes",
                  "integer:reference" : "#/components/schemas/Workflows.IntegerReference",
                  "list:function:integer_sum" : "#/components/schemas/Workflows.ValueListFunctionIntegerSum",
                  "list:function:length" : "#/components/schemas/Workflows.ValueListFunctionSize",
                  "real:conversion:to_integer" : "#/components/schemas/Workflows.RealToIntegerConversion",
                  "string:conversion:to_integer" : "#/components/schemas/Workflows.StringToIntegerValueConversion",
                  "string:function:length" : "#/components/schemas/Workflows.StringLengthFunction"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            },
            "valueList" : {
              "description" : "Value model for a list of values. Resolves to a JSON array.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "list:constant" : "#/components/schemas/Workflows.ConstantValueList",
                  "list:expression:select" : "#/components/schemas/Workflows.ValueListExpressionSelect",
                  "list:function:drop" : "#/components/schemas/Workflows.ValueListFunctionDrop",
                  "list:function:drop_last" : "#/components/schemas/Workflows.ValueListFunctionDropLast",
                  "list:function:filter" : "#/components/schemas/Workflows.ValueListFunctionFilter",
                  "list:function:map" : "#/components/schemas/Workflows.ValueListFunctionMap",
                  "list:function:sublist" : "#/components/schemas/Workflows.ValueListFunctionSubList",
                  "list:function:take" : "#/components/schemas/Workflows.ValueListFunctionTake",
                  "list:function:take_last" : "#/components/schemas/Workflows.ValueListFunctionTakeLast",
                  "list:generator:integer_sequence" : "#/components/schemas/Workflows.IntegerSequenceGenerator",
                  "list:generator:real_sequence" : "#/components/schemas/Workflows.RealSequenceGenerator",
                  "list:operation:plus" : "#/components/schemas/Workflows.ValueListOperationPlus",
                  "list:operation:times" : "#/components/schemas/Workflows.ValueListOperationTimes",
                  "list:reference" : "#/components/schemas/Workflows.ReferenceValueList"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.ValueListFunctionDropLast" : {
        "description" : "Value model for dropping the last `N` elements of a list.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.ValueList"
        }, {
          "type" : "object",
          "properties" : {
            "count" : {
              "description" : "Value model for a 64-bit signed integer value. Resolves to a long JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "entity_assignment_list:function:count_entities" : "#/components/schemas/Workflows.EntityAssignmentListFunctionCountEntities",
                  "integer:constant" : "#/components/schemas/Workflows.IntegerConstant",
                  "integer:expression:select" : "#/components/schemas/Workflows.IntegerExpressionSelect",
                  "integer:function:abs" : "#/components/schemas/Workflows.IntegerFunctionAbs",
                  "integer:function:max" : "#/components/schemas/Workflows.IntegerFunctionMax",
                  "integer:function:min" : "#/components/schemas/Workflows.IntegerFunctionMin",
                  "integer:operation:div" : "#/components/schemas/Workflows.IntegerOperationDiv",
                  "integer:operation:minus" : "#/components/schemas/Workflows.IntegerOperationMinus",
                  "integer:operation:plus" : "#/components/schemas/Workflows.IntegerOperationPlus",
                  "integer:operation:rem" : "#/components/schemas/Workflows.IntegerOperationRem",
                  "integer:operation:times" : "#/components/schemas/Workflows.IntegerOperationTimes",
                  "integer:reference" : "#/components/schemas/Workflows.IntegerReference",
                  "list:function:integer_sum" : "#/components/schemas/Workflows.ValueListFunctionIntegerSum",
                  "list:function:length" : "#/components/schemas/Workflows.ValueListFunctionSize",
                  "real:conversion:to_integer" : "#/components/schemas/Workflows.RealToIntegerConversion",
                  "string:conversion:to_integer" : "#/components/schemas/Workflows.StringToIntegerValueConversion",
                  "string:function:length" : "#/components/schemas/Workflows.StringLengthFunction"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            },
            "valueList" : {
              "description" : "Value model for a list of values. Resolves to a JSON array.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "list:constant" : "#/components/schemas/Workflows.ConstantValueList",
                  "list:expression:select" : "#/components/schemas/Workflows.ValueListExpressionSelect",
                  "list:function:drop" : "#/components/schemas/Workflows.ValueListFunctionDrop",
                  "list:function:drop_last" : "#/components/schemas/Workflows.ValueListFunctionDropLast",
                  "list:function:filter" : "#/components/schemas/Workflows.ValueListFunctionFilter",
                  "list:function:map" : "#/components/schemas/Workflows.ValueListFunctionMap",
                  "list:function:sublist" : "#/components/schemas/Workflows.ValueListFunctionSubList",
                  "list:function:take" : "#/components/schemas/Workflows.ValueListFunctionTake",
                  "list:function:take_last" : "#/components/schemas/Workflows.ValueListFunctionTakeLast",
                  "list:generator:integer_sequence" : "#/components/schemas/Workflows.IntegerSequenceGenerator",
                  "list:generator:real_sequence" : "#/components/schemas/Workflows.RealSequenceGenerator",
                  "list:operation:plus" : "#/components/schemas/Workflows.ValueListOperationPlus",
                  "list:operation:times" : "#/components/schemas/Workflows.ValueListOperationTimes",
                  "list:reference" : "#/components/schemas/Workflows.ReferenceValueList"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.ValueListFunctionFilter" : {
        "description" : "Value model for filtering a list.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.ValueList"
        }, {
          "type" : "object",
          "properties" : {
            "criteria" : {
              "$ref" : "#/components/schemas/Workflows.BooleanValue"
            },
            "iteratorReference" : {
              "description" : "Iterator reference for processing collections.",
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.ValueReference"
              }, {
                "type" : "object",
                "properties" : {
                  "iteratorId" : {
                    "type" : "string"
                  },
                  "valuePath" : {
                    "type" : "string"
                  }
                }
              } ],
              "default" : null
            },
            "valueList" : {
              "description" : "Value model for a list of values. Resolves to a JSON array.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "list:constant" : "#/components/schemas/Workflows.ConstantValueList",
                  "list:expression:select" : "#/components/schemas/Workflows.ValueListExpressionSelect",
                  "list:function:drop" : "#/components/schemas/Workflows.ValueListFunctionDrop",
                  "list:function:drop_last" : "#/components/schemas/Workflows.ValueListFunctionDropLast",
                  "list:function:filter" : "#/components/schemas/Workflows.ValueListFunctionFilter",
                  "list:function:map" : "#/components/schemas/Workflows.ValueListFunctionMap",
                  "list:function:sublist" : "#/components/schemas/Workflows.ValueListFunctionSubList",
                  "list:function:take" : "#/components/schemas/Workflows.ValueListFunctionTake",
                  "list:function:take_last" : "#/components/schemas/Workflows.ValueListFunctionTakeLast",
                  "list:generator:integer_sequence" : "#/components/schemas/Workflows.IntegerSequenceGenerator",
                  "list:generator:real_sequence" : "#/components/schemas/Workflows.RealSequenceGenerator",
                  "list:operation:plus" : "#/components/schemas/Workflows.ValueListOperationPlus",
                  "list:operation:times" : "#/components/schemas/Workflows.ValueListOperationTimes",
                  "list:reference" : "#/components/schemas/Workflows.ReferenceValueList"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.ValueListFunctionFind" : {
        "description" : "Value model for finding an element in a list.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.Value"
        }, {
          "type" : "object",
          "properties" : {
            "criteria" : {
              "$ref" : "#/components/schemas/Workflows.BooleanValue"
            },
            "iteratorReference" : {
              "description" : "Iterator reference for processing collections.",
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.ValueReference"
              }, {
                "type" : "object",
                "properties" : {
                  "iteratorId" : {
                    "type" : "string"
                  },
                  "valuePath" : {
                    "type" : "string"
                  }
                }
              } ],
              "default" : null
            },
            "valueList" : {
              "description" : "Value model for a list of values. Resolves to a JSON array.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "list:constant" : "#/components/schemas/Workflows.ConstantValueList",
                  "list:expression:select" : "#/components/schemas/Workflows.ValueListExpressionSelect",
                  "list:function:drop" : "#/components/schemas/Workflows.ValueListFunctionDrop",
                  "list:function:drop_last" : "#/components/schemas/Workflows.ValueListFunctionDropLast",
                  "list:function:filter" : "#/components/schemas/Workflows.ValueListFunctionFilter",
                  "list:function:map" : "#/components/schemas/Workflows.ValueListFunctionMap",
                  "list:function:sublist" : "#/components/schemas/Workflows.ValueListFunctionSubList",
                  "list:function:take" : "#/components/schemas/Workflows.ValueListFunctionTake",
                  "list:function:take_last" : "#/components/schemas/Workflows.ValueListFunctionTakeLast",
                  "list:generator:integer_sequence" : "#/components/schemas/Workflows.IntegerSequenceGenerator",
                  "list:generator:real_sequence" : "#/components/schemas/Workflows.RealSequenceGenerator",
                  "list:operation:plus" : "#/components/schemas/Workflows.ValueListOperationPlus",
                  "list:operation:times" : "#/components/schemas/Workflows.ValueListOperationTimes",
                  "list:reference" : "#/components/schemas/Workflows.ReferenceValueList"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        } ],
        "default" : null
      },
      "Workflows.ValueListFunctionFirst" : {
        "description" : "Value model for taking the first element of a list.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.Value"
        }, {
          "type" : "object",
          "properties" : {
            "valueList" : {
              "description" : "Value model for a list of values. Resolves to a JSON array.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "list:constant" : "#/components/schemas/Workflows.ConstantValueList",
                  "list:expression:select" : "#/components/schemas/Workflows.ValueListExpressionSelect",
                  "list:function:drop" : "#/components/schemas/Workflows.ValueListFunctionDrop",
                  "list:function:drop_last" : "#/components/schemas/Workflows.ValueListFunctionDropLast",
                  "list:function:filter" : "#/components/schemas/Workflows.ValueListFunctionFilter",
                  "list:function:map" : "#/components/schemas/Workflows.ValueListFunctionMap",
                  "list:function:sublist" : "#/components/schemas/Workflows.ValueListFunctionSubList",
                  "list:function:take" : "#/components/schemas/Workflows.ValueListFunctionTake",
                  "list:function:take_last" : "#/components/schemas/Workflows.ValueListFunctionTakeLast",
                  "list:generator:integer_sequence" : "#/components/schemas/Workflows.IntegerSequenceGenerator",
                  "list:generator:real_sequence" : "#/components/schemas/Workflows.RealSequenceGenerator",
                  "list:operation:plus" : "#/components/schemas/Workflows.ValueListOperationPlus",
                  "list:operation:times" : "#/components/schemas/Workflows.ValueListOperationTimes",
                  "list:reference" : "#/components/schemas/Workflows.ReferenceValueList"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        } ],
        "default" : null
      },
      "Workflows.ValueListFunctionGet" : {
        "description" : "Value model for taking one element of a list at a particular index.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.Value"
        }, {
          "type" : "object",
          "properties" : {
            "index" : {
              "description" : "Value model for a 64-bit signed integer value. Resolves to a long JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "entity_assignment_list:function:count_entities" : "#/components/schemas/Workflows.EntityAssignmentListFunctionCountEntities",
                  "integer:constant" : "#/components/schemas/Workflows.IntegerConstant",
                  "integer:expression:select" : "#/components/schemas/Workflows.IntegerExpressionSelect",
                  "integer:function:abs" : "#/components/schemas/Workflows.IntegerFunctionAbs",
                  "integer:function:max" : "#/components/schemas/Workflows.IntegerFunctionMax",
                  "integer:function:min" : "#/components/schemas/Workflows.IntegerFunctionMin",
                  "integer:operation:div" : "#/components/schemas/Workflows.IntegerOperationDiv",
                  "integer:operation:minus" : "#/components/schemas/Workflows.IntegerOperationMinus",
                  "integer:operation:plus" : "#/components/schemas/Workflows.IntegerOperationPlus",
                  "integer:operation:rem" : "#/components/schemas/Workflows.IntegerOperationRem",
                  "integer:operation:times" : "#/components/schemas/Workflows.IntegerOperationTimes",
                  "integer:reference" : "#/components/schemas/Workflows.IntegerReference",
                  "list:function:integer_sum" : "#/components/schemas/Workflows.ValueListFunctionIntegerSum",
                  "list:function:length" : "#/components/schemas/Workflows.ValueListFunctionSize",
                  "real:conversion:to_integer" : "#/components/schemas/Workflows.RealToIntegerConversion",
                  "string:conversion:to_integer" : "#/components/schemas/Workflows.StringToIntegerValueConversion",
                  "string:function:length" : "#/components/schemas/Workflows.StringLengthFunction"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            },
            "valueList" : {
              "description" : "Value model for a list of values. Resolves to a JSON array.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "list:constant" : "#/components/schemas/Workflows.ConstantValueList",
                  "list:expression:select" : "#/components/schemas/Workflows.ValueListExpressionSelect",
                  "list:function:drop" : "#/components/schemas/Workflows.ValueListFunctionDrop",
                  "list:function:drop_last" : "#/components/schemas/Workflows.ValueListFunctionDropLast",
                  "list:function:filter" : "#/components/schemas/Workflows.ValueListFunctionFilter",
                  "list:function:map" : "#/components/schemas/Workflows.ValueListFunctionMap",
                  "list:function:sublist" : "#/components/schemas/Workflows.ValueListFunctionSubList",
                  "list:function:take" : "#/components/schemas/Workflows.ValueListFunctionTake",
                  "list:function:take_last" : "#/components/schemas/Workflows.ValueListFunctionTakeLast",
                  "list:generator:integer_sequence" : "#/components/schemas/Workflows.IntegerSequenceGenerator",
                  "list:generator:real_sequence" : "#/components/schemas/Workflows.RealSequenceGenerator",
                  "list:operation:plus" : "#/components/schemas/Workflows.ValueListOperationPlus",
                  "list:operation:times" : "#/components/schemas/Workflows.ValueListOperationTimes",
                  "list:reference" : "#/components/schemas/Workflows.ReferenceValueList"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        } ],
        "default" : null
      },
      "Workflows.ValueListFunctionIntegerSum" : {
        "description" : "Value model for calculating the sum of an integer list.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.IntegerValue"
        }, {
          "type" : "object",
          "properties" : {
            "valueList" : {
              "description" : "Value model for a list of values. Resolves to a JSON array.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "list:constant" : "#/components/schemas/Workflows.ConstantValueList",
                  "list:expression:select" : "#/components/schemas/Workflows.ValueListExpressionSelect",
                  "list:function:drop" : "#/components/schemas/Workflows.ValueListFunctionDrop",
                  "list:function:drop_last" : "#/components/schemas/Workflows.ValueListFunctionDropLast",
                  "list:function:filter" : "#/components/schemas/Workflows.ValueListFunctionFilter",
                  "list:function:map" : "#/components/schemas/Workflows.ValueListFunctionMap",
                  "list:function:sublist" : "#/components/schemas/Workflows.ValueListFunctionSubList",
                  "list:function:take" : "#/components/schemas/Workflows.ValueListFunctionTake",
                  "list:function:take_last" : "#/components/schemas/Workflows.ValueListFunctionTakeLast",
                  "list:generator:integer_sequence" : "#/components/schemas/Workflows.IntegerSequenceGenerator",
                  "list:generator:real_sequence" : "#/components/schemas/Workflows.RealSequenceGenerator",
                  "list:operation:plus" : "#/components/schemas/Workflows.ValueListOperationPlus",
                  "list:operation:times" : "#/components/schemas/Workflows.ValueListOperationTimes",
                  "list:reference" : "#/components/schemas/Workflows.ReferenceValueList"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.ValueListFunctionIsEmpty" : {
        "description" : "Value model for testing if a list is empty.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.BooleanValue"
        }, {
          "type" : "object",
          "properties" : {
            "valueList" : {
              "description" : "Value model for a list of values. Resolves to a JSON array.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "list:constant" : "#/components/schemas/Workflows.ConstantValueList",
                  "list:expression:select" : "#/components/schemas/Workflows.ValueListExpressionSelect",
                  "list:function:drop" : "#/components/schemas/Workflows.ValueListFunctionDrop",
                  "list:function:drop_last" : "#/components/schemas/Workflows.ValueListFunctionDropLast",
                  "list:function:filter" : "#/components/schemas/Workflows.ValueListFunctionFilter",
                  "list:function:map" : "#/components/schemas/Workflows.ValueListFunctionMap",
                  "list:function:sublist" : "#/components/schemas/Workflows.ValueListFunctionSubList",
                  "list:function:take" : "#/components/schemas/Workflows.ValueListFunctionTake",
                  "list:function:take_last" : "#/components/schemas/Workflows.ValueListFunctionTakeLast",
                  "list:generator:integer_sequence" : "#/components/schemas/Workflows.IntegerSequenceGenerator",
                  "list:generator:real_sequence" : "#/components/schemas/Workflows.RealSequenceGenerator",
                  "list:operation:plus" : "#/components/schemas/Workflows.ValueListOperationPlus",
                  "list:operation:times" : "#/components/schemas/Workflows.ValueListOperationTimes",
                  "list:reference" : "#/components/schemas/Workflows.ReferenceValueList"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.ValueListFunctionIsNotEmpty" : {
        "description" : "Value model for testing if a list is non-empty.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.BooleanValue"
        }, {
          "type" : "object",
          "properties" : {
            "valueList" : {
              "description" : "Value model for a list of values. Resolves to a JSON array.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "list:constant" : "#/components/schemas/Workflows.ConstantValueList",
                  "list:expression:select" : "#/components/schemas/Workflows.ValueListExpressionSelect",
                  "list:function:drop" : "#/components/schemas/Workflows.ValueListFunctionDrop",
                  "list:function:drop_last" : "#/components/schemas/Workflows.ValueListFunctionDropLast",
                  "list:function:filter" : "#/components/schemas/Workflows.ValueListFunctionFilter",
                  "list:function:map" : "#/components/schemas/Workflows.ValueListFunctionMap",
                  "list:function:sublist" : "#/components/schemas/Workflows.ValueListFunctionSubList",
                  "list:function:take" : "#/components/schemas/Workflows.ValueListFunctionTake",
                  "list:function:take_last" : "#/components/schemas/Workflows.ValueListFunctionTakeLast",
                  "list:generator:integer_sequence" : "#/components/schemas/Workflows.IntegerSequenceGenerator",
                  "list:generator:real_sequence" : "#/components/schemas/Workflows.RealSequenceGenerator",
                  "list:operation:plus" : "#/components/schemas/Workflows.ValueListOperationPlus",
                  "list:operation:times" : "#/components/schemas/Workflows.ValueListOperationTimes",
                  "list:reference" : "#/components/schemas/Workflows.ReferenceValueList"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.ValueListFunctionLast" : {
        "description" : "Value model for taking the last element of a list.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.Value"
        }, {
          "type" : "object",
          "properties" : {
            "valueList" : {
              "description" : "Value model for a list of values. Resolves to a JSON array.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "list:constant" : "#/components/schemas/Workflows.ConstantValueList",
                  "list:expression:select" : "#/components/schemas/Workflows.ValueListExpressionSelect",
                  "list:function:drop" : "#/components/schemas/Workflows.ValueListFunctionDrop",
                  "list:function:drop_last" : "#/components/schemas/Workflows.ValueListFunctionDropLast",
                  "list:function:filter" : "#/components/schemas/Workflows.ValueListFunctionFilter",
                  "list:function:map" : "#/components/schemas/Workflows.ValueListFunctionMap",
                  "list:function:sublist" : "#/components/schemas/Workflows.ValueListFunctionSubList",
                  "list:function:take" : "#/components/schemas/Workflows.ValueListFunctionTake",
                  "list:function:take_last" : "#/components/schemas/Workflows.ValueListFunctionTakeLast",
                  "list:generator:integer_sequence" : "#/components/schemas/Workflows.IntegerSequenceGenerator",
                  "list:generator:real_sequence" : "#/components/schemas/Workflows.RealSequenceGenerator",
                  "list:operation:plus" : "#/components/schemas/Workflows.ValueListOperationPlus",
                  "list:operation:times" : "#/components/schemas/Workflows.ValueListOperationTimes",
                  "list:reference" : "#/components/schemas/Workflows.ReferenceValueList"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        } ],
        "default" : null
      },
      "Workflows.ValueListFunctionMap" : {
        "description" : "Value model for mapping the elements of a list.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.Value"
        }, {
          "$ref" : "#/components/schemas/Workflows.ValueList"
        }, {
          "type" : "object",
          "properties" : {
            "function" : {
              "$ref" : "#/components/schemas/Workflows.Value"
            },
            "iteratorReference" : {
              "description" : "Iterator reference for processing collections.",
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.ValueReference"
              }, {
                "type" : "object",
                "properties" : {
                  "iteratorId" : {
                    "type" : "string"
                  },
                  "valuePath" : {
                    "type" : "string"
                  }
                }
              } ],
              "default" : null
            },
            "valueList" : {
              "description" : "Value model for a list of values. Resolves to a JSON array.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "list:constant" : "#/components/schemas/Workflows.ConstantValueList",
                  "list:expression:select" : "#/components/schemas/Workflows.ValueListExpressionSelect",
                  "list:function:drop" : "#/components/schemas/Workflows.ValueListFunctionDrop",
                  "list:function:drop_last" : "#/components/schemas/Workflows.ValueListFunctionDropLast",
                  "list:function:filter" : "#/components/schemas/Workflows.ValueListFunctionFilter",
                  "list:function:map" : "#/components/schemas/Workflows.ValueListFunctionMap",
                  "list:function:sublist" : "#/components/schemas/Workflows.ValueListFunctionSubList",
                  "list:function:take" : "#/components/schemas/Workflows.ValueListFunctionTake",
                  "list:function:take_last" : "#/components/schemas/Workflows.ValueListFunctionTakeLast",
                  "list:generator:integer_sequence" : "#/components/schemas/Workflows.IntegerSequenceGenerator",
                  "list:generator:real_sequence" : "#/components/schemas/Workflows.RealSequenceGenerator",
                  "list:operation:plus" : "#/components/schemas/Workflows.ValueListOperationPlus",
                  "list:operation:times" : "#/components/schemas/Workflows.ValueListOperationTimes",
                  "list:reference" : "#/components/schemas/Workflows.ReferenceValueList"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        } ],
        "default" : null
      },
      "Workflows.ValueListFunctionNone" : {
        "description" : "Value model for testing a list if none of the elements matches a particular criteria.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.BooleanValue"
        }, {
          "type" : "object",
          "properties" : {
            "criteria" : {
              "$ref" : "#/components/schemas/Workflows.BooleanValue"
            },
            "iteratorReference" : {
              "description" : "Iterator reference for processing collections.",
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.ValueReference"
              }, {
                "type" : "object",
                "properties" : {
                  "iteratorId" : {
                    "type" : "string"
                  },
                  "valuePath" : {
                    "type" : "string"
                  }
                }
              } ],
              "default" : null
            },
            "valueList" : {
              "description" : "Value model for a list of values. Resolves to a JSON array.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "list:constant" : "#/components/schemas/Workflows.ConstantValueList",
                  "list:expression:select" : "#/components/schemas/Workflows.ValueListExpressionSelect",
                  "list:function:drop" : "#/components/schemas/Workflows.ValueListFunctionDrop",
                  "list:function:drop_last" : "#/components/schemas/Workflows.ValueListFunctionDropLast",
                  "list:function:filter" : "#/components/schemas/Workflows.ValueListFunctionFilter",
                  "list:function:map" : "#/components/schemas/Workflows.ValueListFunctionMap",
                  "list:function:sublist" : "#/components/schemas/Workflows.ValueListFunctionSubList",
                  "list:function:take" : "#/components/schemas/Workflows.ValueListFunctionTake",
                  "list:function:take_last" : "#/components/schemas/Workflows.ValueListFunctionTakeLast",
                  "list:generator:integer_sequence" : "#/components/schemas/Workflows.IntegerSequenceGenerator",
                  "list:generator:real_sequence" : "#/components/schemas/Workflows.RealSequenceGenerator",
                  "list:operation:plus" : "#/components/schemas/Workflows.ValueListOperationPlus",
                  "list:operation:times" : "#/components/schemas/Workflows.ValueListOperationTimes",
                  "list:reference" : "#/components/schemas/Workflows.ReferenceValueList"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.ValueListFunctionRealSum" : {
        "description" : "Value model for calculating the sum of a real list.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.RealValue"
        }, {
          "type" : "object",
          "properties" : {
            "valueList" : {
              "description" : "Value model for a list of values. Resolves to a JSON array.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "list:constant" : "#/components/schemas/Workflows.ConstantValueList",
                  "list:expression:select" : "#/components/schemas/Workflows.ValueListExpressionSelect",
                  "list:function:drop" : "#/components/schemas/Workflows.ValueListFunctionDrop",
                  "list:function:drop_last" : "#/components/schemas/Workflows.ValueListFunctionDropLast",
                  "list:function:filter" : "#/components/schemas/Workflows.ValueListFunctionFilter",
                  "list:function:map" : "#/components/schemas/Workflows.ValueListFunctionMap",
                  "list:function:sublist" : "#/components/schemas/Workflows.ValueListFunctionSubList",
                  "list:function:take" : "#/components/schemas/Workflows.ValueListFunctionTake",
                  "list:function:take_last" : "#/components/schemas/Workflows.ValueListFunctionTakeLast",
                  "list:generator:integer_sequence" : "#/components/schemas/Workflows.IntegerSequenceGenerator",
                  "list:generator:real_sequence" : "#/components/schemas/Workflows.RealSequenceGenerator",
                  "list:operation:plus" : "#/components/schemas/Workflows.ValueListOperationPlus",
                  "list:operation:times" : "#/components/schemas/Workflows.ValueListOperationTimes",
                  "list:reference" : "#/components/schemas/Workflows.ReferenceValueList"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.ValueListFunctionSize" : {
        "description" : "Value model for calculating the length of a list.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.IntegerValue"
        }, {
          "type" : "object",
          "properties" : {
            "valueList" : {
              "description" : "Value model for a list of values. Resolves to a JSON array.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "list:constant" : "#/components/schemas/Workflows.ConstantValueList",
                  "list:expression:select" : "#/components/schemas/Workflows.ValueListExpressionSelect",
                  "list:function:drop" : "#/components/schemas/Workflows.ValueListFunctionDrop",
                  "list:function:drop_last" : "#/components/schemas/Workflows.ValueListFunctionDropLast",
                  "list:function:filter" : "#/components/schemas/Workflows.ValueListFunctionFilter",
                  "list:function:map" : "#/components/schemas/Workflows.ValueListFunctionMap",
                  "list:function:sublist" : "#/components/schemas/Workflows.ValueListFunctionSubList",
                  "list:function:take" : "#/components/schemas/Workflows.ValueListFunctionTake",
                  "list:function:take_last" : "#/components/schemas/Workflows.ValueListFunctionTakeLast",
                  "list:generator:integer_sequence" : "#/components/schemas/Workflows.IntegerSequenceGenerator",
                  "list:generator:real_sequence" : "#/components/schemas/Workflows.RealSequenceGenerator",
                  "list:operation:plus" : "#/components/schemas/Workflows.ValueListOperationPlus",
                  "list:operation:times" : "#/components/schemas/Workflows.ValueListOperationTimes",
                  "list:reference" : "#/components/schemas/Workflows.ReferenceValueList"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        } ],
        "default" : null
      },
      "Workflows.ValueListFunctionSubList" : {
        "description" : "Value model for creating a sub-list.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.ValueList"
        }, {
          "type" : "object",
          "properties" : {
            "from" : {
              "description" : "Value model for a 64-bit signed integer value. Resolves to a long JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "entity_assignment_list:function:count_entities" : "#/components/schemas/Workflows.EntityAssignmentListFunctionCountEntities",
                  "integer:constant" : "#/components/schemas/Workflows.IntegerConstant",
                  "integer:expression:select" : "#/components/schemas/Workflows.IntegerExpressionSelect",
                  "integer:function:abs" : "#/components/schemas/Workflows.IntegerFunctionAbs",
                  "integer:function:max" : "#/components/schemas/Workflows.IntegerFunctionMax",
                  "integer:function:min" : "#/components/schemas/Workflows.IntegerFunctionMin",
                  "integer:operation:div" : "#/components/schemas/Workflows.IntegerOperationDiv",
                  "integer:operation:minus" : "#/components/schemas/Workflows.IntegerOperationMinus",
                  "integer:operation:plus" : "#/components/schemas/Workflows.IntegerOperationPlus",
                  "integer:operation:rem" : "#/components/schemas/Workflows.IntegerOperationRem",
                  "integer:operation:times" : "#/components/schemas/Workflows.IntegerOperationTimes",
                  "integer:reference" : "#/components/schemas/Workflows.IntegerReference",
                  "list:function:integer_sum" : "#/components/schemas/Workflows.ValueListFunctionIntegerSum",
                  "list:function:length" : "#/components/schemas/Workflows.ValueListFunctionSize",
                  "real:conversion:to_integer" : "#/components/schemas/Workflows.RealToIntegerConversion",
                  "string:conversion:to_integer" : "#/components/schemas/Workflows.StringToIntegerValueConversion",
                  "string:function:length" : "#/components/schemas/Workflows.StringLengthFunction"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            },
            "to" : {
              "description" : "Value model for a 64-bit signed integer value. Resolves to a long JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "entity_assignment_list:function:count_entities" : "#/components/schemas/Workflows.EntityAssignmentListFunctionCountEntities",
                  "integer:constant" : "#/components/schemas/Workflows.IntegerConstant",
                  "integer:expression:select" : "#/components/schemas/Workflows.IntegerExpressionSelect",
                  "integer:function:abs" : "#/components/schemas/Workflows.IntegerFunctionAbs",
                  "integer:function:max" : "#/components/schemas/Workflows.IntegerFunctionMax",
                  "integer:function:min" : "#/components/schemas/Workflows.IntegerFunctionMin",
                  "integer:operation:div" : "#/components/schemas/Workflows.IntegerOperationDiv",
                  "integer:operation:minus" : "#/components/schemas/Workflows.IntegerOperationMinus",
                  "integer:operation:plus" : "#/components/schemas/Workflows.IntegerOperationPlus",
                  "integer:operation:rem" : "#/components/schemas/Workflows.IntegerOperationRem",
                  "integer:operation:times" : "#/components/schemas/Workflows.IntegerOperationTimes",
                  "integer:reference" : "#/components/schemas/Workflows.IntegerReference",
                  "list:function:integer_sum" : "#/components/schemas/Workflows.ValueListFunctionIntegerSum",
                  "list:function:length" : "#/components/schemas/Workflows.ValueListFunctionSize",
                  "real:conversion:to_integer" : "#/components/schemas/Workflows.RealToIntegerConversion",
                  "string:conversion:to_integer" : "#/components/schemas/Workflows.StringToIntegerValueConversion",
                  "string:function:length" : "#/components/schemas/Workflows.StringLengthFunction"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            },
            "valueList" : {
              "description" : "Value model for a list of values. Resolves to a JSON array.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "list:constant" : "#/components/schemas/Workflows.ConstantValueList",
                  "list:expression:select" : "#/components/schemas/Workflows.ValueListExpressionSelect",
                  "list:function:drop" : "#/components/schemas/Workflows.ValueListFunctionDrop",
                  "list:function:drop_last" : "#/components/schemas/Workflows.ValueListFunctionDropLast",
                  "list:function:filter" : "#/components/schemas/Workflows.ValueListFunctionFilter",
                  "list:function:map" : "#/components/schemas/Workflows.ValueListFunctionMap",
                  "list:function:sublist" : "#/components/schemas/Workflows.ValueListFunctionSubList",
                  "list:function:take" : "#/components/schemas/Workflows.ValueListFunctionTake",
                  "list:function:take_last" : "#/components/schemas/Workflows.ValueListFunctionTakeLast",
                  "list:generator:integer_sequence" : "#/components/schemas/Workflows.IntegerSequenceGenerator",
                  "list:generator:real_sequence" : "#/components/schemas/Workflows.RealSequenceGenerator",
                  "list:operation:plus" : "#/components/schemas/Workflows.ValueListOperationPlus",
                  "list:operation:times" : "#/components/schemas/Workflows.ValueListOperationTimes",
                  "list:reference" : "#/components/schemas/Workflows.ReferenceValueList"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.ValueListFunctionTake" : {
        "description" : "Value model for taking the first `N` elements of a list.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.ValueList"
        }, {
          "type" : "object",
          "properties" : {
            "count" : {
              "description" : "Value model for a 64-bit signed integer value. Resolves to a long JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "entity_assignment_list:function:count_entities" : "#/components/schemas/Workflows.EntityAssignmentListFunctionCountEntities",
                  "integer:constant" : "#/components/schemas/Workflows.IntegerConstant",
                  "integer:expression:select" : "#/components/schemas/Workflows.IntegerExpressionSelect",
                  "integer:function:abs" : "#/components/schemas/Workflows.IntegerFunctionAbs",
                  "integer:function:max" : "#/components/schemas/Workflows.IntegerFunctionMax",
                  "integer:function:min" : "#/components/schemas/Workflows.IntegerFunctionMin",
                  "integer:operation:div" : "#/components/schemas/Workflows.IntegerOperationDiv",
                  "integer:operation:minus" : "#/components/schemas/Workflows.IntegerOperationMinus",
                  "integer:operation:plus" : "#/components/schemas/Workflows.IntegerOperationPlus",
                  "integer:operation:rem" : "#/components/schemas/Workflows.IntegerOperationRem",
                  "integer:operation:times" : "#/components/schemas/Workflows.IntegerOperationTimes",
                  "integer:reference" : "#/components/schemas/Workflows.IntegerReference",
                  "list:function:integer_sum" : "#/components/schemas/Workflows.ValueListFunctionIntegerSum",
                  "list:function:length" : "#/components/schemas/Workflows.ValueListFunctionSize",
                  "real:conversion:to_integer" : "#/components/schemas/Workflows.RealToIntegerConversion",
                  "string:conversion:to_integer" : "#/components/schemas/Workflows.StringToIntegerValueConversion",
                  "string:function:length" : "#/components/schemas/Workflows.StringLengthFunction"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            },
            "valueList" : {
              "description" : "Value model for a list of values. Resolves to a JSON array.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "list:constant" : "#/components/schemas/Workflows.ConstantValueList",
                  "list:expression:select" : "#/components/schemas/Workflows.ValueListExpressionSelect",
                  "list:function:drop" : "#/components/schemas/Workflows.ValueListFunctionDrop",
                  "list:function:drop_last" : "#/components/schemas/Workflows.ValueListFunctionDropLast",
                  "list:function:filter" : "#/components/schemas/Workflows.ValueListFunctionFilter",
                  "list:function:map" : "#/components/schemas/Workflows.ValueListFunctionMap",
                  "list:function:sublist" : "#/components/schemas/Workflows.ValueListFunctionSubList",
                  "list:function:take" : "#/components/schemas/Workflows.ValueListFunctionTake",
                  "list:function:take_last" : "#/components/schemas/Workflows.ValueListFunctionTakeLast",
                  "list:generator:integer_sequence" : "#/components/schemas/Workflows.IntegerSequenceGenerator",
                  "list:generator:real_sequence" : "#/components/schemas/Workflows.RealSequenceGenerator",
                  "list:operation:plus" : "#/components/schemas/Workflows.ValueListOperationPlus",
                  "list:operation:times" : "#/components/schemas/Workflows.ValueListOperationTimes",
                  "list:reference" : "#/components/schemas/Workflows.ReferenceValueList"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.ValueListFunctionTakeLast" : {
        "description" : "Value model for taking the last `N` elements of a list.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.ValueList"
        }, {
          "type" : "object",
          "properties" : {
            "count" : {
              "description" : "Value model for a 64-bit signed integer value. Resolves to a long JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "entity_assignment_list:function:count_entities" : "#/components/schemas/Workflows.EntityAssignmentListFunctionCountEntities",
                  "integer:constant" : "#/components/schemas/Workflows.IntegerConstant",
                  "integer:expression:select" : "#/components/schemas/Workflows.IntegerExpressionSelect",
                  "integer:function:abs" : "#/components/schemas/Workflows.IntegerFunctionAbs",
                  "integer:function:max" : "#/components/schemas/Workflows.IntegerFunctionMax",
                  "integer:function:min" : "#/components/schemas/Workflows.IntegerFunctionMin",
                  "integer:operation:div" : "#/components/schemas/Workflows.IntegerOperationDiv",
                  "integer:operation:minus" : "#/components/schemas/Workflows.IntegerOperationMinus",
                  "integer:operation:plus" : "#/components/schemas/Workflows.IntegerOperationPlus",
                  "integer:operation:rem" : "#/components/schemas/Workflows.IntegerOperationRem",
                  "integer:operation:times" : "#/components/schemas/Workflows.IntegerOperationTimes",
                  "integer:reference" : "#/components/schemas/Workflows.IntegerReference",
                  "list:function:integer_sum" : "#/components/schemas/Workflows.ValueListFunctionIntegerSum",
                  "list:function:length" : "#/components/schemas/Workflows.ValueListFunctionSize",
                  "real:conversion:to_integer" : "#/components/schemas/Workflows.RealToIntegerConversion",
                  "string:conversion:to_integer" : "#/components/schemas/Workflows.StringToIntegerValueConversion",
                  "string:function:length" : "#/components/schemas/Workflows.StringLengthFunction"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            },
            "valueList" : {
              "description" : "Value model for a list of values. Resolves to a JSON array.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "list:constant" : "#/components/schemas/Workflows.ConstantValueList",
                  "list:expression:select" : "#/components/schemas/Workflows.ValueListExpressionSelect",
                  "list:function:drop" : "#/components/schemas/Workflows.ValueListFunctionDrop",
                  "list:function:drop_last" : "#/components/schemas/Workflows.ValueListFunctionDropLast",
                  "list:function:filter" : "#/components/schemas/Workflows.ValueListFunctionFilter",
                  "list:function:map" : "#/components/schemas/Workflows.ValueListFunctionMap",
                  "list:function:sublist" : "#/components/schemas/Workflows.ValueListFunctionSubList",
                  "list:function:take" : "#/components/schemas/Workflows.ValueListFunctionTake",
                  "list:function:take_last" : "#/components/schemas/Workflows.ValueListFunctionTakeLast",
                  "list:generator:integer_sequence" : "#/components/schemas/Workflows.IntegerSequenceGenerator",
                  "list:generator:real_sequence" : "#/components/schemas/Workflows.RealSequenceGenerator",
                  "list:operation:plus" : "#/components/schemas/Workflows.ValueListOperationPlus",
                  "list:operation:times" : "#/components/schemas/Workflows.ValueListOperationTimes",
                  "list:reference" : "#/components/schemas/Workflows.ReferenceValueList"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.ValueListIntegerValue" : {
        "description" : "Value model for a list of values. Resolves to a JSON array.",
        "discriminator" : {
          "propertyName" : "value_model_type",
          "mapping" : {
            "list:constant" : "#/components/schemas/Workflows.ConstantValueList",
            "list:expression:select" : "#/components/schemas/Workflows.ValueListExpressionSelect",
            "list:function:drop" : "#/components/schemas/Workflows.ValueListFunctionDrop",
            "list:function:drop_last" : "#/components/schemas/Workflows.ValueListFunctionDropLast",
            "list:function:filter" : "#/components/schemas/Workflows.ValueListFunctionFilter",
            "list:function:map" : "#/components/schemas/Workflows.ValueListFunctionMap",
            "list:function:sublist" : "#/components/schemas/Workflows.ValueListFunctionSubList",
            "list:function:take" : "#/components/schemas/Workflows.ValueListFunctionTake",
            "list:function:take_last" : "#/components/schemas/Workflows.ValueListFunctionTakeLast",
            "list:generator:integer_sequence" : "#/components/schemas/Workflows.IntegerSequenceGenerator",
            "list:generator:real_sequence" : "#/components/schemas/Workflows.RealSequenceGenerator",
            "list:operation:plus" : "#/components/schemas/Workflows.ValueListOperationPlus",
            "list:operation:times" : "#/components/schemas/Workflows.ValueListOperationTimes",
            "list:reference" : "#/components/schemas/Workflows.ReferenceValueList"
          }
        },
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.ValueListOperationPlus" : {
        "description" : "Value model for concatenating two lists.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.ValueList"
        }, {
          "type" : "object",
          "properties" : {
            "operandA" : {
              "description" : "Value model for a list of values. Resolves to a JSON array.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "list:constant" : "#/components/schemas/Workflows.ConstantValueList",
                  "list:expression:select" : "#/components/schemas/Workflows.ValueListExpressionSelect",
                  "list:function:drop" : "#/components/schemas/Workflows.ValueListFunctionDrop",
                  "list:function:drop_last" : "#/components/schemas/Workflows.ValueListFunctionDropLast",
                  "list:function:filter" : "#/components/schemas/Workflows.ValueListFunctionFilter",
                  "list:function:map" : "#/components/schemas/Workflows.ValueListFunctionMap",
                  "list:function:sublist" : "#/components/schemas/Workflows.ValueListFunctionSubList",
                  "list:function:take" : "#/components/schemas/Workflows.ValueListFunctionTake",
                  "list:function:take_last" : "#/components/schemas/Workflows.ValueListFunctionTakeLast",
                  "list:generator:integer_sequence" : "#/components/schemas/Workflows.IntegerSequenceGenerator",
                  "list:generator:real_sequence" : "#/components/schemas/Workflows.RealSequenceGenerator",
                  "list:operation:plus" : "#/components/schemas/Workflows.ValueListOperationPlus",
                  "list:operation:times" : "#/components/schemas/Workflows.ValueListOperationTimes",
                  "list:reference" : "#/components/schemas/Workflows.ReferenceValueList"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            },
            "operandB" : {
              "description" : "Value model for a list of values. Resolves to a JSON array.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "list:constant" : "#/components/schemas/Workflows.ConstantValueList",
                  "list:expression:select" : "#/components/schemas/Workflows.ValueListExpressionSelect",
                  "list:function:drop" : "#/components/schemas/Workflows.ValueListFunctionDrop",
                  "list:function:drop_last" : "#/components/schemas/Workflows.ValueListFunctionDropLast",
                  "list:function:filter" : "#/components/schemas/Workflows.ValueListFunctionFilter",
                  "list:function:map" : "#/components/schemas/Workflows.ValueListFunctionMap",
                  "list:function:sublist" : "#/components/schemas/Workflows.ValueListFunctionSubList",
                  "list:function:take" : "#/components/schemas/Workflows.ValueListFunctionTake",
                  "list:function:take_last" : "#/components/schemas/Workflows.ValueListFunctionTakeLast",
                  "list:generator:integer_sequence" : "#/components/schemas/Workflows.IntegerSequenceGenerator",
                  "list:generator:real_sequence" : "#/components/schemas/Workflows.RealSequenceGenerator",
                  "list:operation:plus" : "#/components/schemas/Workflows.ValueListOperationPlus",
                  "list:operation:times" : "#/components/schemas/Workflows.ValueListOperationTimes",
                  "list:reference" : "#/components/schemas/Workflows.ReferenceValueList"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.ValueListOperationTimes" : {
        "description" : "Value model for calculating the Cartesian product of the two lists.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.ValueList"
        }, {
          "type" : "object",
          "properties" : {
            "operandA" : {
              "description" : "Value model for a list of values. Resolves to a JSON array.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "list:constant" : "#/components/schemas/Workflows.ConstantValueList",
                  "list:expression:select" : "#/components/schemas/Workflows.ValueListExpressionSelect",
                  "list:function:drop" : "#/components/schemas/Workflows.ValueListFunctionDrop",
                  "list:function:drop_last" : "#/components/schemas/Workflows.ValueListFunctionDropLast",
                  "list:function:filter" : "#/components/schemas/Workflows.ValueListFunctionFilter",
                  "list:function:map" : "#/components/schemas/Workflows.ValueListFunctionMap",
                  "list:function:sublist" : "#/components/schemas/Workflows.ValueListFunctionSubList",
                  "list:function:take" : "#/components/schemas/Workflows.ValueListFunctionTake",
                  "list:function:take_last" : "#/components/schemas/Workflows.ValueListFunctionTakeLast",
                  "list:generator:integer_sequence" : "#/components/schemas/Workflows.IntegerSequenceGenerator",
                  "list:generator:real_sequence" : "#/components/schemas/Workflows.RealSequenceGenerator",
                  "list:operation:plus" : "#/components/schemas/Workflows.ValueListOperationPlus",
                  "list:operation:times" : "#/components/schemas/Workflows.ValueListOperationTimes",
                  "list:reference" : "#/components/schemas/Workflows.ReferenceValueList"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            },
            "operandB" : {
              "description" : "Value model for a list of values. Resolves to a JSON array.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "list:constant" : "#/components/schemas/Workflows.ConstantValueList",
                  "list:expression:select" : "#/components/schemas/Workflows.ValueListExpressionSelect",
                  "list:function:drop" : "#/components/schemas/Workflows.ValueListFunctionDrop",
                  "list:function:drop_last" : "#/components/schemas/Workflows.ValueListFunctionDropLast",
                  "list:function:filter" : "#/components/schemas/Workflows.ValueListFunctionFilter",
                  "list:function:map" : "#/components/schemas/Workflows.ValueListFunctionMap",
                  "list:function:sublist" : "#/components/schemas/Workflows.ValueListFunctionSubList",
                  "list:function:take" : "#/components/schemas/Workflows.ValueListFunctionTake",
                  "list:function:take_last" : "#/components/schemas/Workflows.ValueListFunctionTakeLast",
                  "list:generator:integer_sequence" : "#/components/schemas/Workflows.IntegerSequenceGenerator",
                  "list:generator:real_sequence" : "#/components/schemas/Workflows.RealSequenceGenerator",
                  "list:operation:plus" : "#/components/schemas/Workflows.ValueListOperationPlus",
                  "list:operation:times" : "#/components/schemas/Workflows.ValueListOperationTimes",
                  "list:reference" : "#/components/schemas/Workflows.ReferenceValueList"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.ValueListRealValue" : {
        "description" : "Value model for a list of values. Resolves to a JSON array.",
        "discriminator" : {
          "propertyName" : "value_model_type",
          "mapping" : {
            "list:constant" : "#/components/schemas/Workflows.ConstantValueList",
            "list:expression:select" : "#/components/schemas/Workflows.ValueListExpressionSelect",
            "list:function:drop" : "#/components/schemas/Workflows.ValueListFunctionDrop",
            "list:function:drop_last" : "#/components/schemas/Workflows.ValueListFunctionDropLast",
            "list:function:filter" : "#/components/schemas/Workflows.ValueListFunctionFilter",
            "list:function:map" : "#/components/schemas/Workflows.ValueListFunctionMap",
            "list:function:sublist" : "#/components/schemas/Workflows.ValueListFunctionSubList",
            "list:function:take" : "#/components/schemas/Workflows.ValueListFunctionTake",
            "list:function:take_last" : "#/components/schemas/Workflows.ValueListFunctionTakeLast",
            "list:generator:integer_sequence" : "#/components/schemas/Workflows.IntegerSequenceGenerator",
            "list:generator:real_sequence" : "#/components/schemas/Workflows.RealSequenceGenerator",
            "list:operation:plus" : "#/components/schemas/Workflows.ValueListOperationPlus",
            "list:operation:times" : "#/components/schemas/Workflows.ValueListOperationTimes",
            "list:reference" : "#/components/schemas/Workflows.ReferenceValueList"
          }
        },
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.ValueListScalingPointValueModel" : {
        "description" : "Value model for a list of values. Resolves to a JSON array.",
        "discriminator" : {
          "propertyName" : "value_model_type",
          "mapping" : {
            "list:constant" : "#/components/schemas/Workflows.ConstantValueList",
            "list:expression:select" : "#/components/schemas/Workflows.ValueListExpressionSelect",
            "list:function:drop" : "#/components/schemas/Workflows.ValueListFunctionDrop",
            "list:function:drop_last" : "#/components/schemas/Workflows.ValueListFunctionDropLast",
            "list:function:filter" : "#/components/schemas/Workflows.ValueListFunctionFilter",
            "list:function:map" : "#/components/schemas/Workflows.ValueListFunctionMap",
            "list:function:sublist" : "#/components/schemas/Workflows.ValueListFunctionSubList",
            "list:function:take" : "#/components/schemas/Workflows.ValueListFunctionTake",
            "list:function:take_last" : "#/components/schemas/Workflows.ValueListFunctionTakeLast",
            "list:generator:integer_sequence" : "#/components/schemas/Workflows.IntegerSequenceGenerator",
            "list:generator:real_sequence" : "#/components/schemas/Workflows.RealSequenceGenerator",
            "list:operation:plus" : "#/components/schemas/Workflows.ValueListOperationPlus",
            "list:operation:times" : "#/components/schemas/Workflows.ValueListOperationTimes",
            "list:reference" : "#/components/schemas/Workflows.ReferenceValueList"
          }
        },
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.ValueListStringValue" : {
        "description" : "Value model for a list of values. Resolves to a JSON array.",
        "discriminator" : {
          "propertyName" : "value_model_type",
          "mapping" : {
            "list:constant" : "#/components/schemas/Workflows.ConstantValueList",
            "list:expression:select" : "#/components/schemas/Workflows.ValueListExpressionSelect",
            "list:function:drop" : "#/components/schemas/Workflows.ValueListFunctionDrop",
            "list:function:drop_last" : "#/components/schemas/Workflows.ValueListFunctionDropLast",
            "list:function:filter" : "#/components/schemas/Workflows.ValueListFunctionFilter",
            "list:function:map" : "#/components/schemas/Workflows.ValueListFunctionMap",
            "list:function:sublist" : "#/components/schemas/Workflows.ValueListFunctionSubList",
            "list:function:take" : "#/components/schemas/Workflows.ValueListFunctionTake",
            "list:function:take_last" : "#/components/schemas/Workflows.ValueListFunctionTakeLast",
            "list:generator:integer_sequence" : "#/components/schemas/Workflows.IntegerSequenceGenerator",
            "list:generator:real_sequence" : "#/components/schemas/Workflows.RealSequenceGenerator",
            "list:operation:plus" : "#/components/schemas/Workflows.ValueListOperationPlus",
            "list:operation:times" : "#/components/schemas/Workflows.ValueListOperationTimes",
            "list:reference" : "#/components/schemas/Workflows.ReferenceValueList"
          }
        },
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.ValueListTimeByArchValueModel" : {
        "description" : "Value model for a list of values. Resolves to a JSON array.",
        "discriminator" : {
          "propertyName" : "value_model_type",
          "mapping" : {
            "list:constant" : "#/components/schemas/Workflows.ConstantValueList",
            "list:expression:select" : "#/components/schemas/Workflows.ValueListExpressionSelect",
            "list:function:drop" : "#/components/schemas/Workflows.ValueListFunctionDrop",
            "list:function:drop_last" : "#/components/schemas/Workflows.ValueListFunctionDropLast",
            "list:function:filter" : "#/components/schemas/Workflows.ValueListFunctionFilter",
            "list:function:map" : "#/components/schemas/Workflows.ValueListFunctionMap",
            "list:function:sublist" : "#/components/schemas/Workflows.ValueListFunctionSubList",
            "list:function:take" : "#/components/schemas/Workflows.ValueListFunctionTake",
            "list:function:take_last" : "#/components/schemas/Workflows.ValueListFunctionTakeLast",
            "list:generator:integer_sequence" : "#/components/schemas/Workflows.IntegerSequenceGenerator",
            "list:generator:real_sequence" : "#/components/schemas/Workflows.RealSequenceGenerator",
            "list:operation:plus" : "#/components/schemas/Workflows.ValueListOperationPlus",
            "list:operation:times" : "#/components/schemas/Workflows.ValueListOperationTimes",
            "list:reference" : "#/components/schemas/Workflows.ReferenceValueList"
          }
        },
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.ValueListTimeByGpuArchAndModelValueModel" : {
        "description" : "Value model for a list of values. Resolves to a JSON array.",
        "discriminator" : {
          "propertyName" : "value_model_type",
          "mapping" : {
            "list:constant" : "#/components/schemas/Workflows.ConstantValueList",
            "list:expression:select" : "#/components/schemas/Workflows.ValueListExpressionSelect",
            "list:function:drop" : "#/components/schemas/Workflows.ValueListFunctionDrop",
            "list:function:drop_last" : "#/components/schemas/Workflows.ValueListFunctionDropLast",
            "list:function:filter" : "#/components/schemas/Workflows.ValueListFunctionFilter",
            "list:function:map" : "#/components/schemas/Workflows.ValueListFunctionMap",
            "list:function:sublist" : "#/components/schemas/Workflows.ValueListFunctionSubList",
            "list:function:take" : "#/components/schemas/Workflows.ValueListFunctionTake",
            "list:function:take_last" : "#/components/schemas/Workflows.ValueListFunctionTakeLast",
            "list:generator:integer_sequence" : "#/components/schemas/Workflows.IntegerSequenceGenerator",
            "list:generator:real_sequence" : "#/components/schemas/Workflows.RealSequenceGenerator",
            "list:operation:plus" : "#/components/schemas/Workflows.ValueListOperationPlus",
            "list:operation:times" : "#/components/schemas/Workflows.ValueListOperationTimes",
            "list:reference" : "#/components/schemas/Workflows.ReferenceValueList"
          }
        },
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.ValueListTimeByGpuArchValueModel" : {
        "description" : "Value model for a list of values. Resolves to a JSON array.",
        "discriminator" : {
          "propertyName" : "value_model_type",
          "mapping" : {
            "list:constant" : "#/components/schemas/Workflows.ConstantValueList",
            "list:expression:select" : "#/components/schemas/Workflows.ValueListExpressionSelect",
            "list:function:drop" : "#/components/schemas/Workflows.ValueListFunctionDrop",
            "list:function:drop_last" : "#/components/schemas/Workflows.ValueListFunctionDropLast",
            "list:function:filter" : "#/components/schemas/Workflows.ValueListFunctionFilter",
            "list:function:map" : "#/components/schemas/Workflows.ValueListFunctionMap",
            "list:function:sublist" : "#/components/schemas/Workflows.ValueListFunctionSubList",
            "list:function:take" : "#/components/schemas/Workflows.ValueListFunctionTake",
            "list:function:take_last" : "#/components/schemas/Workflows.ValueListFunctionTakeLast",
            "list:generator:integer_sequence" : "#/components/schemas/Workflows.IntegerSequenceGenerator",
            "list:generator:real_sequence" : "#/components/schemas/Workflows.RealSequenceGenerator",
            "list:operation:plus" : "#/components/schemas/Workflows.ValueListOperationPlus",
            "list:operation:times" : "#/components/schemas/Workflows.ValueListOperationTimes",
            "list:reference" : "#/components/schemas/Workflows.ReferenceValueList"
          }
        },
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.ValueListToStringValueConversion" : {
        "description" : "Value model for converting a value list into a string value.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.StringValue"
        }, {
          "type" : "object",
          "properties" : {
            "separator" : {
              "description" : "Value model for a string value. Resolves to a text JSON node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "boolean:conversion:to_string" : "#/components/schemas/Workflows.BooleanToStringValueConversion",
                  "dimensional_scalar:conversion:to_string" : "#/components/schemas/Workflows.DimensionalScalarToStringValueConversion",
                  "dimensional_vector:conversion:to_string" : "#/components/schemas/Workflows.DimensionalVectorToStringValueConversion",
                  "entity_assignment:conversion:to_markdown_link_string" : "#/components/schemas/Workflows.EntityAssignmentToMarkdownLinkValueConversion",
                  "entity_assignment:conversion:to_string" : "#/components/schemas/Workflows.EntityAssignmentToStringValueConversion",
                  "entity_assignment_list:conversion:to_markdown_link_string" : "#/components/schemas/Workflows.EntityAssignmentListToMarkdownLinkValueConversion",
                  "enum:conversion:to_string" : "#/components/schemas/Workflows.EnumToStringValueConversion",
                  "integer:conversion:to_string" : "#/components/schemas/Workflows.IntegerToStringValueConversion",
                  "real:conversion:to_string" : "#/components/schemas/Workflows.RealToStringValueConversion",
                  "string:constant" : "#/components/schemas/Workflows.StringConstant",
                  "string:expression:select" : "#/components/schemas/Workflows.StringExpressionSelect",
                  "string:function:lowercase" : "#/components/schemas/Workflows.StringLowerCaseFunction",
                  "string:function:substring" : "#/components/schemas/Workflows.StringSubStringFunction",
                  "string:function:uppercase" : "#/components/schemas/Workflows.StringUpperCaseFunction",
                  "string:operation:plus" : "#/components/schemas/Workflows.StringOperationPlus",
                  "string:reference" : "#/components/schemas/Workflows.StringReference",
                  "value_list:conversion:to_string" : "#/components/schemas/Workflows.ValueListToStringValueConversion"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            },
            "valueList" : {
              "description" : "Value model for a list of values. Resolves to a JSON array.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "list:constant" : "#/components/schemas/Workflows.ConstantValueList",
                  "list:expression:select" : "#/components/schemas/Workflows.ValueListExpressionSelect",
                  "list:function:drop" : "#/components/schemas/Workflows.ValueListFunctionDrop",
                  "list:function:drop_last" : "#/components/schemas/Workflows.ValueListFunctionDropLast",
                  "list:function:filter" : "#/components/schemas/Workflows.ValueListFunctionFilter",
                  "list:function:map" : "#/components/schemas/Workflows.ValueListFunctionMap",
                  "list:function:sublist" : "#/components/schemas/Workflows.ValueListFunctionSubList",
                  "list:function:take" : "#/components/schemas/Workflows.ValueListFunctionTake",
                  "list:function:take_last" : "#/components/schemas/Workflows.ValueListFunctionTakeLast",
                  "list:generator:integer_sequence" : "#/components/schemas/Workflows.IntegerSequenceGenerator",
                  "list:generator:real_sequence" : "#/components/schemas/Workflows.RealSequenceGenerator",
                  "list:operation:plus" : "#/components/schemas/Workflows.ValueListOperationPlus",
                  "list:operation:times" : "#/components/schemas/Workflows.ValueListOperationTimes",
                  "list:reference" : "#/components/schemas/Workflows.ReferenceValueList"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        }, {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.ValueListValue" : {
        "description" : "Value model for a list of values. Resolves to a JSON array.",
        "discriminator" : {
          "propertyName" : "value_model_type",
          "mapping" : {
            "list:constant" : "#/components/schemas/Workflows.ConstantValueList",
            "list:expression:select" : "#/components/schemas/Workflows.ValueListExpressionSelect",
            "list:function:drop" : "#/components/schemas/Workflows.ValueListFunctionDrop",
            "list:function:drop_last" : "#/components/schemas/Workflows.ValueListFunctionDropLast",
            "list:function:filter" : "#/components/schemas/Workflows.ValueListFunctionFilter",
            "list:function:map" : "#/components/schemas/Workflows.ValueListFunctionMap",
            "list:function:sublist" : "#/components/schemas/Workflows.ValueListFunctionSubList",
            "list:function:take" : "#/components/schemas/Workflows.ValueListFunctionTake",
            "list:function:take_last" : "#/components/schemas/Workflows.ValueListFunctionTakeLast",
            "list:generator:integer_sequence" : "#/components/schemas/Workflows.IntegerSequenceGenerator",
            "list:generator:real_sequence" : "#/components/schemas/Workflows.RealSequenceGenerator",
            "list:operation:plus" : "#/components/schemas/Workflows.ValueListOperationPlus",
            "list:operation:times" : "#/components/schemas/Workflows.ValueListOperationTimes",
            "list:reference" : "#/components/schemas/Workflows.ReferenceValueList"
          }
        },
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.Value"
        } ],
        "default" : null
      },
      "Workflows.ValueReference" : {
        "required" : [ "value_reference_type" ],
        "type" : "object",
        "properties" : {
          "value_reference_type" : {
            "type" : "string"
          }
        },
        "description" : "Reference to a value which can be resolved using a particular context.",
        "discriminator" : {
          "propertyName" : "value_reference_type",
          "mapping" : {
            "config" : "#/components/schemas/Workflows.ConfigValueReference",
            "data" : "#/components/schemas/Workflows.DataValueReference",
            "data_presence" : "#/components/schemas/Workflows.DataPresenceReference",
            "general_metadata" : "#/components/schemas/Workflows.GeneralMetadataValueReference",
            "iterator" : "#/components/schemas/Workflows.IteratorReference",
            "metadata" : "#/components/schemas/Workflows.MetadataValueReference",
            "viewer_entity" : "#/components/schemas/Workflows.ViewerEntityValueReference"
          }
        },
        "default" : null
      },
      "Workflows.Vector" : {
        "type" : "object",
        "properties" : {
          "x" : {
            "type" : "number",
            "format" : "double"
          },
          "y" : {
            "type" : "number",
            "format" : "double"
          },
          "z" : {
            "type" : "number",
            "format" : "double"
          }
        }
      },
      "Workflows.ViewerEntityValueReference" : {
        "description" : "Reference to a value in the viewer entity under resolution. Only resolvable in contexts which transform viewer entities into workflow configuration values.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.ValueReference"
        }, {
          "type" : "object",
          "properties" : {
            "valuePath" : {
              "type" : "string"
            }
          }
        } ],
        "default" : null
      },
      "Workflows.VisibilityUiConfigurationEntry" : {
        "description" : "Visibility UI configuration entry for all fields.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/Workflows.UiConfigurationEntry"
        }, {
          "type" : "object",
          "properties" : {
            "visibleWhen" : {
              "description" : "Value model of a boolean value. Resolves to a JSON boolean or null node.",
              "discriminator" : {
                "propertyName" : "value_model_type",
                "mapping" : {
                  "boolean:comparison:equal" : "#/components/schemas/Workflows.BooleanComparisonEqual",
                  "boolean:comparison:not_equal" : "#/components/schemas/Workflows.BooleanComparisonNotEqual",
                  "boolean:constant" : "#/components/schemas/Workflows.BooleanConstant",
                  "boolean:expression:select" : "#/components/schemas/Workflows.BooleanExpressionSelect",
                  "boolean:operation:and" : "#/components/schemas/Workflows.BooleanOperationAnd",
                  "boolean:operation:not" : "#/components/schemas/Workflows.BooleanOperationNot",
                  "boolean:operation:or" : "#/components/schemas/Workflows.BooleanOperationOr",
                  "boolean:operation:xor" : "#/components/schemas/Workflows.BooleanOperationXor",
                  "boolean:reference" : "#/components/schemas/Workflows.BooleanReference",
                  "compound:comparison:equal" : "#/components/schemas/Workflows.CompoundComparisonEqual",
                  "compound:function:is_type" : "#/components/schemas/Workflows.PolymorphicCompoundTypeCheck",
                  "dimensional_scalar:comparison:greater_than" : "#/components/schemas/Workflows.DimensionalScalarComparisonGreaterThan",
                  "dimensional_scalar:comparison:greater_than_or_equal" : "#/components/schemas/Workflows.DimensionalScalarComparisonGreaterThanOrEqual",
                  "dimensional_scalar:comparison:less_than" : "#/components/schemas/Workflows.DimensionalScalarComparisonLessThan",
                  "dimensional_scalar:comparison:less_than_or_equal" : "#/components/schemas/Workflows.DimensionalScalarComparisonLessThanOrEqual",
                  "entity_assignment:function:is_empty" : "#/components/schemas/Workflows.EntityAssignmentFunctionIsEmpty",
                  "entity_assignment_list:function:is_empty" : "#/components/schemas/Workflows.EntityAssignmentListFunctionIsEmpty",
                  "enum:comparison:equal" : "#/components/schemas/Workflows.EnumComparisonEqual",
                  "enum:comparison:not_equal" : "#/components/schemas/Workflows.EnumComparisonNotEqual",
                  "enum:function:one_of" : "#/components/schemas/Workflows.EnumFunctionOneOf",
                  "integer:comparison:equal" : "#/components/schemas/Workflows.IntegerComparisonEqual",
                  "integer:comparison:greater_than" : "#/components/schemas/Workflows.IntegerComparisonGreaterThan",
                  "integer:comparison:greater_than_or_equal" : "#/components/schemas/Workflows.IntegerComparisonGreaterThanOrEqual",
                  "integer:comparison:less_than" : "#/components/schemas/Workflows.IntegerComparisonLessThan",
                  "integer:comparison:less_than_or_equal" : "#/components/schemas/Workflows.IntegerComparisonLessThanOrEqual",
                  "integer:comparison:not_equal" : "#/components/schemas/Workflows.IntegerComparisonNotEqual",
                  "list:function:all" : "#/components/schemas/Workflows.ValueListFunctionAll",
                  "list:function:any" : "#/components/schemas/Workflows.ValueListFunctionAny",
                  "list:function:is_empty" : "#/components/schemas/Workflows.ValueListFunctionIsEmpty",
                  "list:function:is_not_empty" : "#/components/schemas/Workflows.ValueListFunctionIsNotEmpty",
                  "list:function:none" : "#/components/schemas/Workflows.ValueListFunctionNone",
                  "real:comparison:equal" : "#/components/schemas/Workflows.RealComparisonEqual",
                  "real:comparison:greater_than" : "#/components/schemas/Workflows.RealComparisonGreaterThan",
                  "real:comparison:greater_than_or_equal" : "#/components/schemas/Workflows.RealComparisonGreaterThanOrEqual",
                  "real:comparison:less_than" : "#/components/schemas/Workflows.RealComparisonLessThan",
                  "real:comparison:less_than_or_equal" : "#/components/schemas/Workflows.RealComparisonLessThanOrEqual",
                  "real:comparison:not_equal" : "#/components/schemas/Workflows.RealComparisonNotEqual",
                  "string:comparison:equal" : "#/components/schemas/Workflows.StringComparisonEqual",
                  "string:comparison:not_equal" : "#/components/schemas/Workflows.StringComparisonNotEqual",
                  "string:function:contains" : "#/components/schemas/Workflows.StringContainsFunction",
                  "string:function:ends_with" : "#/components/schemas/Workflows.StringEndsWithFunction",
                  "string:function:starts_with" : "#/components/schemas/Workflows.StringStartsWithFunction",
                  "unit:comparison:equal" : "#/components/schemas/Workflows.MeasurementUnitComparisonEqual",
                  "unit:comparison:not_equal" : "#/components/schemas/Workflows.MeasurementUnitComparisonNotEqual"
                }
              },
              "allOf" : [ {
                "$ref" : "#/components/schemas/Workflows.Value"
              } ],
              "default" : null
            }
          }
        } ],
        "default" : null
      },
      "ComponentRegistry.WorkflowDefinition" : {
        "type" : "object",
        "properties" : {
          "breakpoints" : {
            "type" : "array",
            "nullable" : true,
            "items" : {
              "$ref" : "#/components/schemas/Workflows.Breakpoint"
            }
          },
          "data" : {
            "type" : "array",
            "items" : {
              "oneOf" : [ {
                "$ref" : "#/components/schemas/Workflows.InputDataDefinition"
              }, {
                "$ref" : "#/components/schemas/Workflows.IntermediateDataDefinition"
              }, {
                "$ref" : "#/components/schemas/Workflows.OutputDataDefinition"
              } ]
            }
          },
          "metadata" : {
            "type" : "object",
            "additionalProperties" : { },
            "nullable" : true
          },
          "operations" : {
            "type" : "array",
            "items" : {
              "oneOf" : [ {
                "$ref" : "#/components/schemas/Workflows.InlineOperationDefinition"
              }, {
                "$ref" : "#/components/schemas/Workflows.MethodOperationDefinition"
              }, {
                "$ref" : "#/components/schemas/Workflows.NestedWorkflowOperationDefinition"
              }, {
                "$ref" : "#/components/schemas/Workflows.OperationGroupDefinition"
              }, {
                "$ref" : "#/components/schemas/Workflows.OperationGroupWithConditionDefinition"
              }, {
                "$ref" : "#/components/schemas/Workflows.OperationGroupWithParameterDefinition"
              } ]
            }
          },
          "workflowDefinitionAnalysisStrategy" : {
            "type" : "string",
            "description" : "Possible strategies for analysing the workflow definition.",
            "default" : null,
            "enum" : [ "STATIC", "DYNAMIC" ]
          },
          "workflowTopology" : {
            "type" : "string",
            "description" : "Possible workflow topologies.",
            "nullable" : true,
            "default" : null,
            "enum" : [ "LINEAR", "ACYCLIC", "GENERAL" ]
          }
        },
        "description" : "\nSimulation workflow definition.\n\nThe definition follows the semantics of a workflow, which is a set of connected operations to generate some desired output data from available input data.\nThe workflow developer defines the data and operations and the workflow engine executes the workflow to achieve the declared goal.\n\nWithin the entire definition all data and operations are named. This drives the attention towards the semantics and the domain,\nalso helps with communicating the state of the execution. In regard to consistency validation (name duplications etc.), the framework takes care of that.\n",
        "default" : null
      },
      "DataRepository.CreateUploadSessionRequest" : {
        "type" : "object",
        "properties" : {
          "contentType" : {
            "type" : "string",
            "nullable" : true
          },
          "dataType" : {
            "type" : "string",
            "description" : "\nReference to a component version.\n\nComponents are organized into a group hierarchy which serves as a qualification mechanism to avoid collisions and also to group components semantically.\n\nComponent versions follow the convention of semantic versioning.\n\nThe fully qualified reference of a component version follows the following syntax: `[component_group]:[component]:[component_version]`.\n    ",
            "example" : "simscale.cad.data-types:cad-model",
            "default" : null
          },
          "originalFileName" : {
            "type" : "string",
            "nullable" : true
          }
        },
        "description" : "Request to initialize an upload session backed by pre-signed URLs.",
        "default" : null
      },
      "DataRepository.DataInfo" : {
        "required" : [ "data_info_type" ],
        "type" : "object",
        "properties" : {
          "contentType" : {
            "type" : "string",
            "nullable" : true
          },
          "createdBy" : {
            "type" : "integer",
            "format" : "int32",
            "nullable" : true
          },
          "creationTimestamp" : {
            "type" : "string",
            "format" : "date-time"
          },
          "dataId" : {
            "type" : "string",
            "description" : "Data identifier. It is a string composed of the type identifier and a UUID: `data:[UUID]`.",
            "example" : "data:3fa85f64-5717-4562-b3fc-2c963f66afa6",
            "default" : null
          },
          "dataProviderType" : {
            "type" : "string",
            "description" : "\nIdentifies if a data is\n- `INTERNAL`: data is stored and managed by `data-repository` service or\n- `EXTERNAL`: data is stored and managed by an external service. Only a reference for it is stored in `data-repository` service.\n",
            "default" : null,
            "enum" : [ "INTERNAL", "EXTERNAL" ]
          },
          "dataSize" : {
            "type" : "integer",
            "format" : "int64",
            "nullable" : true
          },
          "dataType" : {
            "type" : "string",
            "description" : "\nReference to a component version.\n\nComponents are organized into a group hierarchy which serves as a qualification mechanism to avoid collisions and also to group components semantically.\n\nComponent versions follow the convention of semantic versioning.\n\nThe fully qualified reference of a component version follows the following syntax: `[component_group]:[component]:[component_version]`.\n    ",
            "example" : "simscale.cad.data-types:cad-model",
            "default" : null
          },
          "data_info_type" : {
            "type" : "string"
          },
          "origin" : {
            "type" : "string",
            "description" : "\nIdentifies the origin of data creation:\n- `USER_UPLOAD`: data was uploaded or registered directly by a user through the API\n- `WORKFLOW_EXECUTION`: data was created as a result of a workflow run\n",
            "nullable" : true,
            "default" : null,
            "enum" : [ "USER_UPLOAD", "WORKFLOW_EXECUTION" ]
          },
          "originalFileName" : {
            "type" : "string",
            "nullable" : true
          },
          "projectId" : {
            "type" : "string"
          }
        },
        "description" : "Information about one data entity. General metadata about the associated piece of business data.",
        "discriminator" : {
          "propertyName" : "data_info_type",
          "mapping" : {
            "externalDataInfo" : "#/components/schemas/DataRepository.ExternalDataInfo",
            "internalDataInfo" : "#/components/schemas/DataRepository.InternalDataInfo"
          }
        },
        "default" : null
      },
      "DataRepository.DomainSpecificMetadata" : {
        "type" : "object",
        "additionalProperties" : { },
        "description" : "Domain-specific metadata of a data object. A free-form JSON object whose shape is defined by the metadata schema of the data type.",
        "default" : null
      },
      "DataRepository.ExternalDataInfo" : {
        "description" : "Information about an `EXTERNAL` data entity.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/DataRepository.DataInfo"
        }, {
          "type" : "object",
          "properties" : {
            "contentType" : {
              "type" : "string",
              "nullable" : true
            },
            "createdBy" : {
              "type" : "integer",
              "format" : "int32",
              "nullable" : true
            },
            "dataSize" : {
              "type" : "integer",
              "format" : "int64",
              "nullable" : true
            },
            "externalReference" : {
              "type" : "string"
            },
            "origin" : {
              "type" : "string",
              "description" : "\nIdentifies the origin of data creation:\n- `USER_UPLOAD`: data was uploaded or registered directly by a user through the API\n- `WORKFLOW_EXECUTION`: data was created as a result of a workflow run\n",
              "nullable" : true,
              "default" : null,
              "enum" : [ "USER_UPLOAD", "WORKFLOW_EXECUTION" ]
            },
            "originalFileName" : {
              "type" : "string",
              "nullable" : true
            }
          }
        } ]
      },
      "DataRepository.HttpHeader" : {
        "type" : "object",
        "properties" : {
          "name" : {
            "type" : "string"
          },
          "value" : {
            "type" : "string"
          }
        },
        "description" : "HTTP header.",
        "default" : null
      },
      "DataRepository.InternalDataInfo" : {
        "description" : "Information about an `INTERNAL` data entity.",
        "allOf" : [ {
          "$ref" : "#/components/schemas/DataRepository.DataInfo"
        }, {
          "type" : "object",
          "properties" : {
            "contentType" : {
              "type" : "string",
              "nullable" : true
            },
            "createdBy" : {
              "type" : "integer",
              "format" : "int32",
              "nullable" : true
            },
            "origin" : {
              "type" : "string",
              "description" : "\nIdentifies the origin of data creation:\n- `USER_UPLOAD`: data was uploaded or registered directly by a user through the API\n- `WORKFLOW_EXECUTION`: data was created as a result of a workflow run\n",
              "nullable" : true,
              "default" : null,
              "enum" : [ "USER_UPLOAD", "WORKFLOW_EXECUTION" ]
            },
            "originalFileName" : {
              "type" : "string",
              "nullable" : true
            },
            "storageId" : {
              "type" : "string"
            }
          }
        } ]
      },
      "Workflows.JsonNode" : {
        "type" : "object",
        "properties" : {
          "array" : {
            "type" : "boolean"
          },
          "bigDecimal" : {
            "type" : "boolean"
          },
          "bigInteger" : {
            "type" : "boolean"
          },
          "binary" : {
            "type" : "boolean"
          },
          "boolean" : {
            "type" : "boolean"
          },
          "container" : {
            "type" : "boolean"
          },
          "double" : {
            "type" : "boolean"
          },
          "embeddedValue" : {
            "type" : "boolean"
          },
          "empty" : {
            "type" : "boolean"
          },
          "float" : {
            "type" : "boolean"
          },
          "floatingPointNumber" : {
            "type" : "boolean"
          },
          "int" : {
            "type" : "boolean"
          },
          "integralNumber" : {
            "type" : "boolean"
          },
          "long" : {
            "type" : "boolean"
          },
          "missingNode" : {
            "type" : "boolean"
          },
          "nodeType" : {
            "type" : "string",
            "enum" : [ "ARRAY", "BINARY", "BOOLEAN", "MISSING", "NULL", "NUMBER", "OBJECT", "POJO", "STRING" ]
          },
          "null" : {
            "type" : "boolean"
          },
          "number" : {
            "type" : "boolean"
          },
          "object" : {
            "type" : "boolean"
          },
          "pojo" : {
            "type" : "boolean"
          },
          "short" : {
            "type" : "boolean"
          },
          "string" : {
            "type" : "boolean"
          },
          "textual" : {
            "type" : "boolean",
            "deprecated" : true
          },
          "valueNode" : {
            "type" : "boolean"
          }
        }
      },
      "DataRepository.PresignedRequest" : {
        "type" : "object",
        "properties" : {
          "headers" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/DataRepository.HttpHeader"
            }
          },
          "url" : {
            "type" : "string"
          }
        },
        "description" : "Pre-signed HTTP request.",
        "default" : null
      },
      "DataRepository.StartUploadSessionAppendRequest" : {
        "type" : "object",
        "properties" : {
          "size" : {
            "type" : "integer",
            "format" : "int64"
          }
        },
        "description" : "Request to start appending one chunk to an initialized upload session.",
        "default" : null
      },
      "DataRepository.UploadSession" : {
        "type" : "object",
        "properties" : {
          "storageId" : {
            "type" : "string"
          }
        },
        "description" : "Initialized upload session.",
        "default" : null
      },
      "DataRepository.UploadSessionAppend" : {
        "type" : "object",
        "properties" : {
          "appendId" : {
            "type" : "string"
          },
          "preSignedPutRequest" : {
            "$ref" : "#/components/schemas/DataRepository.PresignedRequest"
          }
        },
        "description" : "Append operation initialized for an upload session.",
        "default" : null
      },
      "WorkflowRepository.CreateWorkflowRequest" : {
        "type" : "object",
        "properties" : {
          "breakpoints" : {
            "type" : "array",
            "nullable" : true,
            "items" : {
              "$ref" : "#/components/schemas/Workflows.Breakpoint"
            }
          },
          "configuration" : {
            "oneOf" : [ {
              "$ref" : "#/components/schemas/Workflows.JsonNode"
            }, {
              "nullable" : true
            } ]
          },
          "description" : {
            "type" : "string",
            "nullable" : true
          },
          "inputDataMap" : {
            "oneOf" : [ {
              "$ref" : "#/components/schemas/Workflows.SerializableDataMap"
            }, {
              "nullable" : true
            } ]
          },
          "name" : {
            "type" : "string"
          },
          "projectId" : {
            "type" : "string"
          },
          "workflowTypeReference" : {
            "type" : "string",
            "description" : "\nReference to a component version.\n\nComponents are organized into a group hierarchy which serves as a qualification mechanism to avoid collisions and also to group components semantically.\n\nComponent versions follow the convention of semantic versioning.\n\nThe fully qualified reference of a component version follows the following syntax: `[component_group]:[component]:[component_version]`.\n    ",
            "example" : "simscale.cad.data-types:cad-model",
            "default" : null
          }
        },
        "description" : "Workflow creation data structure. Holds all properties that one can provide upon creation. Properties which are not presented will not be initialized in the workflow.",
        "default" : null
      },
      "Workflows.ParameterValueCombination" : {
        "type" : "object",
        "properties" : {
          "parameterValues" : {
            "type" : "object",
            "additionalProperties" : {
              "$ref" : "#/components/schemas/Workflows.JsonNode"
            }
          }
        }
      },
      "WorkflowRepository.ReadWorkflowResponse" : {
        "type" : "object",
        "properties" : {
          "breakpoints" : {
            "type" : "array",
            "nullable" : true,
            "items" : {
              "$ref" : "#/components/schemas/Workflows.Breakpoint"
            }
          },
          "configuration" : {
            "oneOf" : [ {
              "$ref" : "#/components/schemas/Workflows.JsonNode"
            }, {
              "nullable" : true
            } ]
          },
          "createdBy" : {
            "type" : "integer",
            "format" : "int32",
            "nullable" : true
          },
          "description" : {
            "type" : "string",
            "nullable" : true
          },
          "inputDataMap" : {
            "oneOf" : [ {
              "$ref" : "#/components/schemas/Workflows.SerializableDataMap"
            }, {
              "nullable" : true
            } ]
          },
          "name" : {
            "type" : "string"
          },
          "origin" : {
            "type" : "string",
            "description" : "The operation through which the workflow version came into existence.",
            "nullable" : true,
            "default" : null,
            "enum" : [ "CREATED", "UPDATED", "MIGRATED", "COPIED" ]
          },
          "parentWorkflowVersionId" : {
            "type" : "string",
            "description" : "Workflow version identifier. It is a string composed of the type identifier and a UUID: `workflow.version:[UUID]`.",
            "nullable" : true,
            "example" : "workflow.version:3fa85f64-5717-4562-b3fc-2c963f66afa6",
            "default" : null
          },
          "projectId" : {
            "type" : "string"
          },
          "timestamp" : {
            "type" : "string",
            "format" : "date-time"
          },
          "workflowId" : {
            "type" : "string",
            "description" : "Workflow identifier. It is a string composed of the type identifier and a UUID: `workflow:[UUID]`.",
            "example" : "workflow:3fa85f64-5717-4562-b3fc-2c963f66afa6",
            "default" : null
          },
          "workflowTypeReference" : {
            "type" : "string",
            "description" : "\nReference to a component version.\n\nComponents are organized into a group hierarchy which serves as a qualification mechanism to avoid collisions and also to group components semantically.\n\nComponent versions follow the convention of semantic versioning.\n\nThe fully qualified reference of a component version follows the following syntax: `[component_group]:[component]:[component_version]`.\n    ",
            "example" : "simscale.cad.data-types:cad-model",
            "default" : null
          },
          "workflowVersionId" : {
            "type" : "string",
            "description" : "Workflow version identifier. It is a string composed of the type identifier and a UUID: `workflow.version:[UUID]`.",
            "example" : "workflow.version:3fa85f64-5717-4562-b3fc-2c963f66afa6",
            "default" : null
          }
        },
        "description" : "Workflow or workflow version reading response. Contains all properties available for the requested workflow or workflow version.",
        "default" : null
      },
      "Workflows.SerializableDataMap" : {
        "type" : "object",
        "properties" : {
          "dataByNameAndParameterValueCombinationId" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "object",
              "additionalProperties" : {
                "type" : "string",
                "description" : "Data identifier. It is a string composed of the type identifier and a UUID: `data:[UUID]`.",
                "example" : "data:3fa85f64-5717-4562-b3fc-2c963f66afa6",
                "default" : null
              }
            }
          },
          "parameterValueCombinationsById" : {
            "type" : "object",
            "additionalProperties" : {
              "$ref" : "#/components/schemas/Workflows.ParameterValueCombination"
            }
          }
        },
        "description" : "Data map provides the mapping of each data - according to the data interface of a method or a workflow - and each parameter value combination to the data identifiers.",
        "default" : null
      },
      "WorkflowRepository.UpdateWorkflowRequest" : {
        "type" : "object",
        "properties" : {
          "breakpoints" : {
            "type" : "array",
            "nullable" : true,
            "items" : {
              "$ref" : "#/components/schemas/Workflows.Breakpoint"
            }
          },
          "configuration" : {
            "oneOf" : [ {
              "$ref" : "#/components/schemas/Workflows.JsonNode"
            }, {
              "nullable" : true
            } ]
          },
          "description" : {
            "type" : "string",
            "nullable" : true
          },
          "inputDataMap" : {
            "oneOf" : [ {
              "$ref" : "#/components/schemas/Workflows.SerializableDataMap"
            }, {
              "nullable" : true
            } ]
          },
          "name" : {
            "type" : "string",
            "nullable" : true
          },
          "workflowTypeVersionReference" : {
            "type" : "string",
            "description" : "\nReference to a component version.\n\nComponents are organized into a group hierarchy which serves as a qualification mechanism to avoid collisions and also to group components semantically.\n\nComponent versions follow the convention of semantic versioning.\n\nThe fully qualified reference of a component version follows the following syntax: `[component_group]:[component]:[component_version]`.\n    ",
            "nullable" : true,
            "example" : "simscale.cad.data-types:cad-model",
            "default" : null
          }
        },
        "description" : "Workflow update data structure. Suitable for specifying all mutable properties. Properties which are omitted or explicitly null will not be updated in the workflow.",
        "default" : null
      },
      "WorkflowRepository.WorkflowOverview" : {
        "type" : "object",
        "properties" : {
          "createdBy" : {
            "type" : "integer",
            "format" : "int32",
            "nullable" : true
          },
          "creationTimestamp" : {
            "type" : "string",
            "format" : "date-time"
          },
          "description" : {
            "type" : "string",
            "nullable" : true
          },
          "lastModificationTimestamp" : {
            "type" : "string",
            "format" : "date-time"
          },
          "name" : {
            "type" : "string"
          },
          "parentWorkflowVersionId" : {
            "type" : "string",
            "description" : "Workflow version identifier. It is a string composed of the type identifier and a UUID: `workflow.version:[UUID]`.",
            "nullable" : true,
            "example" : "workflow.version:3fa85f64-5717-4562-b3fc-2c963f66afa6",
            "default" : null
          },
          "projectId" : {
            "type" : "string"
          },
          "workflowId" : {
            "type" : "string",
            "description" : "Workflow identifier. It is a string composed of the type identifier and a UUID: `workflow:[UUID]`.",
            "example" : "workflow:3fa85f64-5717-4562-b3fc-2c963f66afa6",
            "default" : null
          },
          "workflowTypeReference" : {
            "type" : "string",
            "description" : "\nReference to a component version.\n\nComponents are organized into a group hierarchy which serves as a qualification mechanism to avoid collisions and also to group components semantically.\n\nComponent versions follow the convention of semantic versioning.\n\nThe fully qualified reference of a component version follows the following syntax: `[component_group]:[component]:[component_version]`.\n    ",
            "example" : "simscale.cad.data-types:cad-model",
            "default" : null
          },
          "workflowVersionId" : {
            "type" : "string",
            "description" : "Workflow version identifier. It is a string composed of the type identifier and a UUID: `workflow.version:[UUID]`.",
            "example" : "workflow.version:3fa85f64-5717-4562-b3fc-2c963f66afa6",
            "default" : null
          }
        },
        "description" : "Workflow overview data structure. Holds high-level information but skips details (for example data mapping and configuration) to keep the response size reasonably small.",
        "default" : null
      },
      "WorkflowRepository.WorkflowVersionOverview" : {
        "type" : "object",
        "properties" : {
          "createdBy" : {
            "type" : "integer",
            "format" : "int32",
            "nullable" : true
          },
          "creationTimestamp" : {
            "type" : "string",
            "format" : "date-time"
          },
          "description" : {
            "type" : "string",
            "nullable" : true
          },
          "name" : {
            "type" : "string"
          },
          "origin" : {
            "type" : "string",
            "description" : "The operation through which the workflow version came into existence.",
            "nullable" : true,
            "default" : null,
            "enum" : [ "CREATED", "UPDATED", "MIGRATED", "COPIED" ]
          },
          "parentWorkflowVersionId" : {
            "type" : "string",
            "description" : "Workflow version identifier. It is a string composed of the type identifier and a UUID: `workflow.version:[UUID]`.",
            "nullable" : true,
            "example" : "workflow.version:3fa85f64-5717-4562-b3fc-2c963f66afa6",
            "default" : null
          },
          "projectId" : {
            "type" : "string"
          },
          "workflowId" : {
            "type" : "string",
            "description" : "Workflow identifier. It is a string composed of the type identifier and a UUID: `workflow:[UUID]`.",
            "example" : "workflow:3fa85f64-5717-4562-b3fc-2c963f66afa6",
            "default" : null
          },
          "workflowTypeReference" : {
            "type" : "string",
            "description" : "\nReference to a component version.\n\nComponents are organized into a group hierarchy which serves as a qualification mechanism to avoid collisions and also to group components semantically.\n\nComponent versions follow the convention of semantic versioning.\n\nThe fully qualified reference of a component version follows the following syntax: `[component_group]:[component]:[component_version]`.\n    ",
            "example" : "simscale.cad.data-types:cad-model",
            "default" : null
          },
          "workflowVersionId" : {
            "type" : "string",
            "description" : "Workflow version identifier. It is a string composed of the type identifier and a UUID: `workflow.version:[UUID]`.",
            "example" : "workflow.version:3fa85f64-5717-4562-b3fc-2c963f66afa6",
            "default" : null
          }
        },
        "description" : "Workflow version overview data structure. Holds high-level information but skips details (for example data mapping and configuration) to keep the response size reasonably small.",
        "default" : null
      },
      "WorkflowRunner.InitializeWorkflowRunRequest" : {
        "required" : [ "workflowRunMode", "workflowVersionId" ],
        "type" : "object",
        "properties" : {
          "workflowRunMode" : {
            "type" : "string",
            "enum" : [ "DRY", "REAL" ]
          },
          "workflowRunName" : {
            "type" : "string",
            "nullable" : true
          },
          "workflowVersionId" : {
            "type" : "string",
            "description" : "Workflow version identifier. It is a string composed of the type identifier and a UUID: `workflow.version:[UUID]`.",
            "example" : "workflow.version:3fa85f64-5717-4562-b3fc-2c963f66afa6",
            "default" : null
          }
        },
        "description" : "Workflow run information to be presented for the initialization.",
        "default" : null
      },
      "WorkflowRunner.MethodCheckpointProgress" : {
        "type" : "object",
        "properties" : {
          "code" : {
            "type" : "string"
          },
          "details" : {
            "type" : "object",
            "additionalProperties" : { },
            "nullable" : true
          }
        },
        "description" : "Checkpoint progress information.",
        "default" : null
      },
      "WorkflowRunner.MethodPercentageProgress" : {
        "type" : "object",
        "properties" : {
          "value" : {
            "type" : "integer",
            "format" : "int32"
          }
        },
        "description" : "Percentage progress value.",
        "default" : null
      },
      "WorkflowRunner.MethodProgressEntry" : {
        "type" : "object",
        "properties" : {
          "checkpoint" : {
            "oneOf" : [ {
              "$ref" : "#/components/schemas/WorkflowRunner.MethodCheckpointProgress"
            }, {
              "nullable" : true
            } ]
          },
          "percentage" : {
            "oneOf" : [ {
              "$ref" : "#/components/schemas/WorkflowRunner.MethodPercentageProgress"
            }, {
              "nullable" : true
            } ]
          }
        },
        "description" : "A progress entry from the method engine.",
        "default" : null
      },
      "WorkflowRunner.MethodResourceUsageReport" : {
        "type" : "object",
        "properties" : {
          "allocatedCpus" : {
            "type" : "integer",
            "format" : "int32"
          },
          "allocatedGpus" : {
            "type" : "integer",
            "format" : "int32"
          },
          "durationInMillis" : {
            "type" : "integer",
            "format" : "int64"
          },
          "finishedAt" : {
            "type" : "string",
            "format" : "date-time"
          },
          "methodRunId" : {
            "type" : "string",
            "description" : "Method run identifier. It is a string composed of the type identifier and a UUID: `method.run:[UUID]`.",
            "example" : "method.run:3fa85f64-5717-4562-b3fc-2c963f66afa6",
            "default" : null
          },
          "name" : {
            "type" : "string"
          },
          "operationRunId" : {
            "type" : "string",
            "description" : "Operation run identifier. It is a string composed of the type identifier and a UUID: `operation.run:[UUID]`.",
            "example" : "operation.run:3fa85f64-5717-4562-b3fc-2c963f66afa6",
            "default" : null
          },
          "projectId" : {
            "type" : "string"
          },
          "projectName" : {
            "type" : "string",
            "nullable" : true
          },
          "runTerminalState" : {
            "type" : "string"
          },
          "startedAt" : {
            "type" : "string",
            "format" : "date-time"
          },
          "status" : {
            "type" : "string",
            "description" : "Completeness status for resource usage reporting.",
            "default" : null,
            "enum" : [ "PARTIAL", "FINAL" ]
          },
          "usageSummary" : {
            "$ref" : "#/components/schemas/WorkflowRunner.ResourceUsageSummary"
          }
        },
        "description" : "Standalone resource usage report for one method run.",
        "default" : null
      },
      "WorkflowRunner.OperationRun" : {
        "type" : "object",
        "properties" : {
          "methodReference" : {
            "type" : "string",
            "description" : "\nReference to a component version.\n\nComponents are organized into a group hierarchy which serves as a qualification mechanism to avoid collisions and also to group components semantically.\n\nComponent versions follow the convention of semantic versioning.\n\nThe fully qualified reference of a component version follows the following syntax: `[component_group]:[component]:[component_version]`.\n    ",
            "nullable" : true,
            "example" : "simscale.cad.data-types:cad-model",
            "default" : null
          },
          "methodRunId" : {
            "type" : "string",
            "description" : "Method run identifier. It is a string composed of the type identifier and a UUID: `method.run:[UUID]`.",
            "nullable" : true,
            "example" : "method.run:3fa85f64-5717-4562-b3fc-2c963f66afa6",
            "default" : null
          },
          "nestedWorkflowRunId" : {
            "type" : "string",
            "description" : "Workflow run identifier. It is a string composed of the type identifier and a UUID: `workflow.run:[UUID]`.",
            "nullable" : true,
            "example" : "workflow.run:3fa85f64-5717-4562-b3fc-2c963f66afa6",
            "default" : null
          },
          "nestedWorkflowTypeReference" : {
            "type" : "string",
            "description" : "\nReference to a component version.\n\nComponents are organized into a group hierarchy which serves as a qualification mechanism to avoid collisions and also to group components semantically.\n\nComponent versions follow the convention of semantic versioning.\n\nThe fully qualified reference of a component version follows the following syntax: `[component_group]:[component]:[component_version]`.\n    ",
            "nullable" : true,
            "example" : "simscale.cad.data-types:cad-model",
            "default" : null
          },
          "operationName" : {
            "type" : "string"
          },
          "operationRunId" : {
            "type" : "string",
            "description" : "Operation run identifier. It is a string composed of the type identifier and a UUID: `operation.run:[UUID]`.",
            "example" : "operation.run:3fa85f64-5717-4562-b3fc-2c963f66afa6",
            "default" : null
          },
          "operationRunStateHistory" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/WorkflowRunner.OperationRunStateHistoryItem"
            }
          },
          "operationType" : {
            "type" : "string",
            "description" : "Possible types of an operation run in the workflow run.",
            "default" : null,
            "enum" : [ "METHOD", "NESTED_WORKFLOW", "INLINE" ]
          },
          "parameterValues" : {
            "type" : "object",
            "additionalProperties" : { },
            "nullable" : true
          },
          "recycled" : {
            "type" : "boolean"
          },
          "stateHistoryStatisticalSummary" : {
            "$ref" : "#/components/schemas/WorkflowRunner.OperationRunStateHistoryStatisticalSummary"
          },
          "workflowRunId" : {
            "type" : "string",
            "description" : "Workflow run identifier. It is a string composed of the type identifier and a UUID: `workflow.run:[UUID]`.",
            "example" : "workflow.run:3fa85f64-5717-4562-b3fc-2c963f66afa6",
            "default" : null
          }
        },
        "description" : "Operation level information about workflow run.",
        "default" : null
      },
      "WorkflowRunner.OperationRunProgress" : {
        "type" : "object",
        "properties" : {
          "elapsedTimeInSeconds" : {
            "type" : "integer",
            "format" : "int64"
          },
          "estimatedRemainingTimeInSeconds" : {
            "type" : "integer",
            "format" : "int64",
            "nullable" : true
          },
          "methodProgress" : {
            "type" : "array",
            "nullable" : true,
            "items" : {
              "$ref" : "#/components/schemas/WorkflowRunner.MethodProgressEntry"
            }
          },
          "methodRunId" : {
            "type" : "string",
            "description" : "Method run identifier. It is a string composed of the type identifier and a UUID: `method.run:[UUID]`.",
            "nullable" : true,
            "example" : "method.run:3fa85f64-5717-4562-b3fc-2c963f66afa6",
            "default" : null
          },
          "nestedRunProgress" : {
            "oneOf" : [ {
              "$ref" : "#/components/schemas/WorkflowRunner.WorkflowRunProgress"
            }, {
              "nullable" : true
            } ]
          },
          "nestedWorkflowRunId" : {
            "type" : "string",
            "description" : "Workflow run identifier. It is a string composed of the type identifier and a UUID: `workflow.run:[UUID]`.",
            "nullable" : true,
            "example" : "workflow.run:3fa85f64-5717-4562-b3fc-2c963f66afa6",
            "default" : null
          },
          "operationLabel" : {
            "type" : "string",
            "nullable" : true
          },
          "operationMultiLanguageLabel" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            },
            "nullable" : true
          },
          "operationName" : {
            "type" : "string"
          },
          "operationRunId" : {
            "type" : "string",
            "description" : "Operation run identifier. It is a string composed of the type identifier and a UUID: `operation.run:[UUID]`.",
            "nullable" : true,
            "example" : "operation.run:3fa85f64-5717-4562-b3fc-2c963f66afa6",
            "default" : null
          },
          "operationType" : {
            "type" : "string",
            "description" : "Possible types of an operation run in the workflow run.",
            "default" : null,
            "enum" : [ "METHOD", "NESTED_WORKFLOW", "INLINE" ]
          },
          "percentage" : {
            "type" : "number",
            "format" : "double"
          }
        },
        "description" : "Details about an individual operation run's progress.",
        "default" : null
      },
      "WorkflowRunner.OperationRunStateHistoryItem" : {
        "type" : "object",
        "properties" : {
          "changeTimestamp" : {
            "type" : "string",
            "format" : "date-time"
          },
          "operationRunState" : {
            "type" : "string",
            "description" : "Possible states of an operation run.",
            "default" : null,
            "enum" : [ "CREATED", "SCHEDULED", "RUNNING", "TO_BE_REPROCESSED", "SUCCEEDED", "FAILED", "CANCELED", "PROCESSING", "PROCESSED", "UNPROCESSED" ]
          }
        },
        "description" : "Item in the operation run state history. Each history item stores the new state that the operation run has entered at the stored timestamp.",
        "default" : null
      },
      "WorkflowRunner.OperationRunStateHistoryStatisticalSummary" : {
        "type" : "object",
        "properties" : {
          "totalDuration" : {
            "type" : "integer",
            "format" : "int64"
          }
        },
        "description" : "Statistical summary information about the workflow run state history.",
        "default" : null
      },
      "WorkflowRunner.PublicWorkflowRunOverview" : {
        "type" : "object",
        "properties" : {
          "creationTimestamp" : {
            "type" : "string",
            "format" : "date-time"
          },
          "error" : {
            "oneOf" : [ {
              "$ref" : "#/components/schemas/WorkflowRunner.WorkflowRunError"
            }, {
              "nullable" : true
            } ]
          },
          "hasRecycledOperation" : {
            "type" : "boolean"
          },
          "lastProcessed" : {
            "type" : "string",
            "format" : "date-time"
          },
          "outputDataMap" : {
            "oneOf" : [ {
              "$ref" : "#/components/schemas/Workflows.SerializableDataMap"
            }, {
              "nullable" : true
            } ]
          },
          "projectId" : {
            "type" : "string"
          },
          "state" : {
            "type" : "string",
            "description" : "Workflow run state is a higher-level state describing overall progression.",
            "default" : null,
            "enum" : [ "CREATED", "RUNNING", "PAUSED", "CANCELING", "SUCCEEDED", "FAILED", "CANCELED" ]
          },
          "workflowId" : {
            "type" : "string",
            "description" : "Workflow identifier. It is a string composed of the type identifier and a UUID: `workflow:[UUID]`.",
            "nullable" : true,
            "example" : "workflow:3fa85f64-5717-4562-b3fc-2c963f66afa6",
            "default" : null
          },
          "workflowRunId" : {
            "type" : "string",
            "description" : "Workflow run identifier. It is a string composed of the type identifier and a UUID: `workflow.run:[UUID]`.",
            "example" : "workflow.run:3fa85f64-5717-4562-b3fc-2c963f66afa6",
            "default" : null
          },
          "workflowRunMode" : {
            "type" : "string",
            "enum" : [ "DRY", "REAL" ]
          },
          "workflowRunName" : {
            "type" : "string",
            "nullable" : true
          },
          "workflowTypeReference" : {
            "type" : "string",
            "description" : "\nReference to a component version.\n\nComponents are organized into a group hierarchy which serves as a qualification mechanism to avoid collisions and also to group components semantically.\n\nComponent versions follow the convention of semantic versioning.\n\nThe fully qualified reference of a component version follows the following syntax: `[component_group]:[component]:[component_version]`.\n    ",
            "example" : "simscale.cad.data-types:cad-model",
            "default" : null
          },
          "workflowVersionId" : {
            "type" : "string",
            "description" : "Workflow version identifier. It is a string composed of the type identifier and a UUID: `workflow.version:[UUID]`.",
            "nullable" : true,
            "example" : "workflow.version:3fa85f64-5717-4562-b3fc-2c963f66afa6",
            "default" : null
          }
        },
        "description" : "Public-API overview of a workflow run. When the run is in the SUCCEEDED state, `outputDataMap` is populated with the DataIds of the run's outputs; in all other states (including in listings) the field is null.",
        "default" : null
      },
      "WorkflowRunner.ResourceUsage" : {
        "type" : "object",
        "properties" : {
          "cpuCoreSeconds" : {
            "type" : "integer",
            "format" : "int64"
          },
          "gpuCoreSeconds" : {
            "type" : "integer",
            "format" : "int64"
          }
        },
        "description" : "Resource usage amount in core-seconds.",
        "default" : null
      },
      "WorkflowRunner.ResourceUsageSummary" : {
        "type" : "object",
        "properties" : {
          "chargeable" : {
            "$ref" : "#/components/schemas/WorkflowRunner.ResourceUsage"
          },
          "nonChargeable" : {
            "$ref" : "#/components/schemas/WorkflowRunner.ResourceUsage"
          },
          "total" : {
            "$ref" : "#/components/schemas/WorkflowRunner.ResourceUsage"
          }
        },
        "description" : "Resource usage split into total, chargeable, and non-chargeable parts.",
        "default" : null
      },
      "WorkflowRunner.WorkflowRunError" : {
        "type" : "object",
        "properties" : {
          "code" : {
            "type" : "string"
          },
          "details" : {
            "type" : "object",
            "additionalProperties" : {
              "type" : "string"
            }
          },
          "message" : {
            "type" : "string"
          }
        },
        "description" : "Error information for a failed workflow run. Present only when the run is in the FAILED state.",
        "default" : null
      },
      "WorkflowRunner.WorkflowRunProgress" : {
        "type" : "object",
        "properties" : {
          "elapsedTimeInSeconds" : {
            "type" : "integer",
            "format" : "int64"
          },
          "estimatedRemainingTimeInSeconds" : {
            "type" : "integer",
            "format" : "int64",
            "nullable" : true
          },
          "finished" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/WorkflowRunner.OperationRunProgress"
            }
          },
          "pending" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/WorkflowRunner.OperationRunProgress"
            }
          },
          "percentage" : {
            "type" : "number",
            "format" : "double"
          },
          "running" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/WorkflowRunner.OperationRunProgress"
            }
          },
          "skipped" : {
            "type" : "array",
            "items" : {
              "$ref" : "#/components/schemas/WorkflowRunner.OperationRunProgress"
            }
          },
          "workflowRunId" : {
            "type" : "string",
            "description" : "Workflow run identifier. It is a string composed of the type identifier and a UUID: `workflow.run:[UUID]`.",
            "example" : "workflow.run:3fa85f64-5717-4562-b3fc-2c963f66afa6",
            "default" : null
          }
        },
        "description" : "Represents the progress of a workflow run",
        "default" : null
      }
    },
    "responses" : {
      "BadRequest" : {
        "description" : "Bad request.",
        "content" : {
          "application/json" : {
            "schema" : {
              "$ref" : "#/components/schemas/ErrorResponse"
            },
            "example" : {
              "severity" : "ERROR",
              "entries" : [ {
                "severity" : "ERROR",
                "code" : "invalid-input",
                "message" : "Invalid text input",
                "details" : {
                  "path" : "$.name"
                }
              }, {
                "severity" : "ERROR",
                "code" : "invalid-input",
                "message" : "Size must be between 0 and 250",
                "details" : {
                  "path" : "$.description"
                }
              } ],
              "trace" : "abcd1234"
            }
          }
        }
      },
      "NotFound" : {
        "description" : "Not found.",
        "content" : {
          "application/json" : {
            "schema" : {
              "$ref" : "#/components/schemas/ErrorResponse"
            },
            "example" : {
              "severity" : "ERROR",
              "code" : "not-found",
              "message" : "Not found.",
              "trace" : "abcd1234"
            }
          }
        }
      },
      "UnprocessableEntity" : {
        "description" : "Unprocessable entity.",
        "content" : {
          "application/json" : {
            "schema" : {
              "$ref" : "#/components/schemas/ErrorResponse"
            },
            "example" : {
              "severity" : "ERROR",
              "code" : "unprocessable-entity",
              "message" : "Unprocessable entity.",
              "trace" : "abcd1234"
            }
          }
        }
      },
      "InsufficientPermissions" : {
        "description" : "Insufficient Permissions",
        "content" : {
          "application/json" : {
            "schema" : {
              "$ref" : "#/components/schemas/ErrorResponse"
            },
            "example" : {
              "severity" : "ERROR",
              "code" : "not-authorized",
              "message" : "Not allowed to perform this action",
              "trace" : "abcd1234"
            }
          }
        }
      },
      "Conflict" : {
        "description" : "Conflict",
        "content" : {
          "application/json" : {
            "schema" : {
              "$ref" : "#/components/schemas/ErrorResponse"
            },
            "example" : {
              "severity" : "ERROR",
              "code" : "conflict-occurred",
              "message" : "Conflict occurred while performing this action",
              "trace" : "abcd1234"
            }
          }
        }
      }
    },
    "parameters" : {
      "collectionLimit" : {
        "name" : "limit",
        "in" : "query",
        "description" : "The number of items to return.",
        "required" : false,
        "style" : "form",
        "explode" : true,
        "schema" : {
          "maximum" : 1000,
          "minimum" : 1,
          "type" : "integer",
          "default" : 100
        }
      },
      "collectionPage" : {
        "name" : "page",
        "in" : "query",
        "description" : "The page number. Use in combination with limit.",
        "required" : false,
        "style" : "form",
        "explode" : true,
        "schema" : {
          "maximum" : 1000,
          "minimum" : 1,
          "type" : "integer",
          "default" : 1
        }
      },
      "resultType" : {
        "name" : "type",
        "in" : "query",
        "description" : "The result type.\nThe possible values are 'SOLUTION_FIELD', 'CONVERGENCE_PLOT', 'PLOT', 'TABLE'.\n",
        "required" : false,
        "style" : "form",
        "explode" : true,
        "schema" : {
          "$ref" : "#/components/schemas/SimulationRunResultType"
        }
      },
      "resultCategory" : {
        "name" : "category",
        "in" : "query",
        "description" : "The result category.\nFor solution fields values include 'SOLUTION', 'AVERAGED_SOLUTION', 'TRANSIENT_SOLUTION', 'STATISTICAL_SURFACE_SOLUTION', etc.\nFor convergence plots values include 'RESIDUALS_PLOT', 'NUMBER_OF_NEWTON_ITERATIONS', etc.\nFor plots values include 'FORCE_PLOT', 'MOMENT_PLOT', 'FORCE_COEFFICIENTS_PLOT', 'PROBE_POINT_PLOT', 'AREA_AVERAGE', 'FACE_CALC', etc.\n",
        "required" : false,
        "style" : "form",
        "explode" : true,
        "schema" : {
          "$ref" : "#/components/schemas/SimulationRunResultCategory"
        }
      },
      "resultQuantity" : {
        "name" : "quantity",
        "in" : "query",
        "description" : "The result quantity, only applies to plot result types.\nValid values include 'Ux', 'Uy', 'Uz', 'p', 'k', 'omega', 'T', 'displacement', 'von Mises stress', etc.\n",
        "required" : false,
        "style" : "form",
        "explode" : true,
        "schema" : {
          "$ref" : "#/components/schemas/SimulationRunResultQuantity"
        }
      },
      "resultName" : {
        "name" : "name",
        "in" : "query",
        "description" : "The name that was defined for extra simulation result outputs.",
        "required" : false,
        "style" : "form",
        "explode" : true,
        "schema" : {
          "$ref" : "#/components/schemas/SimulationRunResultName"
        }
      },
      "resultDirection" : {
        "name" : "direction",
        "in" : "query",
        "description" : "The result direction, only applies to Pedestrian Wind Comfort analysis.",
        "required" : false,
        "style" : "form",
        "explode" : true,
        "schema" : {
          "$ref" : "#/components/schemas/SimulationRunResultDirection"
        }
      },
      "class" : {
        "name" : "class",
        "in" : "query",
        "description" : "The entity class to filter.",
        "required" : false,
        "style" : "form",
        "explode" : true,
        "schema" : {
          "type" : "string"
        }
      },
      "bodies" : {
        "name" : "bodies",
        "in" : "query",
        "description" : "The body names to filter. If multiple body names are provided any match.",
        "required" : false,
        "style" : "form",
        "explode" : true,
        "schema" : {
          "uniqueItems" : true,
          "type" : "array",
          "items" : {
            "type" : "string"
          }
        }
      },
      "entities" : {
        "name" : "entities",
        "in" : "query",
        "description" : "The entity names to filter. If multiple entity names are provided any match.",
        "required" : false,
        "style" : "form",
        "explode" : true,
        "schema" : {
          "uniqueItems" : true,
          "type" : "array",
          "items" : {
            "type" : "string"
          }
        }
      },
      "attributes" : {
        "name" : "attributes",
        "in" : "query",
        "description" : "The attribute names to filter. If multiple attribute names are provided any match.",
        "required" : false,
        "style" : "form",
        "explode" : true,
        "schema" : {
          "uniqueItems" : true,
          "type" : "array",
          "items" : {
            "type" : "string"
          }
        }
      },
      "values" : {
        "name" : "values",
        "in" : "query",
        "description" : "The attribute values to filter. If multiple attribute values are provided any match.",
        "required" : false,
        "style" : "form",
        "explode" : true,
        "schema" : {
          "uniqueItems" : true,
          "type" : "array",
          "items" : {
            "type" : "string"
          }
        }
      },
      "spaceId" : {
        "name" : "spaceId",
        "in" : "path",
        "description" : "The space ID",
        "required" : true,
        "style" : "simple",
        "explode" : false,
        "schema" : {
          "type" : "string",
          "format" : "uuid"
        }
      },
      "folderId" : {
        "name" : "folderId",
        "in" : "path",
        "description" : "The folder ID",
        "required" : true,
        "style" : "simple",
        "explode" : false,
        "schema" : {
          "type" : "string",
          "format" : "uuid"
        }
      },
      "projectId" : {
        "name" : "projectId",
        "in" : "path",
        "description" : "The project ID",
        "required" : true,
        "style" : "simple",
        "explode" : false,
        "schema" : {
          "pattern" : "^\\d+$",
          "type" : "string",
          "example" : "1234123412341234"
        }
      },
      "reportId" : {
        "name" : "reportId",
        "in" : "path",
        "description" : "The report ID",
        "required" : true,
        "style" : "simple",
        "explode" : false,
        "schema" : {
          "type" : "string",
          "format" : "uuid",
          "example" : "159c159c-159c-159c-159c-159c159c159c"
        }
      },
      "geometryImportId" : {
        "name" : "geometryImportId",
        "in" : "path",
        "description" : "The geometry import ID",
        "required" : true,
        "style" : "simple",
        "explode" : false,
        "schema" : {
          "type" : "string",
          "format" : "uuid",
          "example" : "f48bf48b-f48b-f48b-f48b-f48bf48bf48b"
        }
      },
      "geometryId" : {
        "name" : "geometryId",
        "in" : "path",
        "description" : "The geometry ID",
        "required" : true,
        "style" : "simple",
        "explode" : false,
        "schema" : {
          "type" : "string",
          "format" : "uuid",
          "example" : "159c159c-159c-159c-159c-159c159c159c"
        }
      },
      "cadId" : {
        "name" : "cadId",
        "in" : "path",
        "description" : "The CAD ID",
        "required" : true,
        "style" : "simple",
        "explode" : false,
        "schema" : {
          "type" : "string",
          "format" : "uuid",
          "example" : "f48bf48b-f48b-f48b-f48b-f48bf48bf48b"
        }
      },
      "cadStateId" : {
        "name" : "cadStateId",
        "in" : "path",
        "description" : "The CAD state ID",
        "required" : true,
        "style" : "simple",
        "explode" : false,
        "schema" : {
          "type" : "string",
          "format" : "uuid",
          "example" : "f48bf48b-f48b-f48b-f48b-f48bf48bf48b"
        }
      },
      "cadFeatureId" : {
        "name" : "cadFeatureId",
        "in" : "path",
        "description" : "The CAD feature ID",
        "required" : true,
        "style" : "simple",
        "explode" : false,
        "schema" : {
          "type" : "string",
          "format" : "uuid",
          "example" : "f48bf48b-f48b-f48b-f48b-f48bf48bf48b"
        }
      },
      "meshId" : {
        "name" : "meshId",
        "in" : "path",
        "description" : "The mesh ID",
        "required" : true,
        "style" : "simple",
        "explode" : false,
        "schema" : {
          "type" : "string",
          "format" : "uuid",
          "example" : "159c159c-159c-159c-159c-159c159c159c"
        }
      },
      "simulationId" : {
        "name" : "simulationId",
        "in" : "path",
        "description" : "The simulation ID",
        "required" : true,
        "style" : "simple",
        "explode" : false,
        "schema" : {
          "type" : "string",
          "format" : "uuid",
          "example" : "260d260d-260d-260d-260d-260d260d260d"
        }
      },
      "simulationIdOptional" : {
        "name" : "simulationId",
        "in" : "query",
        "description" : "The simulation ID if given",
        "required" : false,
        "style" : "form",
        "explode" : true,
        "schema" : {
          "type" : "string",
          "format" : "uuid",
          "example" : "260d260d-260d-260d-260d-260d260d260d"
        }
      },
      "simulationIdQuery" : {
        "name" : "simulationId",
        "in" : "query",
        "description" : "The related simulation ID of a physics based mesh operation",
        "required" : false,
        "style" : "form",
        "explode" : true,
        "schema" : {
          "type" : "string",
          "format" : "uuid",
          "example" : "260d260d-260d-260d-260d-260d260d260d"
        }
      },
      "simulationSpecSchemaVersion" : {
        "name" : "simulationSpecSchemaVersion",
        "in" : "query",
        "description" : "Version of the schema the simulation spec should conform to. This can be either the external version like `30.0`, or the internal version like `internal:549`.",
        "required" : false,
        "style" : "form",
        "explode" : true,
        "schema" : {
          "type" : "string",
          "example" : "34.0",
          "default" : "34.0"
        }
      },
      "meshingSpecSchemaVersion" : {
        "name" : "meshingSpecSchemaVersion",
        "in" : "query",
        "description" : "Version of the schema the meshing spec should conform to. This can be either the external version like `8.0`, or the internal version like `internal:53`.",
        "required" : false,
        "style" : "form",
        "explode" : true,
        "schema" : {
          "type" : "string",
          "example" : "10.0",
          "default" : "10.0"
        }
      },
      "runId" : {
        "name" : "runId",
        "in" : "path",
        "description" : "The simulation run ID",
        "required" : true,
        "style" : "simple",
        "explode" : false,
        "schema" : {
          "type" : "string",
          "format" : "uuid",
          "example" : "37ae37ae-37ae-37ae-37ae-37ae37ae37ae"
        }
      },
      "runIdOptional" : {
        "name" : "runId",
        "in" : "query",
        "description" : "The simulation run ID if given",
        "required" : false,
        "style" : "form",
        "explode" : true,
        "schema" : {
          "type" : "string",
          "format" : "uuid",
          "example" : "37ae37ae-37ae-37ae-37ae-37ae37ae37ae"
        }
      },
      "meshOperationId" : {
        "name" : "meshOperationId",
        "in" : "path",
        "description" : "The mesh operation ID",
        "required" : true,
        "style" : "simple",
        "explode" : false,
        "schema" : {
          "type" : "string",
          "format" : "uuid",
          "example" : "37ae37ae-37ae-37ae-37ae-37ae37ae37ae"
        }
      },
      "subRunId" : {
        "name" : "subRunId",
        "in" : "path",
        "description" : "The simulation sub-run ID",
        "required" : true,
        "style" : "simple",
        "explode" : false,
        "schema" : {
          "type" : "string",
          "format" : "uuid",
          "example" : "37ae37ae-37ae-37ae-37ae-37ae37ae37ae"
        }
      },
      "materialGroupId" : {
        "name" : "materialGroupId",
        "in" : "path",
        "description" : "ID of a material group",
        "required" : true,
        "style" : "simple",
        "explode" : false,
        "schema" : {
          "type" : "string"
        }
      },
      "materialId" : {
        "name" : "materialId",
        "in" : "path",
        "description" : "ID of a material",
        "required" : true,
        "style" : "simple",
        "explode" : false,
        "schema" : {
          "type" : "string"
        }
      },
      "materialUpdatePreview" : {
        "name" : "preview",
        "in" : "query",
        "description" : "If present and true, the update material operation(s) will not be persisted and the returned response will only be a preview of the simulation.",
        "required" : false,
        "style" : "form",
        "explode" : true,
        "schema" : {
          "type" : "boolean",
          "default" : false
        }
      },
      "latitude" : {
        "name" : "latitude",
        "in" : "query",
        "description" : "Latitude coordinate in WGS84 format",
        "required" : true,
        "style" : "form",
        "explode" : true,
        "schema" : {
          "minLength" : 1,
          "type" : "string"
        },
        "example" : "48.135125"
      },
      "longitude" : {
        "name" : "longitude",
        "in" : "query",
        "description" : "Longitude coordinate in WGS84 format",
        "required" : true,
        "style" : "form",
        "explode" : true,
        "schema" : {
          "minLength" : 1,
          "type" : "string"
        },
        "example" : "11.581981"
      },
      "exportId" : {
        "name" : "exportId",
        "in" : "path",
        "required" : true,
        "style" : "simple",
        "explode" : false,
        "schema" : {
          "type" : "string",
          "format" : "uuid"
        }
      }
    },
    "examples" : {
      "WindComfort" : {
        "summary" : "Wind Comfort",
        "value" : {
          "simulationId" : "260d260d-260d-260d-260d-260d260d260d",
          "name" : "My first simulation",
          "version" : "12.0",
          "createdAt" : "2020-05-20T11:32:12.730Z",
          "modifiedAt" : "2020-05-20T11:32:12.730Z",
          "cadId" : "4b7f3e8c-2a9c-4e3c-bc9c-8f0af7c2b4d1",
          "stateId" : "e9a1c3c2-5c44-44c3-9d8e-1c7f2b61f8af",
          "meshId" : null,
          "parameters" : null,
          "model" : {
            "type" : "WIND_COMFORT",
            "regionOfInterest" : {
              "discRadius" : {
                "value" : 278.4222937219507,
                "unit" : "m"
              },
              "centerPoint" : {
                "value" : {
                  "x" : 12.114788527587606,
                  "y" : 14.600237051446499
                },
                "unit" : "m"
              },
              "groundHeight" : {
                "value" : -12.800801325539402,
                "unit" : "m"
              },
              "northAngle" : {
                "value" : 0,
                "unit" : "°"
              },
              "advancedSettings" : {
                "windTunnelSize" : {
                  "type" : "WIND_TUNNEL_SIZE_MODERATE"
                }
              }
            },
            "windConditions" : {
              "geographicalLocation" : {
                "latitude" : {
                  "value" : 48.1351253,
                  "unit" : "°"
                },
                "longitude" : {
                  "value" : 11.5819805,
                  "unit" : "°"
                }
              },
              "windRose" : {
                "numDirections" : 4,
                "velocityBuckets" : [ {
                  "to" : 0.278,
                  "fractions" : [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ]
                }, {
                  "from" : 0.278,
                  "to" : 1.389,
                  "fractions" : [ 0.004, 0.003, 0.002, 0.004, 0.002, 0.003, 0.002, 0.002, 0.003, 0.003, 0.003, 0.003, 0.004, 0.003, 0.003, 0.002 ]
                }, {
                  "from" : 1.389,
                  "to" : 3.333,
                  "fractions" : [ 0.015, 0.014, 0.014, 0.016, 0.013, 0.014, 0.012, 0.012, 0.016, 0.015, 0.017, 0.014, 0.016, 0.012, 0.013, 0.013 ]
                }, {
                  "from" : 3.333,
                  "to" : 5.278,
                  "fractions" : [ 0.017, 0.015, 0.015, 0.017, 0.014, 0.012, 0.013, 0.015, 0.02, 0.025, 0.029, 0.023, 0.021, 0.016, 0.017, 0.015 ]
                }, {
                  "from" : 5.278,
                  "to" : 7.778,
                  "fractions" : [ 0.01, 0.009, 0.009, 0.011, 0.009, 0.007, 0.006, 0.01, 0.019, 0.026, 0.037, 0.028, 0.023, 0.016, 0.014, 0.012 ]
                }, {
                  "from" : 7.778,
                  "to" : 10.556,
                  "fractions" : [ 0.003, 0.003, 0.004, 0.005, 0.003, 0.003, 0.002, 0.004, 0.011, 0.017, 0.024, 0.018, 0.012, 0.007, 0.005, 0.004 ]
                }, {
                  "from" : 10.556,
                  "to" : 13.889,
                  "fractions" : [ 0.001, 0.001, 0.001, 0.003, 0.001, 0, 0, 0.001, 0.004, 0.007, 0.011, 0.007, 0.005, 0.003, 0.002, 0.001 ]
                }, {
                  "from" : 13.889,
                  "to" : 16.944,
                  "fractions" : [ 0, 0, 0, 0.001, 0, 0, 0, 0, 0.001, 0.002, 0.003, 0.003, 0.002, 0.001, 0.001, 0 ]
                }, {
                  "from" : 16.944,
                  "fractions" : [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.001, 0.001, 0.001, 0.001, 0, 0, 0 ]
                } ],
                "velocityUnit" : "m/s",
                "exposureCategories" : [ "EC4", "EC4", "EC4", "EC4" ],
                "windEngineeringStandard" : "EU",
                "windDataSource" : "METEOBLUE",
                "addSurfaceRoughness" : false
              }
            },
            "pedestrianComfortMap" : [ {
              "name" : "Pedestrian level 1",
              "heightAboveGround" : {
                "value" : 1.5,
                "unit" : "m"
              },
              "ground" : {
                "type" : "GROUND_ABSOLUTE"
              }
            } ],
            "simulationControl" : {
              "maxDirectionRunTime" : {
                "value" : 10000,
                "unit" : "s"
              },
              "numberOfFluidPasses" : 0.2
            },
            "advancedModelling" : {
              "surfaceRoughness" : [ ],
              "porousObjects" : [ ]
            },
            "additionalResultExport" : {
              "forcesMoments" : [ ],
              "probePoints" : [ ],
              "transientResultControl" : {
                "type" : "TRANSIENT",
                "writeControl" : {
                  "type" : "MODERATE_RESOLUTION"
                },
                "fractionFromEnd" : 0.2,
                "exportFluid" : true,
                "exportSurface" : false,
                "geometryPrimitiveUuids" : [ ]
              },
              "statisticalAveragingResultControl" : {
                "type" : "STATISTICAL_AVERAGING_V2",
                "fractionFromEnd" : 0.2,
                "samplingInterval" : {
                  "type" : "MODERATE_RESOLUTION"
                },
                "exportFluid" : true,
                "exportSurface" : false,
                "geometryPrimitiveUuids" : [ ]
              }
            },
            "meshSettings" : {
              "windComfortFineness" : {
                "type" : "COARSE"
              },
              "refinements" : [ ]
            }
          }
        }
      },
      "Incompressible" : {
        "summary" : "Incompressible using OpenFoam",
        "value" : {
          "simulationId" : "260d260d-260d-260d-260d-260d260d260d",
          "name" : "My first simulation",
          "version" : "12.0",
          "createdAt" : "2020-05-20T11:32:12.730Z",
          "modifiedAt" : "2020-05-20T11:32:12.730Z",
          "cadId" : "4b7f3e8c-2a9c-4e3c-bc9c-8f0af7c2b4d1",
          "stateId" : "e9a1c3c2-5c44-44c3-9d8e-1c7f2b61f8af",
          "meshId" : "c5e3a4f2-9c8b-4c6a-96c3-2c4f4bde3e41",
          "model" : {
            "type" : "INCOMPRESSIBLE",
            "isCompressible" : false,
            "turbulenceModel" : "KOMEGASST",
            "timeDependency" : {
              "type" : "STATIONARY"
            },
            "algorithm" : "SIMPLE",
            "numOfPassiveSpecies" : 0,
            "model" : { },
            "materials" : {
              "fluids" : [ {
                "type" : "INCOMPRESSIBLE",
                "name" : "Water",
                "viscosityModel" : {
                  "type" : "NEWTONIAN",
                  "kinematicViscosity" : {
                    "value" : 9.3379E-7,
                    "unit" : "m²/s"
                  }
                },
                "density" : {
                  "value" : 997.33,
                  "unit" : "kg/m³"
                },
                "topologicalReference" : {
                  "entities" : [ "B1_TE39" ],
                  "sets" : [ ]
                },
                "builtInMaterial" : "builtInWater"
              } ]
            },
            "initialConditions" : {
              "gaugePressure" : {
                "global" : {
                  "value" : 0,
                  "unit" : "Pa"
                }
              },
              "velocity" : {
                "global" : {
                  "value" : {
                    "x" : 0,
                    "y" : 0,
                    "z" : 0
                  },
                  "unit" : "m/s"
                },
                "subdomains" : [ ]
              },
              "turbulentKineticEnergy" : {
                "global" : {
                  "value" : 0.00375,
                  "unit" : "m²/s²"
                }
              },
              "omegaDissipationRate" : {
                "global" : {
                  "value" : 3.375,
                  "unit" : "1/s"
                }
              }
            },
            "boundaryConditions" : [ {
              "name" : "Velocity inlet 1",
              "type" : "VELOCITY_INLET_V3",
              "velocity" : {
                "type" : "FIXED_VALUE",
                "value" : {
                  "value" : {
                    "type" : "COMPONENT",
                    "x" : {
                      "type" : "CONSTANT",
                      "value" : 0
                    },
                    "y" : {
                      "type" : "CONSTANT",
                      "value" : 0
                    },
                    "z" : {
                      "type" : "CONSTANT",
                      "value" : -1.5
                    }
                  },
                  "unit" : "m/s"
                }
              },
              "topologicalReference" : {
                "entities" : [ "B1_TE3" ],
                "sets" : [ ]
              }
            }, {
              "name" : "Velocity inlet 2",
              "type" : "VELOCITY_INLET_V3",
              "velocity" : {
                "type" : "FIXED_VALUE",
                "value" : {
                  "value" : {
                    "type" : "COMPONENT",
                    "x" : {
                      "type" : "CONSTANT",
                      "value" : 0
                    },
                    "y" : {
                      "type" : "CONSTANT",
                      "value" : -1
                    },
                    "z" : {
                      "type" : "CONSTANT",
                      "value" : 0
                    }
                  },
                  "unit" : "m/s"
                }
              },
              "topologicalReference" : {
                "entities" : [ "B1_TE30" ],
                "sets" : [ ]
              }
            }, {
              "name" : "Pressure outlet 3",
              "type" : "PRESSURE_OUTLET_V30",
              "gaugePressure" : {
                "type" : "FIXED_VALUE",
                "value" : {
                  "value" : {
                    "type" : "CONSTANT",
                    "value" : 0
                  },
                  "unit" : "Pa"
                }
              },
              "topologicalReference" : {
                "entities" : [ "B1_TE37" ],
                "sets" : [ ]
              }
            } ],
            "advancedConcepts" : {
              "rotatingZones" : [ ],
              "porousMediums" : [ ],
              "momentumSources" : [ ]
            },
            "numerics" : {
              "relaxationType" : "AUTOMATIC",
              "relaxationFactor" : {
                "pressureField" : 0.3,
                "velocityEquation" : 0.7,
                "turbulentKineticEnergyEquation" : 0.3,
                "omegaDissipationRateEquation" : 0.3
              },
              "numNonOrthogonalCorrectors" : 0,
              "pressureReferenceCell" : 0,
              "pressureReferenceValue" : {
                "value" : 0,
                "unit" : "Pa"
              },
              "residualControls" : {
                "velocity" : {
                  "absoluteTolerance" : 1.0E-6
                },
                "pressure" : {
                  "absoluteTolerance" : 1.0E-6
                },
                "turbulentKineticEnergy" : {
                  "absoluteTolerance" : 1.0E-6
                },
                "omegaDissipationRate" : {
                  "absoluteTolerance" : 1.0E-6
                }
              },
              "solvers" : {
                "velocitySolver" : {
                  "type" : "SMOOTH",
                  "absoluteTolerance" : 1.0E-6,
                  "relativeTolerance" : 0.01,
                  "smoother" : "GAUSSSEIDEL",
                  "numSweeps" : 1
                },
                "pressureSolver" : {
                  "type" : "GAMG",
                  "absoluteTolerance" : 1.0E-6,
                  "relativeTolerance" : 0.001,
                  "smoother" : "GAUSSSEIDEL",
                  "numPreSweeps" : 2,
                  "numPostSweeps" : 1,
                  "cacheAgglomerationOn" : true,
                  "numCellsCoarsestLevel" : 100,
                  "numMergeLevels" : 1
                },
                "turbulentKineticEnergySolver" : {
                  "type" : "SMOOTH",
                  "absoluteTolerance" : 1.0E-6,
                  "relativeTolerance" : 0.01,
                  "smoother" : "GAUSSSEIDEL",
                  "numSweeps" : 1
                },
                "omegaDissipationRateSolver" : {
                  "type" : "SMOOTH",
                  "absoluteTolerance" : 1.0E-6,
                  "relativeTolerance" : 0.01,
                  "smoother" : "GAUSSSEIDEL",
                  "numSweeps" : 1
                }
              },
              "schemes" : {
                "timeDifferentiation" : {
                  "forDefault" : {
                    "type" : "STEADYSTATE"
                  }
                },
                "gradient" : {
                  "forDefault" : {
                    "type" : "CELLLIMITED_LEASTSQUARES",
                    "limiterCoefficient" : 1
                  },
                  "grad_pressure" : {
                    "type" : "CELLLIMITED_LEASTSQUARES",
                    "limiterCoefficient" : 1
                  },
                  "grad_velocity" : {
                    "type" : "CELLLIMITED_LEASTSQUARES",
                    "limiterCoefficient" : 1
                  }
                },
                "divergence" : {
                  "forDefault" : {
                    "type" : "GAUSS_LINEAR"
                  },
                  "div_Phi_velocity" : {
                    "type" : "GAUSS_LINEARUPWINDV_GRAD_U_"
                  },
                  "div_Phi_turbulentKineticEnergy" : {
                    "type" : "BOUNDED_GAUSS_UPWIND"
                  },
                  "div_NuEff_dev_T_grad_velocity" : {
                    "type" : "GAUSS_LINEAR"
                  },
                  "div_Phi_omegaDissipationRate" : {
                    "type" : "BOUNDED_GAUSS_UPWIND"
                  }
                },
                "laplacian" : {
                  "forDefault" : {
                    "type" : "GAUSS_LINEAR_LIMITED_CORRECTED",
                    "limiterCoefficient" : 0.5
                  },
                  "laplacian_NuEff_velocity" : {
                    "type" : "GAUSS_LINEAR_LIMITED_CORRECTED",
                    "limiterCoefficient" : 0.5
                  },
                  "laplacian_1A_U_pressure" : {
                    "type" : "GAUSS_LINEAR_LIMITED_CORRECTED",
                    "limiterCoefficient" : 0.5
                  },
                  "laplacian_Nu_velocity" : {
                    "type" : "GAUSS_LINEAR_LIMITED_CORRECTED",
                    "limiterCoefficient" : 0.5
                  }
                },
                "interpolation" : {
                  "forDefault" : {
                    "type" : "LINEAR"
                  },
                  "interpolate_HbyA" : {
                    "type" : "LINEAR"
                  }
                },
                "surfaceNormalGradient" : {
                  "forDefault" : {
                    "type" : "LIMITED",
                    "limiterCoefficient" : 0.5
                  }
                }
              }
            },
            "simulationControl" : {
              "endTime" : {
                "value" : 1000,
                "unit" : "s"
              },
              "deltaT" : {
                "value" : 1,
                "unit" : "s"
              },
              "writeControl" : {
                "type" : "TIME_STEP",
                "writeInterval" : 1000
              },
              "numProcessors" : -1,
              "maxRunTime" : {
                "value" : 10000,
                "unit" : "s"
              },
              "potentialFoamInitialization" : false,
              "decomposeAlgorithm" : {
                "type" : "SCOTCH"
              }
            },
            "resultControl" : {
              "forcesMoments" : [ ],
              "surfaceData" : [ ],
              "scalarTransport" : [ ],
              "probePoints" : [ ],
              "fieldCalculations" : [ ]
            }
          }
        }
      },
      "Simerics" : {
        "summary" : "Simerics",
        "value" : {
          "version" : "104",
          "simulationId" : "d2811649-0eba-4ad2-b518-9fabe008aa87",
          "createdAt" : "2021-09-23T09:37:03.892Z",
          "cadId" : "4b7f3e8c-2a9c-4e3c-bc9c-8f0af7c2b4d1",
          "stateId" : "e9a1c3c2-5c44-44c3-9d8e-1c7f2b61f8af",
          "model" : {
            "type" : "SIMERICS_ANALYSIS",
            "materials" : {
              "fluids" : [ {
                "type" : "INCOMPRESSIBLE",
                "name" : "Water",
                "viscosityModel" : {
                  "type" : "NEWTONIAN",
                  "kinematicViscosity" : {
                    "value" : 9.3379E-7,
                    "unit" : "m²/s"
                  }
                },
                "density" : {
                  "value" : 997.33,
                  "unit" : "kg/m³"
                },
                "topologicalReference" : {
                  "entities" : [ "B1_TE39" ],
                  "sets" : [ ]
                },
                "builtInMaterial" : "builtInWater"
              } ]
            },
            "isCompressible" : false,
            "turbulenceModel" : "NONE",
            "boundaryConditions" : [ {
              "name" : "Velocity inlet 1",
              "type" : "VELOCITY_INLET_V3",
              "velocity" : {
                "type" : "FLOW_RATE_INLET_VELOCITY",
                "flowRate" : {
                  "type" : "VOLUMETRIC",
                  "value" : {
                    "value" : {
                      "type" : "CONSTANT",
                      "value" : 1
                    },
                    "unit" : "m³/s"
                  }
                }
              },
              "topologicalReference" : {
                "entities" : [ "B1_TE37" ],
                "sets" : [ ]
              }
            } ],
            "simulationControl" : {
              "numberOfIterations" : 500,
              "writeControl" : {
                "type" : "NUMBER_OF_ITERATIONS_STEADY_STATE",
                "writeInterval" : 100
              },
              "maxRunTime" : {
                "value" : 10000,
                "unit" : "s"
              },
              "relativeConvergenceCriteria" : 0.001
            },
            "meshSettings" : {
              "type" : "AUTOMATIC_SETTINGS",
              "fineness" : 6.9
            },
            "resultControl" : {
              "forcesMoments" : [ ],
              "surfaceData" : [ ]
            },
            "advancedConcepts" : {
              "rotatingZones" : [ ]
            }
          }
        }
      },
      "LocalCartesianBox" : {
        "value" : {
          "type" : "LOCAL_CARTESIAN_BOX",
          "geometryPrimitiveId" : "159c159c-159c-159c-159c-159c159c159c",
          "name" : "Local cartesian box 1",
          "orientationReference" : "GEOMETRY",
          "min" : {
            "value" : {
              "x" : -5,
              "y" : -3.5,
              "z" : 0
            },
            "unit" : "m"
          },
          "max" : {
            "value" : {
              "x" : 5,
              "y" : 3.5,
              "z" : 3
            },
            "unit" : "m"
          }
        }
      },
      "ComponentOverviewExample" : {
        "value" : {
          "componentReference" : "simscale.ramps:mesh-and-result-import",
          "componentType" : "WORKFLOW_TYPE",
          "state" : "ACTIVE",
          "name" : "Mesh and result import"
        }
      },
      "ComponentOverviewListExample" : {
        "value" : [ {
          "componentReference" : "simscale.ramps:mesh-and-result-import",
          "componentType" : "WORKFLOW_TYPE",
          "state" : "ACTIVE",
          "name" : "Mesh and result import"
        } ]
      },
      "ComponentVersionMetadataExample" : {
        "value" : {
          "componentVersionReference" : "simscale.ramps:mesh-and-result-import:1.4.1",
          "name" : "Mesh and result import",
          "multiLanguageName" : {
            "en" : "Mesh and result import"
          },
          "description" : "Converts external mesh and result fields into SimScale's internal format.",
          "multiLanguageDescription" : {
            "en" : "Converts external mesh and result fields into SimScale's internal format."
          },
          "state" : "RELEASED"
        }
      },
      "ComponentVersionMetadataListExample" : {
        "value" : [ {
          "componentVersionReference" : "simscale.ramps:mesh-and-result-import:1.4.1",
          "name" : "Mesh and result import",
          "multiLanguageName" : {
            "en" : "Mesh and result import"
          },
          "description" : "Converts external mesh and result fields into SimScale's internal format.",
          "multiLanguageDescription" : {
            "en" : "Converts external mesh and result fields into SimScale's internal format."
          },
          "state" : "RELEASED"
        } ]
      },
      "ComponentVersionDependenciesExample" : {
        "value" : {
          "dataTypeDependencies" : [ "simscale.ramps:general-mesh-and-fields:1.1.0", "simscale.ramps:ramps-mesh-and-fields:1.0.0" ],
          "methodDependencies" : [ "simscale.ramps:ramps-conversion:1.3.3" ],
          "workflowTypeDependencies" : [ "simscale.ramps:mesh-and-result-import:1.2.0" ]
        }
      },
      "ComponentVersionDependentsExample" : {
        "value" : {
          "workflowTypeDependents" : [ "simscale.ramps:mesh-and-result-import:1.4.1" ]
        }
      },
      "ComponentGroupMetadataExample" : {
        "value" : {
          "componentGroupReference" : "simscale.ramps",
          "name" : "RAMPS",
          "multiLanguageName" : {
            "en" : "RAMPS"
          },
          "description" : "Components for RAMPS mesh and result data.",
          "multiLanguageDescription" : {
            "en" : "Components for RAMPS mesh and result data."
          },
          "state" : "ACTIVE",
          "hasChildren" : true
        }
      },
      "ComponentGroupMetadataListExample" : {
        "value" : [ {
          "componentGroupReference" : "simscale.ramps",
          "name" : "RAMPS",
          "multiLanguageName" : {
            "en" : "RAMPS"
          },
          "description" : "Components for RAMPS mesh and result data.",
          "multiLanguageDescription" : {
            "en" : "Components for RAMPS mesh and result data."
          },
          "state" : "ACTIVE",
          "hasChildren" : true
        } ]
      },
      "OrganizationComponentGroupMetadataExample" : {
        "value" : {
          "organizationComponentGroupReference" : "simscale",
          "organizationId" : "26bc882a-f3c8-4abc-8b75-c4f5f62790aa",
          "name" : "SimScale"
        }
      },
      "DataTypeFileOperationsDescriptionExample" : {
        "value" : {
          "uploadable" : true,
          "downloadable" : true,
          "fileFormatGroups" : [ {
            "name" : "VTK",
            "multiLanguageName" : {
              "en" : "VTK"
            },
            "fileFormats" : [ {
              "name" : "VTU",
              "multiLanguageName" : {
                "en" : "VTU"
              },
              "mimeType" : "application/octet-stream",
              "fileExtensions" : [ "vtu" ]
            } ]
          } ]
        }
      },
      "SchemaDefinitionExample" : {
        "value" : {
          "name" : "generalMeshAndFields",
          "modelFieldName" : "generalMeshAndFields",
          "typeName" : "generalMeshAndFields",
          "fields" : {
            "sourceFile" : {
              "name" : "sourceFile",
              "modelFieldName" : "sourceFile",
              "default" : null,
              "list" : false,
              "optional" : false,
              "dataTypeReference" : null,
              "doc" : "Uploaded mesh and result file."
            }
          },
          "subtypes" : [ ],
          "defaultSubtype" : null,
          "inline" : false,
          "doc" : "External mesh and result fields."
        }
      },
      "ValidationRuleSetExample" : {
        "value" : {
          "rules" : [ ]
        }
      },
      "DataInterfaceExample" : {
        "value" : {
          "input" : [ {
            "name" : "generalMeshAndFields",
            "type" : "simscale.ramps:general-mesh-and-fields:1.1.0",
            "parameters" : [ ],
            "dataProviderType" : "INTERNAL",
            "optional" : false,
            "label" : "Input mesh and fields"
          } ],
          "output" : [ {
            "name" : "rampsMeshAndFields",
            "type" : "simscale.ramps:ramps-mesh-and-fields:1.0.0",
            "parameters" : [ ],
            "dataProviderType" : "EXTERNAL",
            "optional" : false,
            "label" : "SimScale mesh and fields"
          } ]
        }
      },
      "MethodResourceEstimationValueModelExample" : {
        "value" : {
          "oneProcessorEstimation" : {
            "memoryInMebibytes" : {
              "value_model_type" : "integer:constant",
              "value" : 1024
            },
            "storageInMebibytes" : {
              "value_model_type" : "integer:constant",
              "value" : 10240
            }
          },
          "scalingEstimation" : {
            "speedUp" : {
              "value_model_type" : "list:constant",
              "values" : [ {
                "processors" : {
                  "value_model_type" : "integer:constant",
                  "value" : 2
                },
                "scaling" : {
                  "value_model_type" : "real:constant",
                  "value" : 2.0
                }
              } ],
              "elementModel" : {
                "processors" : {
                  "value_model_type" : "integer:constant",
                  "value" : 2
                },
                "scaling" : {
                  "value_model_type" : "real:constant",
                  "value" : 2.0
                }
              }
            }
          }
        }
      },
      "UiConfigurationExample" : {
        "value" : {
          "fields" : {
            "generalMeshAndFields" : {
              "title" : {
                "type" : "LABEL",
                "value" : "Input mesh and fields"
              }
            }
          }
        }
      },
      "WorkflowDefinitionExample" : {
        "value" : {
          "data" : [ {
            "name" : "generalMeshAndFields",
            "type" : "simscale.ramps:general-mesh-and-fields:1.1.0",
            "optional" : false
          }, {
            "name" : "rampsMeshAndFields",
            "type" : "simscale.ramps:ramps-mesh-and-fields:1.0.0",
            "optional" : false
          } ],
          "operations" : [ {
            "name" : "ramps_conversion",
            "method" : "simscale.ramps:ramps-conversion:1.3.3",
            "inputDataMap" : {
              "generalMeshAndFields" : "generalMeshAndFields"
            },
            "outputDataMap" : {
              "rampsMeshAndFields" : "rampsMeshAndFields"
            }
          } ],
          "breakpoints" : [ ],
          "metadata" : {
            "label" : "Mesh and result import"
          },
          "workflowDefinitionAnalysisStrategy" : "STATIC"
        }
      },
      "DataIdExample" : {
        "value" : "data:73f26297-3471-4ebc-a716-cda2eeb6b39d"
      },
      "DataIdListExample" : {
        "value" : [ "data:73f26297-3471-4ebc-a716-cda2eeb6b39d" ]
      },
      "DataInfoExample" : {
        "value" : {
          "data_info_type" : "internalDataInfo",
          "dataId" : "data:73f26297-3471-4ebc-a716-cda2eeb6b39d",
          "dataType" : "simscale.ramps:general-mesh-and-fields:1.1.0",
          "contentType" : "application/octet-stream",
          "projectId" : "2035021597904608503",
          "creationTimestamp" : 1.777984496789E9,
          "dataSize" : 524288,
          "dataProviderType" : "INTERNAL",
          "storageId" : "6d1e3c52-b7a5-4bdf-9230-d4be47f1999b",
          "origin" : "USER_UPLOAD",
          "createdBy" : 1234
        }
      },
      "DomainSpecificMetadataExample" : {
        "value" : {
          "format" : "PVD"
        }
      },
      "CreateUploadSessionRequestExample" : {
        "value" : {
          "dataType" : "simscale.ramps:general-mesh-and-fields:1.1.0",
          "contentType" : "application/octet-stream"
        }
      },
      "UploadSessionExample" : {
        "value" : {
          "storageId" : "019eccdc-a0ff-7692-bd8a-bf1f30152313"
        }
      },
      "StartUploadSessionAppendRequestExample" : {
        "value" : {
          "size" : 2147483648
        }
      },
      "UploadSessionAppendExample" : {
        "value" : {
          "appendId" : "019ecce6-04f9-72d0-9759-ab8b73112499",
          "preSignedPutRequest" : {
            "url" : "https://storage-upload.example.com/object",
            "headers" : [ {
              "name" : "Content-Type",
              "value" : "application/octet-stream"
            } ]
          }
        }
      },
      "CreateWorkflowRequestExample" : {
        "value" : {
          "projectId" : "2035021597904608503",
          "workflowTypeReference" : "simscale.ramps:mesh-and-result-import:1.4.1",
          "name" : "Mesh and result import",
          "description" : "Converts external mesh and result fields into SimScale's internal format.",
          "inputDataMap" : {
            "parameterValueCombinationsById" : {
              "11111111-1111-1111-1111-111111111111" : {
                "parameterValues" : { }
              }
            },
            "dataByNameAndParameterValueCombinationId" : {
              "generalMeshAndFields" : {
                "11111111-1111-1111-1111-111111111111" : "data:73f26297-3471-4ebc-a716-cda2eeb6b39d"
              }
            }
          },
          "configuration" : { },
          "breakpoints" : [ ]
        }
      },
      "UpdateWorkflowRequestExample" : {
        "value" : {
          "workflowTypeVersionReference" : "simscale.ramps:mesh-and-result-import:1.4.1",
          "name" : "Mesh and result import",
          "description" : "Updated workflow configuration.",
          "inputDataMap" : {
            "parameterValueCombinationsById" : {
              "11111111-1111-1111-1111-111111111111" : {
                "parameterValues" : { }
              }
            },
            "dataByNameAndParameterValueCombinationId" : {
              "generalMeshAndFields" : {
                "11111111-1111-1111-1111-111111111111" : "data:73f26297-3471-4ebc-a716-cda2eeb6b39d"
              }
            }
          },
          "configuration" : { },
          "breakpoints" : [ ]
        }
      },
      "WorkflowIdExample" : {
        "value" : "workflow:da24787a-1176-41d8-9f7e-eb09288f041d"
      },
      "WorkflowVersionIdExample" : {
        "value" : "workflow.version:f1cc1ff1-d335-494e-8d4f-4663d661444e"
      },
      "ReadWorkflowResponseExample" : {
        "value" : {
          "workflowId" : "workflow:da24787a-1176-41d8-9f7e-eb09288f041d",
          "projectId" : "2035021597904608503",
          "workflowTypeReference" : "simscale.ramps:mesh-and-result-import:1.4.1",
          "workflowVersionId" : "workflow.version:f1cc1ff1-d335-494e-8d4f-4663d661444e",
          "parentWorkflowVersionId" : null,
          "timestamp" : 1.777984496789E9,
          "name" : "Mesh and result import",
          "description" : "Converts external mesh and result fields into SimScale's internal format.",
          "inputDataMap" : {
            "parameterValueCombinationsById" : {
              "11111111-1111-1111-1111-111111111111" : {
                "parameterValues" : { }
              }
            },
            "dataByNameAndParameterValueCombinationId" : {
              "generalMeshAndFields" : {
                "11111111-1111-1111-1111-111111111111" : "data:73f26297-3471-4ebc-a716-cda2eeb6b39d"
              }
            }
          },
          "configuration" : { },
          "breakpoints" : [ ],
          "createdBy" : 1234
        }
      },
      "WorkflowOverviewListExample" : {
        "value" : [ {
          "workflowId" : "workflow:da24787a-1176-41d8-9f7e-eb09288f041d",
          "projectId" : "2035021597904608503",
          "workflowTypeReference" : "simscale.ramps:mesh-and-result-import:1.4.1",
          "workflowVersionId" : "workflow.version:f1cc1ff1-d335-494e-8d4f-4663d661444e",
          "parentWorkflowVersionId" : null,
          "creationTimestamp" : 1.777984496789E9,
          "lastModificationTimestamp" : 1.7779845E9,
          "name" : "Mesh and result import",
          "description" : "Converts external mesh and result fields into SimScale's internal format.",
          "createdBy" : 1234
        } ]
      },
      "WorkflowVersionOverviewListExample" : {
        "value" : [ {
          "workflowId" : "workflow:da24787a-1176-41d8-9f7e-eb09288f041d",
          "projectId" : "2035021597904608503",
          "workflowTypeReference" : "simscale.ramps:mesh-and-result-import:1.4.1",
          "workflowVersionId" : "workflow.version:f1cc1ff1-d335-494e-8d4f-4663d661444e",
          "parentWorkflowVersionId" : null,
          "creationTimestamp" : 1.777984496789E9,
          "name" : "Mesh and result import",
          "description" : "Converts external mesh and result fields into SimScale's internal format.",
          "createdBy" : 1234
        } ]
      },
      "InitializeWorkflowRunRequestExample" : {
        "value" : {
          "workflowVersionId" : "workflow.version:f1cc1ff1-d335-494e-8d4f-4663d661444e",
          "workflowRunMode" : "REAL",
          "workflowRunName" : "Run 1"
        }
      },
      "WorkflowRunIdExample" : {
        "value" : "workflow.run:4e99da58-ae2c-4180-b137-28b9a6963309"
      },
      "PublicWorkflowRunOverviewExample" : {
        "value" : {
          "workflowRunId" : "workflow.run:4e99da58-ae2c-4180-b137-28b9a6963309",
          "workflowRunName" : "Run 1",
          "workflowTypeReference" : "simscale.ramps:mesh-and-result-import:1.4.1",
          "workflowRunMode" : "REAL",
          "creationTimestamp" : 1.777984496789E9,
          "lastProcessed" : 1.7779845E9,
          "projectId" : "2035021597904608503",
          "workflowVersionId" : "workflow.version:f1cc1ff1-d335-494e-8d4f-4663d661444e",
          "workflowId" : "workflow:da24787a-1176-41d8-9f7e-eb09288f041d",
          "state" : "SUCCEEDED",
          "hasRecycledOperation" : false,
          "error" : null,
          "outputDataMap" : {
            "parameterValueCombinationsById" : {
              "11111111-1111-1111-1111-111111111111" : {
                "parameterValues" : { }
              }
            },
            "dataByNameAndParameterValueCombinationId" : {
              "rampsMeshAndFields" : {
                "11111111-1111-1111-1111-111111111111" : "data:2d787eb5-2480-49c5-8b92-a9d4b0c23f69"
              }
            }
          }
        }
      },
      "PublicWorkflowRunOverviewListExample" : {
        "value" : [ {
          "workflowRunId" : "workflow.run:4e99da58-ae2c-4180-b137-28b9a6963309",
          "workflowRunName" : "Run 1",
          "workflowTypeReference" : "simscale.ramps:mesh-and-result-import:1.4.1",
          "workflowRunMode" : "REAL",
          "creationTimestamp" : 1.777984496789E9,
          "lastProcessed" : 1.7779845E9,
          "projectId" : "2035021597904608503",
          "workflowVersionId" : "workflow.version:f1cc1ff1-d335-494e-8d4f-4663d661444e",
          "workflowId" : "workflow:da24787a-1176-41d8-9f7e-eb09288f041d",
          "state" : "RUNNING",
          "hasRecycledOperation" : false,
          "error" : null,
          "outputDataMap" : null
        } ]
      },
      "WorkflowRunProgressExample" : {
        "value" : {
          "workflowRunId" : "workflow.run:4e99da58-ae2c-4180-b137-28b9a6963309",
          "percentage" : 0.6,
          "elapsedTimeInSeconds" : 180,
          "estimatedRemainingTimeInSeconds" : 120,
          "pending" : [ ],
          "running" : [ {
            "operationRunId" : "operation.run:7c8e17d4-e490-43f3-80dc-c88e6c6fe6ce",
            "operationName" : "ramps_conversion",
            "operationLabel" : "Conversion to SimScale's internal format",
            "operationMultiLanguageLabel" : {
              "en" : "Conversion to SimScale's internal format"
            },
            "operationType" : "METHOD",
            "methodRunId" : "method.run:342dc741-4b20-4d6e-9ad7-a0c6fd9e2a69",
            "nestedWorkflowRunId" : null,
            "percentage" : 0.6,
            "elapsedTimeInSeconds" : 180,
            "estimatedRemainingTimeInSeconds" : 120,
            "methodProgress" : [ {
              "percentage" : {
                "value" : 60
              }
            } ],
            "nestedRunProgress" : null
          } ],
          "finished" : [ ],
          "skipped" : [ ]
        }
      },
      "OperationRunExample" : {
        "value" : {
          "operationRunId" : "operation.run:7c8e17d4-e490-43f3-80dc-c88e6c6fe6ce",
          "workflowRunId" : "workflow.run:4e99da58-ae2c-4180-b137-28b9a6963309",
          "operationName" : "ramps_conversion",
          "parameterValues" : { },
          "operationType" : "METHOD",
          "methodReference" : "simscale.ramps:ramps-conversion:1.3.3",
          "methodRunId" : "method.run:342dc741-4b20-4d6e-9ad7-a0c6fd9e2a69",
          "nestedWorkflowTypeReference" : null,
          "nestedWorkflowRunId" : null,
          "recycled" : false,
          "operationRunStateHistory" : [ {
            "operationRunState" : "CREATED",
            "changeTimestamp" : 1.777984496789E9
          }, {
            "operationRunState" : "SUCCEEDED",
            "changeTimestamp" : 1.7779848E9
          } ],
          "stateHistoryStatisticalSummary" : {
            "totalDuration" : 300000
          }
        }
      },
      "MethodResourceUsageReportExample" : {
        "value" : {
          "projectId" : "2035021597904608503",
          "projectName" : "Example project",
          "operationRunId" : "operation.run:7c8e17d4-e490-43f3-80dc-c88e6c6fe6ce",
          "methodRunId" : "method.run:342dc741-4b20-4d6e-9ad7-a0c6fd9e2a69",
          "name" : "ramps_conversion",
          "startedAt" : 1.777984496789E9,
          "finishedAt" : 1.7779848E9,
          "durationInMillis" : 88810,
          "runTerminalState" : "SUCCEEDED",
          "status" : "FINAL",
          "usageSummary" : {
            "total" : {
              "cpuCoreSeconds" : 720,
              "gpuCoreSeconds" : 0
            },
            "chargeable" : {
              "cpuCoreSeconds" : 720,
              "gpuCoreSeconds" : 0
            },
            "nonChargeable" : {
              "cpuCoreSeconds" : 0,
              "gpuCoreSeconds" : 0
            }
          },
          "allocatedCpus" : 8,
          "allocatedGpus" : 0
        }
      }
    },
    "securitySchemes" : {
      "apiKey" : {
        "type" : "apiKey",
        "description" : "The API key assigned to the user. For sandbox environment, use `sandbox-example-api-key`.",
        "name" : "X-API-KEY",
        "in" : "header"
      }
    }
  }
}