Skip to main content
Glama

FEM Set Nonlinear Material

fem_set_nonlinear_material

Add elastoplastic hardening to a linear FEM material and switch the solver to nonlinear, enabling plastic collapse and post-yield behavior analysis.

Instructions

Attach an elastoplastic (*PLASTIC) hardening curve to a linear FEM material and switch the CalculiX solve to nonlinear — the material-nonlinearity half of the nonlinear FEM path (contact_setup is the geometric/contact half). No new solver: this promotes the CCX MaterialNonlinearity / GeometricalNonlinearity flags the FEM path already exposes. base_material is the handle from fem_set_material (its YoungsModulus/PoissonRatio stay the elastic branch).

Give the post-yield curve either as yield_points ([[stress_MPa, plastic_strain], ...], first point at plastic_strain 0 = initial yield) or from yield_mpa (+ optional tangent_modulus_mpa linear-hardening slope and max_plastic_strain). With no tangent modulus the curve is elastic–perfectly-plastic and caps the stress at σ_y exactly. hardening: 'isotropic' (monotonic) or 'kinematic' (cyclic/Bauschinger). Set geometric_nonlinearity=true to combine plasticity with large deflection (*NLGEOM). ramp_increments sub-divides the load step so ccx's plastic return-mapping converges. Run fem_run + fem_results after; gate against plastic_collapse (perfectly-plastic stress saturates at σ_y, collapse at M_p).

Returns {handle, name, hardening, yield_points, n_points, solver_material_nonlinear, solver_geometric_nonlinear, ramp_increments}.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameNoNonlinearMaterial
analysisYes
hardeningNoisotropic
yield_mpaNo
yield_pointsNo
base_materialYes
ramp_incrementsNo
max_plastic_strainNo
tangent_modulus_mpaNo
geometric_nonlinearityNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations only say readOnlyHint=false, so the description carries the burden of explaining the mutation. It does so richly: it promotes CCX flags, preserves the elastic branch of the base material, describes perfectly-plastic behavior (stress caps at σ_y, saturation/collapse), and warns that ramp_increments help convergence. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is long but information-dense; every sentence adds value, from the purpose and path relationship to curve formats and post-processing steps. It front-loads the primary action and differentiators, then moves from curve input options to solver flags and workflow.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a 10-parameter tool with no output schema and no property-level schema descriptions, this description is exceptionally complete. It covers required arguments, optional parameter meanings, the return object fields, and integration with sibling tools. The only implicit detail is the source of the 'analysis' argument, but that is inferable from the FEM tool family context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate for every parameter. It does: yield_points format, yield_mpa alternative, tangent_modulus_mpa meaning, max_plastic_strain, hardening choices, geometric_nonlinearity, and ramp_increments are all explained. This fully covers the bare schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: it attaches an elastoplastic hardening curve to a linear FEM material and switches the CalculiX solve to nonlinear. It differentiates from contact_setup as the geometric/contact half and ties base_material to fem_set_material, so an agent can clearly distinguish this from its siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly says when to use this tool (the material-nonlinearity half of the nonlinear FEM path) and names the alternative path (contact_setup for geometric/contact). It also gives a downstream workflow (fem_run + fem_results, gate against plastic_collapse) and explains the two ways to supply the yield curve, making the decision process explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Deploy Server

Other Tools