Abaqus

Abaqus excels at nonlinear and explicit simulation. Learn Standard (implicit) vs Explicit solvers, material, geometric and contact nonlinearity, stable time increment and mass scaling, consistent units, input-file syntax and Python scripting.

Crash tests, drop tests, metal forming, rubber seals, composites damage, bolt-tightening and plastic hinges — real engineering often goes far beyond linear elasticity. Abaqus (Dassault Systèmes SIMULIA) is a reference tool for such nonlinear problems.

Abaqus/Standard solves implicit equilibrium iteratively; Abaqus/Explicit marches through time in tiny steps and handles violent contact and large deformation robustly.

An analogy

Implicit solving is like carefully balancing a structure at each load step; explicit solving is like filming a crash frame by frame at a million frames per second.

Standard vs Explicit

Abaqus/Standard (implicit): static and low-speed dynamic problems, large increments, iterates each step — efficient for smooth nonlinear problems. Abaqus/Explicit: very small time increments, no iteration — robust for impact, crash, drop tests, forming and complex contact.

Three sources of nonlinearity

Material (plasticity, hyperelastic rubber, damage), geometric (large deflection/rotation — nlgeom=YES), and boundary (contact, friction). Each needs appropriate models and incrementation control.

Consistent units

Abaqus is unit-less. A common consistent set is N, mm, s, tonne, MPa (density in tonne/mm³: steel 7.85e-9). Mixing kg with mm silently gives wrong dynamics by factors of 1000.

Explicit time step, mass scaling and energy checks

The stable increment is set by the smallest element and wave speed: steel with 2 mm elements gives ≈ 0.4 µs. Mass scaling or speeding up quasi-static loading reduces run time but must keep kinetic energy small relative to internal energy. Hourglass energy (reduced-integration elements) should stay below ~5–10 % of internal energy.

Formulas

Worked example: Stable increment for steel

Given: E = 200 GPa, ρ = 7850 kg/m³; L_e = 2 mm

Find: c and Δt.

Answer: ≈ 0.4 µs

Worked example: Increments for a drop test

Given: Event duration 5 ms; Δt = 0.396 µs

Find: Number of increments.

Answer: ≈ 12 600 increments

Input file (.inp) fragment

*Material, name=Steel
*Density
 7.85e-09,              ** tonne/mm^3 (N-mm-s-tonne units)
*Elastic
 200000., 0.3           ** MPa
*Plastic
 250., 0.0
 400., 0.2
*Step, name=Load, nlgeom=YES
*Static
 0.1, 1., 1e-05, 0.2
*Boundary
 FIXED, ENCASTRE
*Cload
 TIP, 2, -1000.
*Output, field
*Node Output
 U, RF
*Element Output
 S, PEEQ
*End Step

Keywords start with *; data lines follow. Abaqus has no built-in units — the numbers must be consistent.

Python scripting: parametric plate

from abaqus import mdb
from abaqusConstants import *

for t in (2.0, 3.0, 4.0):                     # thickness study
    m = mdb.Model(name=f"Plate_t{int(t)}")
    s = m.ConstrainedSketch(name="profile", sheetSize=200.0)
    s.rectangle(point1=(0.0, 0.0), point2=(100.0, 50.0))
    p = m.Part(name="Plate", dimensionality=THREE_D, type=DEFORMABLE_BODY)
    p.BaseSolidExtrude(sketch=s, depth=t)
    # ...materials, sections, mesh, loads, job submission...

Everything in Abaqus/CAE is recorded as Python — ideal for parametric studies and automation.

Common mistakes

Applications

Key takeaways

Going further