Skip to content
SHD Sim
Menu
Documentation menu

Draft. This manual is new and still growing. If something here does not match what you see in the software, the software is right — tell us and we will fix the page.

Structural analysis

Where it is

Not a setup-tree node. Embedded in the application.

Controls

ANALYSIS

Analysis type

  • Control: choice (ComboRow)
  • Options: Linear static, Nonlinear static, Natural frequencies, Harmonic response, Transient dynamics, Buckling, Fatigue life

The in-app guidance depends on the case:

  • What happens just after a load is applied. A step overshoots the static answer by about twice before damping settles it, so a part sized on the static number has half the margin it looks like it has.
  • How far the part moves when driven at each frequency in a range. Natural frequencies say where it rings; this says how hard, and needs damping to answer at all.
  • A static solve, then how many cycles of that load the part survives. The extra cost over a linear static is arithmetic, not another solve.
  • Stress and deflection once part of the model yields. The load is applied in steps and the stiffness rebuilt at each, so this costs far more than a linear solve and can fail to converge.
  • Natural frequencies and mode shapes. Needs density; loads are ignored.
  • The factor the load below can be multiplied by before the part buckles. Needs both a restraint and a load — it is a static solve followed by an eigenvalue problem on the stress state that solve produces.
  • Stress and deflection under the loads below.

Buckling modes

Label changes with the case; the source gives these forms: Buckling modes, Modes.

  • Control: value (ValueField)
  • Value modes: none (plain entry)
  • Shown when: root.modal || root.buckling

The in-app guidance depends on the case:

  • How many buckling modes to extract, lowest factor first. The first is the one that matters; the rest say how close behind the next mode is.
  • How many natural frequencies to extract, lowest first.

Load steps

  • Control: value (ValueField)
  • Value modes: none (plain entry)
  • Shown when: root.nonlinear

How many equal increments the load is applied in. This is the number asked for, not the number you get: a step that will not converge is subdivided and retried, so 10 can become 28.

Convergence

Residual

  • Control: value (ValueField)
  • Writes: CONVERGENCE/RESI_GLOB_RELA
  • Value modes: none (plain entry)
  • Shown when: root.nonlinear

Relative global residual the Newton loop has to reach before a step is accepted. 1e-6 is code_aster's own default; loosen it to 1e-4 for a stiff contact problem that is converging but not reaching it.

Max iterations

  • Control: value (ValueField)
  • Writes: CONVERGENCE/ITER_GLOB_MAXI
  • Value modes: none (plain entry)
  • Shown when: root.nonlinear

How many Newton iterations one step may take before it is declared not to converge. Raise it for contact or plasticity, where the first steps after contact closes are always the expensive ones.

Rebuild stiffness every

  • Control: value (ValueField)
  • Writes: NEWTON/REAC_ITER
  • Value modes: none (plain entry)
  • Shown when: root.nonlinear

How often the tangent stiffness is reassembled inside a Newton loop. 1 is the most robust and the most expensive; a large elastic-dominated model often converges just as well on 2 or 3 and spends much less time assembling.

Subdivide by

  • Control: value (ValueField)
  • Writes: DEFI_LIST_INST/ECHEC/SUBD_PAS
  • Value modes: none (plain entry)
  • Shown when: root.nonlinear

How many pieces a failed load step is cut into before it is retried.

Subdivision levels

  • Control: value (ValueField)
  • Writes: DEFI_LIST_INST/ECHEC/SUBD_NIVEAU
  • Value modes: none (plain entry)
  • Shown when: root.nonlinear

How many times that cutting may repeat before the run stops. Raise it for contact or heavy plasticity, where the steps just after contact closes are the expensive ones.

Large displacement

  • Control: on/off (ToggleRow)
  • Shown when: root.nonlinear

DEFORMATION. Off is PETIT - small strain and small rotation, which is what a nonlinear material study needs and no more. On is GROT_GDEP, for buckling, snap-through or anything deflecting past its own thickness: leave it off for those and the run does not fail, it reports a stiffer structure than the real one.

Resources

Time limit

  • Control: value (ValueField)
  • Unit: s
  • Writes: export/time_limit
  • Value modes: none (plain entry)

Wall-clock ceiling for the solve. 900 s is enough for a demonstration mesh and not for a real one.

Memory limit

  • Control: value (ValueField)
  • Unit: MB
  • Writes: export/memory_limit
  • Value modes: none (plain entry)

Ceiling on the solver's memory. A direct solve on a large mesh is what exceeds it first.

MPI processes

  • Control: value (ValueField)
  • Writes: export/mpi_nbcpu
  • Value modes: none (plain entry)

How many ranks run_aster is given. One unless the build and the study both support more.

Window

  • Control: value (ValueField)
  • Unit: s
  • Value modes: none (plain entry)
  • Shown when: root.timeHistory

How long to watch for. The overshoot happens in the first half cycle, so a few periods of the lowest mode is usually enough — a window shorter than that reports a part that never peaked.

Time steps

  • Control: value (ValueField)
  • Value modes: none (plain entry)
  • Shown when: root.timeHistory

Steps across the window. Too few and the peak falls between samples, reporting a smaller overshoot than the part has.

Damping ratio ζ

  • Control: value (ValueField)
  • Value modes: none (plain entry)
  • Shown when: root.timeHistory

A fraction of critical, not a percentage: 2% is 0.02. It decides how quickly the ringing dies away, and slightly how high the first peak is.

Damping exact at

  • Control: value (ValueField)
  • Unit: Hz
  • Value modes: none (plain entry)
  • Shown when: root.timeHistory

Rayleigh damping is exact at one frequency and rises above it. Use the mode that dominates the response — run a natural-frequency study to find it. Zero falls back to 1000 Hz.

Sweep from

  • Control: value (ValueField)
  • Unit: Hz
  • Value modes: none (plain entry)
  • Shown when: root.harmonic

The low end of the swept range.

Sweep to

  • Control: value (ValueField)
  • Unit: Hz
  • Value modes: none (plain entry)
  • Shown when: root.harmonic

The high end. Run a natural-frequency study first if you do not know where the modes are — a sweep that misses them all reports a flat, reassuring curve.

Points

  • Control: value (ValueField)
  • Value modes: none (plain entry)
  • Shown when: root.harmonic

How many frequencies to solve at, evenly spaced. A resonance narrower than the spacing between points is stepped over.

Damping ratio ζ

  • Control: value (ValueField)
  • Value modes: none (plain entry)
  • Shown when: root.harmonic

A fraction of critical, not a percentage: 2% is 0.02. Welded steel is about 0.01, bolted assemblies 0.02–0.05. This decides the answer — at resonance the response is 1/(2ζ) times static.

Cycle minimum

  • Control: value (ValueField)
  • Value modes: none (plain entry)
  • Shown when: root.fatigue

The low end of the cycle, as a multiple of the load below. 0 is the load switched off; -1 is it fully reversed.

Cycle maximum

  • Control: value (ValueField)
  • Value modes: none (plain entry)
  • Shown when: root.fatigue

The high end of the cycle. 1 is the load exactly as stated below.

Required life

  • Control: value (ValueField)
  • Unit: cycles
  • Value modes: none (plain entry)
  • Shown when: root.fatigue

How many cycles the part has to survive. Damage is this over the allowable life, so 1.0 means it fails exactly at the requirement.

Mean stress correction

  • Control: on/off (ToggleRow)
  • Shown when: root.fatigue

Goodman. A cycle with a tensile mean is more damaging than the same amplitude fully reversed; turning this off is optimistic for any cycle that does not go negative.

THERMAL STRESS

Temperature

  • Control: choice (ComboRow)
  • Shown when: !root.modal && !root.buckling && root.thermalStudies.length > 0

One-way: the temperature changes the stress and the stress does not change the temperature. The thermal study has to have been RUN — this reads the file it wrote.

Stress-free T

  • Control: value (ValueField)
  • Unit: K
  • Value modes: none (plain entry)
  • Shown when: StructuralState.thermalStress && !root.modal && !root.buckling

The temperature at which the part was assembled and has no thermal strain. NOT the ambient, and not the coolest point of the field — getting it wrong offsets every stress in the model by a constant, and it solves.

Expansion α

  • Control: value (ValueField)
  • Unit: 1/K
  • Value modes: none (plain entry)
  • Shown when: StructuralState.thermalStress && !root.modal && !root.buckling

Comes with the material where the library publishes one. Steel is about 12e-6, aluminium 23e-6. Without it the thermal strain is exactly zero and the run reports no thermal stress at all.

ELEMENT TECHNOLOGY

Lumped mass matrix

  • Control: on/off (ToggleRow)
  • Shown when: StructuralState.assemblesMass

A diagonal mass matrix: cheaper per step, and a DIFFERENT answer rather than a rounder one. Measured on the verification bar it moves the first mode by -0.8% and the third by -22%, so it is off by default and worth turning on only when the solve is too big rather than when the answer is too slow.

Thickness

  • Control: value (ValueField)
  • Unit: m
  • Value modes: none (plain entry)
  • Shown when: root.shell

The plate's thickness, uniform over every face. DKT is a thin-plate element (Kirchhoff): right when the thickness is under about a tenth of the span, and stiffer than the truth past that.

Section

  • Control: choice (ComboRow)
  • Options: Circle, Rectangle, Tube
  • Shown when: root.beam

The cross-section of every member. POU_D_T is a Timoshenko beam - shear-flexible, so a stubby member is answered as well as a slender one.

Width (HY)

Label changes with the case; the source gives these forms: Width (HY), Outer radius, Radius.

  • Control: value (ValueField)
  • Unit: m
  • Value modes: none (plain entry)
  • Shown when: root.beam

Depth (HZ)

Label changes with the case; the source gives these forms: Depth (HZ), Wall thickness.

  • Control: value (ValueField)
  • Unit: m
  • Value modes: none (plain entry)
  • Shown when: root.beam && StructuralState.beamShape !== "circle"

The in-app guidance depends on the case:

  • HY is along the section's local Y and HZ its local Z. For a member along X in a plane problem the two are simply width and depth.
  • Must be less than the outer radius.

Lists this panel shows

Read straight from the data behind the panel, not from a hand-written list.

MESH

From a fixed list in the application.

l
File
Model
Format
Nodes
Elements
Groups

Problems reported against this step

The application reports no problems against this step.


marks a value the application computes at run time, so the source carries no fixed text for it.