optimization-physics-contractAvailable
Structural Mechanics
Defines optimization applicability and derivative ownership for Structural Mechanics.
Reference contract
| Field | Value | Description |
|---|---|---|
| kind | Structural Mechanics | — |
| namespace | solid | — |
| status | certified | — |
| visible | true | — |
| optimizationContract | {"baseStudies":["stationary","transient"],"certificationFixture":"tests/python_backend/test_differentiable_physics_contract.py::test_builtin_physics_optimization_contract_gate","contributionBindings":[{"certificationFixture":"tests/python_backend/test_differentiable_physics_contract.py::test_builtin_physics_optimization_contract_gate","contribution":"domain-feature:Linear Elastic Material","runtimeOwner":"StructuralMechanics.element_residual"},{"certificationFixture":"tests/python_backend/test_differentiable_physics_contract.py::test_builtin_physics_optimization_contract_gate","contribution":"domain-feature:Body Load","runtimeOwner":"StructuralMechanics.element_residual"},{"certificationFixture":"tests/python_backend/test_differentiable_physics_contract.py::test_builtin_physics_optimization_contract_gate","contribution":"domain-feature:Damping","runtimeOwner":"StructuralMechanics.element_residual"},{"certificationFixture":"tests/python_backend/test_differentiable_physics_contract.py::test_builtin_physics_optimization_contract_gate","contribution":"domain-feature:Rotating Frame","runtimeOwner":"StructuralMechanics.element_residual"},{"certificationFixture":"tests/python_backend/test_differentiable_physics_contract.py::test_builtin_physics_optimization_contract_gate","contribution":"boundary-feature:Fixed Constraint","runtimeOwner":"StructuralMechanics.element_residual"},{"certificationFixture":"tests/python_backend/test_differentiable_physics_contract.py::test_builtin_physics_optimization_contract_gate","contribution":"boundary-feature:Prescribed Displacement","runtimeOwner":"StructuralMechanics.element_residual"},{"certificationFixture":"tests/python_backend/test_differentiable_physics_contract.py::test_builtin_physics_optimization_contract_gate","contribution":"boundary-feature:Boundary Load","runtimeOwner":"StructuralMechanics.element_residual"},{"certificationFixture":"tests/python_backend/test_differentiable_physics_contract.py::test_builtin_physics_optimization_contract_gate","contribution":"boundary-feature:Edge Load","runtimeOwner":"StructuralMechanics.element_residual"},{"certificationFixture":"tests/python_backend/test_differentiable_physics_contract.py::test_builtin_physics_optimization_contract_gate","contribution":"boundary-feature:Point Load","runtimeOwner":"StructuralMechanics.element_residual"},{"certificationFixture":"tests/python_backend/test_differentiable_physics_contract.py::test_builtin_physics_optimization_contract_gate","contribution":"weak-contribution:solid.balance","runtimeOwner":"StructuralMechanics.element_residual"}],"functionalReductions":["value","integral","average","minimum","maximum","rms","norm","smooth-maximum","smooth-minimum"],"geometricModes":{"coordinate":{"applicability":"required","reason":""},"materialTopology":{"applicability":"required","reason":""}},"historyFields":["u"],"objectiveRules":[{"entityDimensions":["global"],"modes":["stationary"],"operators":["value"],"supportsSelection":false,"symbols":["solid.compliance"],"valueKind":"scalar-global"},{"entityDimensions":["global"],"modes":["stationary"],"operators":["value"],"supportsSelection":false,"symbols":["sm.compliance"],"valueKind":"scalar-global"},{"entityDimensions":["global","domain","boundary","point"],"modes":["stationary","transient"],"operators":["integral","average","minimum","maximum","rms","norm","smooth-maximum","smooth-minimum"],"supportsSelection":true,"symbols":["solid.u"],"valueKind":"field"},{"entityDimensions":["global","domain","boundary","point"],"modes":["stationary","transient"],"operators":["integral","average","minimum","maximum","rms","norm","smooth-maximum","smooth-minimum"],"supportsSelection":true,"symbols":["sm.u"],"valueKind":"field"},{"entityDimensions":["global","domain","boundary","point"],"modes":["stationary","transient"],"operators":["integral","average","minimum","maximum","rms","norm","smooth-maximum","smooth-minimum"],"supportsSelection":true,"symbols":["solid.disp"],"valueKind":"field"},{"entityDimensions":["global","domain","boundary","point"],"modes":["stationary","transient"],"operators":["integral","average","minimum","maximum","rms","norm","smooth-maximum","smooth-minimum"],"supportsSelection":true,"symbols":["sm.disp"],"valueKind":"field"},{"entityDimensions":["global","domain","boundary","point"],"modes":["stationary","transient"],"operators":["integral","average","minimum","maximum","rms","norm","smooth-maximum","smooth-minimum"],"supportsSelection":true,"symbols":["solid.ux"],"valueKind":"field"},{"entityDimensions":["global","domain","boundary","point"],"modes":["stationary"],"operators":["integral","average","minimum","maximum","rms","norm","smooth-maximum","smooth-minimum"],"supportsSelection":true,"symbols":["solid.uy"],"valueKind":"field"},{"entityDimensions":["global","domain","boundary","point"],"modes":["stationary"],"operators":["integral","average","minimum","maximum","rms","norm","smooth-maximum","smooth-minimum"],"supportsSelection":true,"symbols":["solid.uz"],"valueKind":"field"},{"entityDimensions":["global","domain","boundary","point"],"modes":["stationary","transient"],"operators":["integral","average","minimum","maximum","rms","norm","smooth-maximum","smooth-minimum"],"supportsSelection":true,"symbols":["solid.v"],"valueKind":"field"},{"entityDimensions":["global","domain","boundary","point"],"modes":["stationary","transient"],"operators":["integral","average","minimum","maximum","rms","norm","smooth-maximum","smooth-minimum"],"supportsSelection":true,"symbols":["solid.w"],"valueKind":"field"},{"entityDimensions":["global","domain"],"modes":["stationary"],"operators":["integral","average","minimum","maximum","rms","norm","smooth-maximum","smooth-minimum"],"supportsSelection":true,"symbols":["solid.strain"],"valueKind":"field"},{"entityDimensions":["global","domain"],"modes":["stationary"],"operators":["integral","average","minimum","maximum","rms","norm","smooth-maximum","smooth-minimum"],"supportsSelection":true,"symbols":["solid.stress"],"valueKind":"field"},{"entityDimensions":["global","domain"],"modes":["stationary"],"operators":["integral","average","minimum","maximum","rms","norm","smooth-maximum","smooth-minimum"],"supportsSelection":true,"symbols":["solid.mises"],"valueKind":"field"},{"entityDimensions":["global"],"modes":["stationary"],"operators":["value"],"supportsSelection":false,"symbols":["solid.strainEnergy"],"valueKind":"scalar-global"},{"entityDimensions":["global","domain","boundary","point"],"modes":["transient"],"operators":["integral","average","minimum","maximum","rms","norm","smooth-maximum","smooth-minimum"],"supportsSelection":true,"symbols":["solid.velocity"],"valueKind":"field"},{"entityDimensions":["global","domain","boundary","point"],"modes":["transient"],"operators":["integral","average","minimum","maximum","rms","norm","smooth-maximum","smooth-minimum"],"supportsSelection":true,"symbols":["solid.acceleration"],"valueKind":"field"},{"entityDimensions":["global"],"modes":["transient"],"operators":["norm"],"supportsSelection":false,"symbols":["solid.coriolisForce"],"valueKind":"vector-global"},{"entityDimensions":["global"],"modes":["transient"],"operators":["norm"],"supportsSelection":false,"symbols":["solid.rotatingFrameForce"],"valueKind":"vector-global"},{"entityDimensions":["global"],"modes":["transient"],"operators":["value"],"supportsSelection":false,"symbols":["solid.kineticEnergy"],"valueKind":"scalar-global"},{"entityDimensions":["global"],"modes":["transient"],"operators":["value"],"supportsSelection":false,"symbols":["solid.dampingPower"],"valueKind":"scalar-global"}],"objectiveSymbols":["solid.compliance","sm.compliance","solid.u","sm.u","solid.disp","sm.disp","solid.ux","solid.uy","solid.uz","solid.v","solid.w","solid.strain","solid.stress","solid.mises","solid.strainEnergy","solid.velocity","solid.acceleration","solid.coriolisForce","solid.rotatingFrameForce","solid.kineticEnergy","solid.dampingPower"],"requiredDerivativeChannels":["parameter","input","coordinate","material"],"role":"spatial-analysis","runtimeProvider":"StructuralMechanics.element_residual","schemaVersion":"1.0.0","stateFields":["u"]} | — |
| governingEquations | [{"description":"","differentiability":"exact-ad","editor":null,"entityDimension":"domain","latex":"\\nabla\\!\\cdot\\boldsymbol{\\sigma}+\\mathbf F=\\rho\\left(\\ddot{\\mathbf u}+2\\boldsymbol{\\Omega}\\times\\dot{\\mathbf u}+\\dot{\\boldsymbol{\\Omega}}\\times\\mathbf r+\\boldsymbol{\\Omega}\\times(\\boldsymbol{\\Omega}\\times\\mathbf r)+\\mathbf a_0\\right)","mathml":"<math display=\"block\"><mrow><mo>∇</mo><mo>·</mo><mi mathvariant=\"bold\">σ</mi><mo>+</mo><mi mathvariant=\"bold\">F</mi><mo>=</mo><mi>ρ</mi><mover><mi mathvariant=\"bold\">u</mi><mo>¨</mo></mover></mrow></math>","name":"Momentum balance","readOnly":true,"section":"governing-equation"},{"description":"","differentiability":"exact-ad","editor":null,"entityDimension":"domain","latex":"\\mathbf C=\\alpha_M\\mathbf M+\\beta_K\\mathbf K","mathml":"<math display=\"block\"><mrow><mi>C</mi><mo>=</mo><msub><mi>α</mi><mi>M</mi></msub><mi>M</mi><mo>+</mo><msub><mi>β</mi><mi>K</mi></msub><mi>K</mi></mrow></math>","name":"Rayleigh damping","readOnly":true,"section":"definition"},{"description":"A symmetric positive-semidefinite 6x6 Kelvin-Voigt tensor adds direct anisotropic viscous stress.","differentiability":"exact-ad","editor":null,"entityDimension":"domain","latex":"\\boldsymbol{\\sigma}_{v}=\\mathsf D_v:\\dot{\\boldsymbol{\\varepsilon}},\\quad\\mathsf D_v\\succeq0","mathml":"<math display=\"block\"><mrow><msub><mi>sigma</mi><mi>v</mi></msub><mo>=</mo><msub><mi>D</mi><mi>v</mi></msub><mo>:</mo><mover><mi>epsilon</mi><mo>.</mo></mover><mo>,</mo><msub><mi>D</mi><mi>v</mi></msub><mo>⪯</mo><mn>0</mn></mrow></math>","name":"Kelvin-Voigt viscous damping","readOnly":true,"section":"definition"},{"description":"","differentiability":"exact-ad","editor":null,"entityDimension":"domain","latex":"\\boldsymbol{\\sigma}=\\mathsf C:\\boldsymbol{\\varepsilon}","mathml":"<math display=\"block\"><mrow><mi mathvariant=\"bold\">σ</mi><mo>=</mo><mi mathvariant=\"bold\">C</mi><mo>:</mo><mi mathvariant=\"bold\">ε</mi></mrow></math>","name":"Linear elastic constitutive law","readOnly":true,"section":"definition"},{"description":"","differentiability":"exact-ad","editor":null,"entityDimension":"domain","latex":"\\boldsymbol{\\varepsilon}=\\tfrac12\\!\\left(\\nabla\\mathbf u+\\nabla\\mathbf u^{\\mathsf T}\\right)","mathml":"<math display=\"block\"><mrow><mi mathvariant=\"bold\">ε</mi><mo>=</mo><mfrac><mn>1</mn><mn>2</mn></mfrac><mo>(</mo><mo>∇</mo><mi mathvariant=\"bold\">u</mi><mo>+</mo><msup><mrow><mo>∇</mo><mi mathvariant=\"bold\">u</mi></mrow><mi>T</mi></msup><mo>)</mo></mrow></math>","name":"Small-strain kinematics","readOnly":true,"section":"definition"}] | — |
The runtime provider, evidence fixture, derivative channels, geometric modes, objective symbols, reductions, contribution bindings, and governing equations are generated from the physics catalog.