4. Basic contour plotting in D3PLOT

Contour plotting is the primary way engineers extract quantitative meaning from an LS-DYNA model in Oasys D3PLOT. A contour plot maps a scalar field — von Mises stress, effective plastic strain, displacement magnitude, temperature — onto the visible geometry, then translates that field into colour bands through a legend. The workflow has three interlocking decisions: which result type to display, which component of that result to read, and how the legend should be scaled and annotated so the picture communicates the right engineering message. Getting any one of these wrong produces a plot that looks plausible but misleads.

Selecting the Result Type

D3PLOT organises output into result families that mirror the LS-DYNA database structure. The most frequently used families in crash and impact work are:

  • Stress — typically stress (tensor) with components such as von Mises, pressure, and individual tensor terms.
  • Strain — effective_plastic_strain, strain tensor components, and shell-specific quantities such as lower_surface_max_principal_strain.
  • Displacement / velocity / acceleration — nodal vector results, usually read as magnitude or as a single component.
  • Force and moment — element or cross-section based, often used with spot welds and joints.
  • Energy — internal, kinetic, and hourglass energy, normally inspected as global or part-level scalars.

Result types are chosen from the result selector — either the drop-down in the contour toolbar or the Result panel. The list is populated from the d3plot states actually present in the database, so a result that was never requested in the LS-DYNA input (*DATABASE_ASCII, *DATABASE_EXTENT_BINARY, or the *DATABASE_BINARY_D3PLOT interval) will simply not appear. If a colleague's model shows effective_plastic_strain but yours does not, the first thing to check is whether the corresponding output block was written — not the D3PLOT settings.

A practical rule: match the result type to the failure or acceptance criterion you are assessing. Use von Mises stress for ductile metal yielding, maximum principal stress for brittle or composite behaviour, effective plastic strain for forming and crash energy absorption, and displacement magnitude for occupant packaging and intrusion checks. Displaying von Mises stress when the acceptance criterion is principal strain is a common source of misjudged hot spots.

Component Selection and Averaging

Once a result family is active, the component selector determines what scalar is actually contoured. For tensor results, D3PLOT offers derived scalars (von Mises, pressure, max/min principal, Tresca) plus the six individual tensor components. For shell and solid elements, the component may also be qualified by through-thickness location — for example, z-stress top versus z-stress bottom for shells, or integration-point selection for solids.

Two settings materially change the picture and are easy to overlook:

  • Averaging across element boundaries. Nodal averaging smooths the field and hides element-to-element jumps; unaveraged (elemental) contours expose mesh sensitivity and hourglassing. For design reviews, averaged contours are usually preferred; for debugging a suspicious hot spot, switch averaging off and inspect the raw element values.
  • Extrapolation versus constant-per-element display. Extrapolated nodal values give smooth gradients but can overshoot at free edges; constant-per-element display is conservative and honest about discretisation.

For shell models, always confirm which surface is being shown. A plot labelled "von Mises stress" on a shell is meaningless unless you know whether it is the mid-surface, top, or bottom. In bending-dominated regions the top and bottom surfaces can differ by an order of magnitude.

Customising the Contour Legend

The legend is not decoration — it is the scale against which every colour is read. D3PLOT exposes legend control through the contour legend panel, where the key parameters are:

ParameterEffectTypical engineering use
Minimum / maximumSets the value range mapped to the colour rampFix to a material limit (e.g. 0–350 MPa yield) so plots are comparable across states
Number of bandsDiscrete colour steps versus continuous ramp8–12 bands for reports; continuous for exploratory viewing
Band boundariesUser-defined thresholdsPlace a boundary exactly at yield or at an acceptance limit
Colour schemeRainbow, blue-to-red, greyscale, customGreyscale for print; rainbow for on-screen discrimination
Out-of-range coloursClamp or flag values beyond min/maxFlag values above a limit in a distinct colour to draw attention
Legend position and formatPlacement, decimal places, units labelConsistent placement and units across a report set

The single most valuable habit is locking the legend range. If the auto-scaled maximum changes from frame to frame, a region that appears "red hot" at 10 ms may be far below the true peak at 40 ms. Set the minimum and maximum explicitly — for example 0 to 350 MPa for a steel component with a 350 MPa yield — and keep them fixed across all states and all parts you intend to compare. Values above the maximum then clamp to the top colour, which is exactly the visual signal you want: "this region has exceeded the limit."

When comparing two designs, export both plots with identical legend settings and identical view angles. A difference in legend range or camera position will dominate any real difference in the results and invalidate the comparison.

Worked Example: Reading a B-pillar Contour

Consider a frontal impact model of a vehicle body-in-white. The B-pillar inner is a DP780 steel with a nominal yield of approximately 450 MPa and an ultimate tensile strength near 780 MPa. The acceptance criterion is that effective plastic strain in the pillar should not exceed 0.15 in the occupant-protection zone.

  1. Select the effective_plastic_strain result type and the shell top surface component, with nodal averaging on.
  2. Set the legend minimum to 0 and maximum to 0.15, with 10 bands and a distinct out-of-range colour (e.g. magenta) for values above 0.15.
  3. Step through the d3plot states from 0 to 120 ms and note the first frame at which magenta appears in the pillar.
  4. Switch averaging off and re-inspect the flagged region. If the high values persist at element level, the strain is real; if they collapse, the peak was an averaging artefact at a constraint or contact edge.
  5. Cross-check the same region with von Mises stress contoured 0–780 MPa to confirm whether the material is beyond yield and approaching UTS.

Typical failure symptoms and their causes: a uniformly saturated plot usually means the legend maximum is far too low (auto-scale was overridden by a single outlier node); a plot that is almost entirely one colour with a few isolated specks usually means the range is too wide; and a "checkerboard" pattern on shells almost always indicates hourglassing or an averaging setting that is exposing element-level noise. Each of these is diagnosed by adjusting the legend range and averaging, not by changing the model.

D3PLOT contour workflow: result type, component, and legend mapping Diagram showing how a d3plot database feeds result type selection, component selection with averaging, and legend range mapping to produce a final contour plot, with a worked B-pillar example. d3plot database states 0–120 ms stress, strain, disp 1. Result type effective_plastic_strain von Mises stress displacement magnitude must exist in d3plot 2. Component shell top / bottom averaging on / off extrapolated / constant surface matters 3. Legend min 0 / max 0.15 10 bands, out-of-range locked across states scale = engineering limit Contour plot 0.15 0.00 hot spot B-pillar inner Reading the result • Magenta out-of-range region in pillar → strain exceeds 0.15 limit at that state • Averaging off: peak persists → real element strain; collapses → averaging artefact • Uniform saturation → legend max too low; single-colour field → range too wide

Consistency Across a Report Set

Contour plots are usually consumed in sets — one per state, one per design variant, one per part. Consistency is what makes the set readable. Before generating a batch of images, decide and record the result type, component, surface, averaging setting, legend minimum and maximum, number of bands, colour scheme, and camera view. Apply them identically to every plot. In D3PLOT this is most reliably done by configuring the contour and legend once, then stepping states and writing images without touching the legend controls; if the auto-scale is left enabled, the legend will silently re-range between states and the set becomes incomparable.

Auto-scaling is convenient for a first look but dangerous for engineering judgement. A plot whose legend maximum is set by a single spurious node at a contact edge will make the rest of the structure look artificially cool. Always inspect the legend numbers, not just the colours.

With the result type, component, and legend under deliberate control, the contour plot becomes a quantitative instrument rather than a colourful picture. The next step in the workflow is to move from single-state inspection to animation and time-history extraction, where the same discipline of fixed scales and documented settings carries directly over.