Post-processing
Post-processing consumes nusa.result.StaticResult snapshots rather
than mutable model, node, or element solution state.
Element fields
Use element_field to extract one canonical scalar quantity from every
element result:
from nusa import element_field
stress_xx = element_field(result, "stress_xx")
The equivalent result convenience method is:
stress_xx = result.element_field("stress_xx")
The requested name must be present in every element result included in the field.
Nodal fields
Use nodal_field to obtain a scalar field at nodes:
from nusa import nodal_field
ux = nodal_field(result, "ux")
stress_xx = nodal_field(result, "stress_xx")
or through the result:
ux = result.nodal_field("ux")
stress_xx = result.nodal_field("stress_xx")
Displacement components are read directly from the solved displacement vector. Element fields that require recovery are mapped to nodes using the selected recovery policy.
Current recovery policy
NuSA 0.4 currently provides arithmetic averaging for scalar element-to-node recovery:
result.nodal_field("stress_xx", recovery="average")
For each node, values from adjacent elements are averaged. This is intentionally a simple first recovery policy; it should not be interpreted as a higher-order stress-recovery technique.
Derived fields
Selected fields are computed from primary result quantities.
Displacement magnitude:
result.nodal_field("displacement_magnitude")
Plane-stress von Mises stress:
result.nodal_field("von_mises_stress")
For the current 2D stress convention:
Field naming
Canonical field names are preferred in new code:
stress_xx
stress_yy
stress_xy
strain_xx
strain_yy
strain_xy
displacement_magnitude
von_mises_stress
Legacy short aliases used by older NuSA examples are still accepted by the
post-processing helpers, including sxx, syy, sxy, exx, eyy,
exy, usum, and seqv.
Errors and applicability
A field request raises a clear error when the requested quantity is unavailable
for the supplied result or when an unsupported recovery policy is requested.
For example, continuum stress fields are meaningful for
LinearTriangle results but not for a spring-only model.
API reference
Post-processing helpers for NuSA analysis results.
- nusa.post.element_field(result, name)[source]
Return one canonical scalar element field in result order.
- nusa.post.nodal_field(result, name, recovery='average')[source]
Return a nodal field from primary or recovered result quantities.
Continuum element fields are recovered to nodes using an arithmetic average of adjacent element values. This is intentionally the first, explicit recovery policy; richer recovery methods can be added later.