zcbot/software-contracts/ansys.mechanical.static_str...

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.2.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"}}
}
}
}
}