245 lines
7.5 KiB
JSON
245 lines
7.5 KiB
JSON
{
|
|
"capability": "ansys.mechanical.static_structural@v1",
|
|
"display_name": "ANSYS Mechanical 线性静力分析",
|
|
"default_enrollment": false,
|
|
"output_namespace": "ansys",
|
|
"input_policy": {
|
|
"suffixes": [".step", ".stp", ".x_t", ".x_b", ".iges", ".igs"],
|
|
"max_count": 1,
|
|
"max_bytes": 536870912,
|
|
"max_total_bytes": 536870912
|
|
},
|
|
"outputs": {
|
|
"project": {
|
|
"filename": "project.mechdat",
|
|
"media_type": "application/octet-stream",
|
|
"relative_path": "project.mechdat",
|
|
"publish": true,
|
|
"required": false
|
|
},
|
|
"summary": {
|
|
"filename": "summary.json",
|
|
"media_type": "application/json",
|
|
"relative_path": "summary.json",
|
|
"publish": true,
|
|
"required": true
|
|
},
|
|
"result_table": {
|
|
"filename": "result-table.csv",
|
|
"media_type": "text/csv",
|
|
"relative_path": "result-table.csv",
|
|
"publish": true,
|
|
"required": true
|
|
},
|
|
"stress_image": {
|
|
"filename": "equivalent-stress.png",
|
|
"media_type": "image/png",
|
|
"relative_path": "equivalent-stress.png",
|
|
"publish": true,
|
|
"required": false
|
|
},
|
|
"deformation_image": {
|
|
"filename": "total-deformation.png",
|
|
"media_type": "image/png",
|
|
"relative_path": "total-deformation.png",
|
|
"publish": true,
|
|
"required": false
|
|
},
|
|
"solver_log": {
|
|
"filename": "solver-output.txt",
|
|
"media_type": "text/plain",
|
|
"relative_path": "solver-output.txt",
|
|
"publish": true,
|
|
"required": false
|
|
},
|
|
"analysis_spec": {
|
|
"filename": "analysis-spec.json",
|
|
"media_type": "application/json",
|
|
"relative_path": ".meta/analysis-spec.json",
|
|
"publish": false,
|
|
"required": true
|
|
},
|
|
"provenance": {
|
|
"filename": "provenance.json",
|
|
"media_type": "application/json",
|
|
"relative_path": ".meta/provenance.json",
|
|
"publish": false,
|
|
"required": true
|
|
}
|
|
},
|
|
"feature_path": ["operation", "analysis", "type"],
|
|
"features": {
|
|
"static_structural": "0.1.0"
|
|
},
|
|
"summary": {
|
|
"title_path": ["operation", "analysis", "title"]
|
|
},
|
|
"legacy_runtime": null,
|
|
"request_schema": {
|
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
"type": "object",
|
|
"x-maxBytes": 131072,
|
|
"required": ["schema_version", "inputs", "operation", "outputs"],
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"schema_version": {"const": 1},
|
|
"inputs": {
|
|
"type": "array",
|
|
"minItems": 1,
|
|
"maxItems": 1,
|
|
"items": {
|
|
"type": "object",
|
|
"required": ["key", "artifact_id"],
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"key": {"const": "geometry"},
|
|
"artifact_id": {"type": "string", "format": "uuid"}
|
|
}
|
|
}
|
|
},
|
|
"operation": {
|
|
"type": "object",
|
|
"required": ["analysis"],
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"analysis": {
|
|
"type": "object",
|
|
"required": [
|
|
"type", "title", "unit_system", "geometry", "material", "mesh",
|
|
"boundary_conditions", "loads", "results"
|
|
],
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"type": {"const": "static_structural"},
|
|
"title": {"type": "string", "minLength": 1, "maxLength": 160},
|
|
"unit_system": {"enum": ["m_kg_s", "mm_kg_s"]},
|
|
"geometry": {
|
|
"type": "object",
|
|
"required": ["input"],
|
|
"additionalProperties": false,
|
|
"properties": {"input": {"const": "geometry"}}
|
|
},
|
|
"material": {"const": "structural_steel"},
|
|
"mesh": {
|
|
"type": "object",
|
|
"required": ["global_size"],
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"global_size": {"type": "number", "exclusiveMinimum": 0, "maximum": 1000000}
|
|
}
|
|
},
|
|
"boundary_conditions": {
|
|
"type": "array",
|
|
"minItems": 1,
|
|
"maxItems": 32,
|
|
"items": {"$ref": "#/$defs/fixed_support"}
|
|
},
|
|
"loads": {
|
|
"type": "array",
|
|
"minItems": 1,
|
|
"maxItems": 32,
|
|
"items": {
|
|
"oneOf": [
|
|
{"$ref": "#/$defs/force"},
|
|
{"$ref": "#/$defs/pressure"}
|
|
]
|
|
}
|
|
},
|
|
"results": {
|
|
"type": "array",
|
|
"minItems": 1,
|
|
"maxItems": 3,
|
|
"uniqueItems": true,
|
|
"items": {
|
|
"enum": ["total_deformation", "equivalent_stress", "reaction_force"]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"outputs": {
|
|
"type": "array",
|
|
"minItems": 0,
|
|
"maxItems": 5,
|
|
"uniqueItems": true,
|
|
"items": {
|
|
"oneOf": [
|
|
{"$ref": "#/$defs/project_output"},
|
|
{"$ref": "#/$defs/stress_image_output"},
|
|
{"$ref": "#/$defs/deformation_image_output"},
|
|
{"$ref": "#/$defs/solver_log_output"}
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"$defs": {
|
|
"named_selection": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"maxLength": 128,
|
|
"pattern": "^[^/\\\\:*?\"<>|]+$"
|
|
},
|
|
"vector3": {
|
|
"type": "array",
|
|
"minItems": 3,
|
|
"maxItems": 3,
|
|
"items": {"type": "number", "minimum": -1000000000000, "maximum": 1000000000000}
|
|
},
|
|
"fixed_support": {
|
|
"type": "object",
|
|
"required": ["type", "named_selection"],
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"type": {"const": "fixed_support"},
|
|
"named_selection": {"$ref": "#/$defs/named_selection"}
|
|
}
|
|
},
|
|
"force": {
|
|
"type": "object",
|
|
"required": ["type", "named_selection", "components"],
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"type": {"const": "force"},
|
|
"named_selection": {"$ref": "#/$defs/named_selection"},
|
|
"components": {"$ref": "#/$defs/vector3"}
|
|
}
|
|
},
|
|
"pressure": {
|
|
"type": "object",
|
|
"required": ["type", "named_selection", "magnitude"],
|
|
"additionalProperties": false,
|
|
"properties": {
|
|
"type": {"const": "pressure"},
|
|
"named_selection": {"$ref": "#/$defs/named_selection"},
|
|
"magnitude": {"type": "number", "minimum": -1000000000000, "maximum": 1000000000000}
|
|
}
|
|
},
|
|
"project_output": {
|
|
"type": "object",
|
|
"required": ["key", "format"],
|
|
"additionalProperties": false,
|
|
"properties": {"key": {"const": "project"}, "format": {"const": "mechdat"}}
|
|
},
|
|
"stress_image_output": {
|
|
"type": "object",
|
|
"required": ["key", "format"],
|
|
"additionalProperties": false,
|
|
"properties": {"key": {"const": "stress_image"}, "format": {"const": "png"}}
|
|
},
|
|
"deformation_image_output": {
|
|
"type": "object",
|
|
"required": ["key", "format"],
|
|
"additionalProperties": false,
|
|
"properties": {"key": {"const": "deformation_image"}, "format": {"const": "png"}}
|
|
},
|
|
"solver_log_output": {
|
|
"type": "object",
|
|
"required": ["key", "format"],
|
|
"additionalProperties": false,
|
|
"properties": {"key": {"const": "solver_log"}, "format": {"const": "txt"}}
|
|
}
|
|
}
|
|
}
|
|
}
|