forked from 1b-agent/fieldcraft-upstream
mcp: the solve tool runs nonlinear and buckling steps too, and its docs list heat
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UhhZMBTviDQxZvwnyP89fo
This commit is contained in:
1 parent
fe1fc30be5
commit
0a0bac2bf2
3 files changed
+11
-4
No files matched your search
@@ -29,7 +29,7 @@ forces in N); Z is up. A typical analysis: `open` a .solidcraft design (or a .fi
|
||||
.3mf); `inspect_model` for its bodies and their persistent face names; `mesh` (method tet: {body, tolerance}); \
|
||||
then `execute` the model definition commands (model.set.create {name, geometry: [{body, face}]}, \
|
||||
model.material.create, model.section.create, model.boundary_condition.create, model.load.create, model.step.create \
|
||||
— list_commands shows each one's parameters); `check_model`; `solve` (static, frequency, explicit, fluid); \
|
||||
— list_commands shows each one's parameters); `check_model`; `solve` (static, nonlinear, frequency, buckle, explicit, fluid, heat); \
|
||||
`show_results` (field: displacement, von_mises…; its reply has the field's range) and `probe` / `reactions` for \
|
||||
numbers; `screenshot` to look; `save` or `write_deck` (abaqus, nastran, lsdyna). Partitions: geometry.datum makes a \
|
||||
datum plane, geometry.partition cuts the design's bodies into cells by it (cut faces partition:<name>:a|b; kept in \
|
||||
|
||||
@@ -30,8 +30,15 @@ const MESHERS: &[(&str, &str, &str)] = &[
|
||||
];
|
||||
|
||||
/// The analyses the `solve` tool runs; one whose command this build lacks is left out.
|
||||
const ANALYSES: &[(&str, &str)] =
|
||||
&[("static", "solve.static"), ("frequency", "solve.frequency"), ("explicit", "solve.explicit"), ("fluid", "solve.fluid"), ("heat", "solve.heat")];
|
||||
const ANALYSES: &[(&str, &str)] = &[
|
||||
("static", "solve.static"),
|
||||
("nonlinear", "solve.nonlinear"),
|
||||
("frequency", "solve.frequency"),
|
||||
("buckle", "solve.buckle"),
|
||||
("explicit", "solve.explicit"),
|
||||
("fluid", "solve.fluid"),
|
||||
("heat", "solve.heat"),
|
||||
];
|
||||
|
||||
const VIEWS: &[&str] = &["iso", "home", "fit", "front", "back", "top", "bottom", "left", "right"];
|
||||
|
||||
|
||||
+1
-1
@@ -100,7 +100,7 @@ software on the computer.
|
||||
| `save` | `path?` | `file.save`: to `path` or the model's own file. |
|
||||
| `write_deck` | `format` (abaqus, nastran, lsdyna), `path`, `steps?` | `deck.write`. |
|
||||
| `mesh` | `method`, `params?` | Runs the mesher (`tet`: `mesh.tet.generate`; `hex`, `hex_sweep`, `hex_mapped`, `hex_blocks`: the structured hex meshers; `cells`: `mesh.cells`, a partitioned part cell by cell; `mirror`: `mesh.mirror`, a meshed half reflected across a plane; `block`: `mesh.block`; `planar`: `mesh.planar`) and replies with its result, `model.info` and `mesh.quality`. |
|
||||
| `solve` | `analysis` (static, frequency, explicit, fluid; heat as it lands), `step?`, `options?` | `solve.<analysis>` with the step and the solver's caps and settings. |
|
||||
| `solve` | `analysis` (static, nonlinear, frequency, buckle, explicit, fluid, heat), `step?`, `options?` | `solve.<analysis>` with the step and the solver's caps and settings. |
|
||||
| `show_results` | `step?`, `field?`, `bands?`, `range?`, `deformed?`, `scale?`, `mode?`, `frame?`, `time?` | The `results.*` commands its arguments ask for (`deformed: false` draws the undeformed mesh; `scale` is a factor, 0 for the undeformed shape so a sequence from 0 swings the deformation out, or `"auto"`; `range: {min?, max?}` clamps the legend, values above `max` drawn in the over colour); the reply has the contour range (smallest and largest value and their nodes: `field: "displacement"` gives the largest displacement), modes or frames. |
|
||||
| `probe` | `step?`, `nodes?`, `at?`, `elements?`, `points?`, `forces?`, `mode?`, `frame?` | `solve.probe`: stored results at nodes, at the nodes nearest to points `at` (structural steps), elements (explicit) or points (fluid). |
|
||||
| `reactions` | `step?`, `sets?`, `about?` | `results.reactions`: reaction force and moment per node set and in total. |
|
||||
|
||||
Reference in new issue
Block a user