Raw schema
{
"type": "object",
"properties": {
"length_m": {
"type": "number",
"exclusiveMinimum": 0,
"maximum": 2,
"description": "Enclosure length (X) in metres"
},
"width_m": {
"type": "number",
"exclusiveMinimum": 0,
"maximum": 2,
"description": "Enclosure width (Y) in metres"
},
"height_m": {
"type": "number",
"exclusiveMinimum": 0,
"maximum": 2,
"description": "Enclosure height (Z) in metres"
},
"heat_sources": {
"type": "array",
"items": {
"type": "object",
"properties": {
"x_m": {
"type": "number",
"minimum": 0,
"description": "X position in metres from enclosure origin"
},
"y_m": {
"type": "number",
"minimum": 0,
"description": "Y position in metres"
},
"z_m": {
"type": "number",
"minimum": 0,
"description": "Z position in metres"
},
"watts": {
"type": "number",
"exclusiveMinimum": 0,
"description": "Heat dissipation in watts"
},
"label": {
"type": "string",
"description": "Optional label (e.g. 'CPU', 'PSU')"
}
},
"required": [
"x_m",
"y_m",
"z_m",
"watts"
],
"additionalProperties": false
},
"minItems": 1,
"description": "Heat sources inside the enclosure"
},
"flow_type": {
"type": "string",
"enum": [
"natural_convection",
"forced"
],
"description": "Airflow type"
},
"inlet_velocity_ms": {
"type": "number",
"exclusiveMinimum": 0,
"description": "Inlet air velocity in m/s (required for forced flow)"
},
"inlet_position": {
"type": "string",
"enum": [
"front_bottom",
"front_center",
"side_bottom"
],
"default": "front_bottom",
"description": "Inlet location"
},
"outlet_position": {
"type": "string",
"enum": [
"rear_top",
"rear_center",
"top_rear"
],
"default": "rear_top",
"description": "Outlet location"
},
"ambient_temp_c": {
"type": "number",
"default": 25,
"description": "Ambient air temperature in Celsius"
},
"mesh_density": {
"type": "string",
"enum": [
"coarse",
"medium",
"fine"
],
"default": "medium",
"description": "Mesh density — coarse (~50K cells), medium (~200K), fine (~500K)"
}
},
"required": [
"length_m",
"width_m",
"height_m",
"heat_sources",
"flow_type"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}