update_case
Update simulation case fields—boundary conditions, materials, mesh, and run settings—via dotted paths, then return the applied diff and new readiness status.
Instructions
Change case fields. changes = {dotted.path: value}. Paths: geometry.params. (templates),
boundaries..role (faces x0..z1 for templates, f for imported shapes),
boundaries..force + .direction (-z,+z,-y,+y,-x,+x,normal) | .pressure | .speed | .temperature | .flux | .h + .tinf,
materials.solid.preset|E|nu|sy|k|eps_r|sigma, materials.fluid.preset|nu, mesh.size (coarse|normal|fine), run.mode (preview|final),
boundaries..voltage|charge|current; physics.joule_heating (boolean); boundaries..thermal.role and thermal fields.
face_groups. = [face keys] (null deletes); boundaries.@. applies to the whole named group.
mesh.refine. = element size on that face of an imported part, e.g. "0.3 mm" for a small fillet or notch where
the peak stress sits (scaled x1.6 / x1 / x0.625 for coarse / normal / fine; "none" removes it).
Assemblies (STEP with several bodies, structural/thermal/electric): body_materials. = a preset (steel, aluminium,
concrete, insulation, glass, wood, fr4, silicon, ptfe, alumina, ...), body_props..k|E|nu|eps_r|sigma overrides one value.
Set the role first (same call is fine); value fields must match the role.
Structural: physics.analysis=modal|static|nonlinear|buckling, physics.modes=1..30 (buckling: load factors and critical loads of the applied loads); materials.solid.alpha (1/K), rho;
physics.nonlinear={large_deformation:true,steps:"auto" or n,max_iterations:25,path:[load fractions],face:key}.
materials.solid.model and body_props..model=linear|elastoplastic|neo-hookean; sy and H (post-yield tangent, Pa).
Elastoplastic supports small strain only; neo-hookean requires large deformation. Pressure follows deformation.
contacts..type=bonded|frictionless|frictional|no-separation, .mu, .offset (positive interference, negative gap).
Touching shared faces only. Missing contacts are bonded. displacement role: ux/uy/uz with length units, null = free.
physics.T_ref (degC), physics.thermal_load.mode=none|uniform|solve and .temperature; solve uses thermal face fields.
physics.gravity.enabled, .g (m/s2), .direction; physics.rotation.enabled, .rpm, .axis=x|y|z, .axis_point=[mm].
Roles moment (torque in N-m + direction), bearing (force + direction perpendicular to cylinder axis),
beam-clamp (axis-aligned planar beam section: rigid motion held, lateral contraction free),
remote-force (force + direction + point={value:[x,y,z],unit:mm}); body_props..alpha|rho.
Values with units: "5 mm", "2 kN", "70 GPa" or {"value": 5, "unit": "mm"}. Returns the diff and new readiness.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| case_id | Yes | ||
| changes | Yes | ||
| language | No | ja | |
| expected_revision | Yes |