Analysis¶
xdfem2D uses a three-tier model. Keeping these distinct is the key to using the program correctly.
Load case Analysis case Combination
────────── ───────────── ───────────
defines loads → applies load cases → combines analysis cases
(no results) with factors & a (linear / envelope / SRSS / seismic)
solution method
(produces results)
- Load case — a named set of loads. It is only a definition; on its own it produces no results.
- Analysis case — references one or more load cases with factors and a solution method, and is solved. This is where results come from.
- Combination — combines analysis cases (never load cases directly).
Automatic Linear cases
Adding a load case creates a Linear analysis case of the same name. If you build a combination that needs a load case directly, xdfem2D wraps that load case in a Linear analysis case automatically, so combinations always combine analysis cases.
Analysis cases¶
Create them on the Analysis Cases sub-tab. Each type has its own form:
| Type | Purpose | Key inputs |
|---|---|---|
| Linear | Static linear-elastic solution | load-case coefficients; optional stored stiffness from a P-Delta run |
| NonLinear | Static solution honouring unilateral (tension-/compression-only) springs | load-case coefficients (same inputs as Linear) |
| Mass | Build a mass matrix from gravity loads and/or nodal masses | load-case→mass factors (e.g. G + 0.3·Q); concentrated nodal masses |
| Modal | Eigenvalue analysis | number of modes; the Mass case to use |
| Spectrum | Response-spectrum analysis | Modal case; spectral function; combination rule (SRSS/CQC); direction; damping |
| Geometric Nonlinear | P-Delta / large displacement | method; max iterations; tolerance; member stiffness factors; load-case coefficients |
| Sequence | Incremental staged-construction analysis | defined by a construction sequence (see Variants & Construction Sequences); appears automatically when a sequence is created |
A Linear case may reuse the tangent stiffness of a Geometric Nonlinear (P-Delta) run instead of the elastic stiffness.
In the plate domain
Linear, non-linear static, modal and response-spectrum analysis are all
available for slabs and grillages. The mass sits on the transverse DOF w,
so the modes are the out-of-plane (vertical) vibration and the response
spectrum is vertical. P-Delta is not available — its geometric stiffness
is built from in-plane axial force, which a plate model does not carry. See
Slabs and Grillages.
NonLinear cases (unilateral springs)¶
A NonLinear case takes exactly the same inputs as a Linear case (load-case coefficients) but solves the model honouring tension-only / compression-only springs — see Springs. It is the only case type that activates that unilateral behaviour; in every other case type a spring acts bilaterally (resisting in both directions).
How it is solved: the case builds the combined load vector (Σ coeffᵢ · load caseᵢ) and runs an active-set iteration — each unilateral spring is included in the stiffness only while it is active (its displacement has the sign matching its mode), re-solving until the active set no longer changes. Because the result is non-linear, it cannot be scaled or superposed, which drives the combination rule below.
When a NonLinear case behaves like Linear
If the model has no tension-/compression-only springs, a NonLinear case produces exactly the same result as a Linear case.
Mass and Modal cases¶
The mass matrix is diagonal (lumped): it is built from the absolute value
of the vertical force |Fy|/g that each referenced load case puts on a node,
plus any concentrated nodal mass. Two consequences are worth knowing before
reading modal results:
- the mass derived from a load case is applied equally to X and Y, so an upward load contributes the same mass as a downward one, and a purely horizontal load contributes no mass at all;
- there is no rotary inertia unless a rotational nodal mass (
mtz) is given explicitly.
Rocking modes need an explicit rotary inertia
Degrees of freedom with no mass (typically the nodal rotations) are
eliminated exactly by static condensation, so they cost no accuracy and
produce no spurious modes. But a mode whose kinematics involve those
rotations — the rocking of a rigid block on springs is the typical case —
only exists if it has a rotational mass mtz: without it the rocking merges
with heave. For a member lumped into segments of length h, the consistent
value is mtz = mᵢ·h²/12 at each node.
Effective mass percentages are relative to the FREE mass
meff X % and meff Y % use as denominator the mass on the
unrestrained degrees of freedom, reported as total_mass_x /
total_mass_y. Mass lumped on a restrained DOF cannot vibrate — it goes
straight to the foundation — so it is excluded. The denominator is chosen
so that the percentages of all modes add up to 100 %, which makes the
column a reliable indicator of mode truncation.
This is not the model's total mass. The results also carry
model_mass_x / model_mass_y (everything, restrained included) and
restrained_mass_x / restrained_mass_y, so the ratio against the total
can be computed when needed — notably for the EC8 §4.3.3.3.1 criterion,
which asks for 90 % of the total mass of the structure.
How much is excluded depends on the mesh, not on the structure: on a simply
supported beam discretised into n elements the supported nodes carry
exactly 1/n of the mass (6,3 % with 16 elements). Refining the mesh
therefore moves the percentages even though the absolute effective masses
converge. When the restrained fraction exceeds 2 %, the Modal case results
include a warnings entry saying so.
Model check (Structure menu) additionally reports any concentrated nodal mass placed on a restrained DOF, since that is almost always a modelling slip rather than an intention.
Response spectra (seismic)¶
A Spectrum analysis case reads a spectral function — a curve of spectral
acceleration Sa(T) — and a referenced Modal case, then combines the modal
responses (SRSS or CQC) in a chosen direction (X, Y, or XY). Define the spectral
functions in Structure → Spectral Functions. You can build one three ways:
- By code (EC8:2004) — pick Type 1 / Type 2, ground type A–E, the reference ground acceleration agR, importance factor γI and damping ξ. Choose Design (Sd) — which uses the behaviour factor q and the lower-bound factor β — or Elastic (Se). The soil parameters (S, TB, TC, TD) are derived and shown.
- By national-annex zone — the same, driven by a seismicity zone that fixes agR.
- User-defined — enter S, TB, TC, TD and ag directly, or a raw list of
(T, Sa)points.
The response-spectrum result of a Spectrum case is the peak (absolute) response; when it enters a combination it becomes a seismic envelope (see below).
Combinations¶
Create them on the Combinations sub-tab. A combination references analysis cases only — eligible members are Linear, NonLinear, P-Delta (Geometric Nonlinear), and Spectrum cases. Modal and Mass cases cannot be combined.
NonLinear cases in combinations
A non-linear result cannot be scaled or added to others, so a combination that references a NonLinear case may contain only that single case, with a combination factor of 1.0 — no other analysis cases of any type. xdfem2D rejects combinations that break this rule.
Combination types:
| Type | Rule |
|---|---|
| LinearSum | Σ coeffᵢ · caseᵢ (signed linear superposition) |
| Envelope | Envelope: max/min of each component across the weighted cases |
| AbsSum | Σ |coeffᵢ · caseᵢ| (sum of absolutes) |
| SRSS | √(Σ (coeffᵢ · caseᵢ)²) (SRSS) |
When a combination references a Spectrum case, the result becomes a seismic envelope: the gravity base ± Σ |coeffₛ · spectrumₛ|.
Automatic Eurocode combinations¶
Loads → Auto Comb. (EN 1990)… (Ctrl+Shift+C) generates ULS/SLS combinations from the load cases' action types. Generated combinations are folded into analysis-case references on the next refresh.
Construction sequences¶
A Sequence analysis case represents an incremental staged-construction analysis. Each sequence is composed of ordered phases — each phase adds elements, applies load cases as an increment, and optionally changes the provisional support set. The solver carries locked-in forces forward from phase to phase, so later members do not attract load that earlier ones already resisted.
Sequence cases are created and edited in Analysis → Variants Workspace… on the Sequences tab. They appear in the case drop-down alongside normal cases and combinations (order: analysis cases → sequences → combinations), and their results are navigated phase by phase using the phase selector in the toolbar. See Variants & Construction Sequences for the full workflow.
Running¶
Press F5 or the Run button. Results lock the model; unlock with Ctrl+L to edit (which clears results). See Results.