fem_set_nonlinear_material
Attach an elastoplastic hardening curve to a linear FEM material and switch CalculiX to nonlinear solving for post-yield plastic 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
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | NonlinearMaterial | |
| analysis | Yes | ||
| hardening | No | isotropic | |
| yield_mpa | No | ||
| yield_points | No | ||
| base_material | Yes | ||
| ramp_increments | No | ||
| max_plastic_strain | No | ||
| tangent_modulus_mpa | No | ||
| geometric_nonlinearity | No |