Skip to content

13. Step

Analysis-related commands primarily include *Step and *PostStep. The *Step command specifies the stages for performing the actual analysis, while *PostStep is used to organize and process the analyzed results.

In the *Step command, you can specify analysis types such as Static, Dynamic, Frequency, and Buckling. By designating a sequence of steps prior to *Step, simulations can be structured into multiple analysis phases. Subcommands within *Step include *Activate and *Inactivate for specifying or altering elements, loads, and constraints, as well as *Solver, *SolutionAlgorithm, *Convergence, *RayleighDamping, and *Modal for setting analysis options. For output specifications, commands such as *Output, *Print, *History, and *Check are available.

When the *Step command is executed, an output step named ResultStep is created in the HDB file (.hdb), where results specified by *Output are stored. *PostStep operates on an existing ResultStep to extract specific results, compute maxima or minima, combine results, and generate a new ResultStep.

Names used in *Step and *PostStep must be unique.

*Step

Defines an analysis step.

*Step, Type=type,...  Name=name[, PREV=prevStep, ...]
 ...
Keyword line
  • Type=step_type,...: Analysis type and additional options
    • Static: Static analysis
    • Dynamic: Dynamic analysis
    • Frequency: Frequency analysis
    • Seepage: Seepage analysis
  • Name=name: Name of the analysis
  • PREV=prevStep: Previous analysis step. If not specified, analysis begins from the initial state.

This categorizes the analysis types as follows:

▪ Standard Analysis Steps

▪ Static Analysis Steps

  • Standard load-displacement controlled static analysis step

  • Arclength-controlled static analysis step

  • Quasi-static analysis step (time-dependent static analysis)

▪ Dynamic Analysis Steps

▪ Eigen Analysis Steps

  • Frequency extraction analysis step

▪ Seepage Analysis Step

  • Steady state seepage analysis step

  • Transient seepage analysis step

The way time is handled depends on the analysis type:

▪ Standard Load-Displacement Controlled Static Analysis Step

The given time represents a pseudo-time, interpreted as a load factor.

▪ Arclength-Controlled Static Analysis Step

The time is normalized to a pseudo-time based on the arclength occurring when the load factor is 1 in a linear response. Thus, applying Arclength control in a linear analysis yields the same time increments as the standard method.

▪ Quasi-Static Analysis Step

A static analysis that considers time dependency without mass effects, where the given time represents real time. Time dependency arises in load cases with time functions and in time-dependent material models. To account for time dependency in static analysis, a time-dependent analysis must be performed.

▪ Dynamic Analysis Step

Considers both mass effects and time dependency, with time represented in real terms. Supported time integration methods include Newmark and Hilbert-Hughes-Taylor (HHT) methods, specified in *TimeIntegration. The default integration method is the Newmark method (or average acceleration method) with coefficients \(\small\gamma=0.5\) and \(\small\beta=0.25\). When using the HHT method, the default value for \(\small\alpha\) is -0.05.

▪ Steady State Seepage Analysis Step

The given time represents a pseudo-time, interpreted as a load factor.

▪ Transient Seepage Analysis

The given time represents a real-time.

*Step, Type=Static, Name=Case2
 Uniform, 0.1, 10
*Activate, Type=Element
 ALL
*Activate, Type=Constraint
 BC
*Activate, Type=Load
 LC2, SelfWeight
*Output
 D,FN,BSF,SSF


*Step, Type=Frequency, Name=Case7
 10
*Activate, Type=Element
 ALL
*Activate, Type=Constraint
 BC

Time Increment and Output Control

In *Static, *Dynamic, and *Seepage analyses, the analysis time increment (or pseudo-time increment in Static analysis) can be specified using one of three options: Uniform, Given, or Auto. Meanwhile, the times at which results are written via *Output, *Print, *History, etc., are controlled by OutFreq or OutTime.

*Step, Type=Static|Dynamic|Seepage,...,  Name=name, PREV=prevStep, NLGeom=ON|OFF
 Uniform, dt, ntime, OutFreq=freq
 Given, timeSpec, OutFreq=freq
 Auto, t0, tmax, dtmin, dtmax, maxInc, OutFreq=freq|OutTime=timeSpec
  • Uniform specifies the analysis time using uniform intervals, Given specifies the times explicitly, and Auto uses automatic increment control.
  • OutFreq and OutTime cannot be specified simultaneously, and OutTime can only be used with Auto.
  • OutFreq=freq outputs results every freq increments, based on the analysis increment.
  • When specified as OutFreq=0, results are output only at the final time.
  • OutTime=timeSpec is an output anchor time, and the analysis time increment is additionally and automatically adjusted so that output is produced at that time.
  • With both OutFreq and OutTime, output is always produced at the final time (the last analysis time, or the last successfully converged time even in the case of convergence failure).
  • When Given or OutTime is specified, timeSpec may use a range expression of the form tStart:tEnd:tSpacing. For example, expressions such as Given, 0.5, 2.5:7.5:2.5, 10 are allowed. In this case, 2.5:7.5:2.5 is interpreted as 2.5, 5.0, 7.5.
  • If tEnd in the tStart:tEnd:tSpacing range expression does not exactly match the spacing, time values are generated within the range that does not exceed tEnd. For example, 1:10:2 is interpreted as 1, 3, ..., 9, which is equivalent to substituting 1:9:2.

*Step, Type=Static|Dynamic|Seepage,...,  Name=name, PREV=prevStep, NLGeom=ON|OFF
 Uniform, 0.02, 100, OutFreq=2
- Analysis times: 0, 0.02, 0.04, ..., 2 (The initial analysis time is always included) - Output times: 0, 0.04, 0.08, ..., 2 (The final analysis time is always included.)

*Step, Type=Static|Dynamic|Seepage,...,  Name=name, PREV=prevStep, NLGeom=ON|OFF
 Uniform, 0.02, 100, OutFreq=0
- Analysis times: 0, 0.02, 0.04, ..., 2 (The initial analysis time is always included) - Output times: 2 (Only the final time is written because OutFreq=0)

*Step, Type=Static|Dynamic|Seepage,...,  Name=name, PREV=prevStep, NLGeom=ON|OFF
 Given, 0.02, 0.05, 1:5:2, OutFreq=2
- Analysis times: 0, 0.02, 0.05, 1, 3, 5 ((The initial analysis time is always included) - Output times: 0, 0.05, 4, 5 (The final analysis time is always included.)

*Step, Type=Static|Dynamic|Seepage,...,  Name=name, PREV=prevStep, NLGeom=ON|OFF
 Auto, 0.02, 1, 0.001, 0.02, OutFreq=2
  • Analysis times: The analysis starts with a time increment of 0.02 and proceeds up to 1.0. Depending on convergence behavior, the time increment is automatically adjusted within the range (The initial analysis time is always included)
  • Output times: Starting from the initial time (0), output is written every 2 analysis increments. The final analysis time is always included. (The final analysis time is always included.)

*Step, Type=Static|Dynamic|Seepage,...,  Name=name, PREV=prevStep, NLGeom=ON|OFF
 Auto, 0.02, 1.6, 0.01, 0.02, OutTime=0.03, 0.8:1.2:0.2
- Analysis times: The analysis starts with a time increment of 0.02 and proceeds up to 1.0.(The initial analysis time is always included) Depending on convergence behavior, the time increment is automatically adjusted within the range - Output times: 0.03, 0.8, 1.0, 1.2, 1.6 (The final analysis time is always included.)

*Step, Type=Static

Defines a Static Analysis Step

*Step, Type=Static,Standard|Arclength|Quasi,  Name=name, PREV=prevStep, NLGeom=ON|OFF
 Uniform, dt, ntime, OutFreq=freq
 Given, timeSpec, OutFreq=freq
 Auto, t0, tmax, dtmin, dtmax, maxInc, OutFreq=freq|OutTime=timeSpec
Keyword line
  • Standard: Standard static analysis (Standard load-displacement controlled static analysis step). Standard may be omitted. The time-related parameters below are pseudo-time, so they are independent of the unit system.
  • Arclength: Arclength static analysis (Arclength-controlled static analysis step). The time-related parameters below are pseudo-time, so they are independent of the unit system.
  • Quasi: Time-dependent static analysis (Quasi-static analysis step). The time-related parameters below represent physical time, and their unit is [T].
  • NLGeom=On|Off: Specifies geometric nonlinearity (optional; default: Off). [Reserved. Currently Unused]
First data line starting with Uniform (optional)
  • Uniform,dtime,ntime: Specifies equal time increments for the analysis. It is equivalent to specifying the times as dtime, 2*dtime, ..., ntime*dtime. In Standard and Arclength, dtime is a pseudo-time increment and is therefore dimensionless; in Quasi, it is a physical time increment, and its unit is [T]. ntime is a dimensionless integer.
  • OutFreq=freq: Output increment frequency. If set to 0, only the final analysis time is output (default value is 1).
First data line starting with Given (optional)
  • Given,timeSpec: Specifies the analysis times explicitly. timeSpec may consecutively include expressions such as t or tStart:tEnd:tSpacing. In Standard and Arclength, the values in timeSpec represent pseudo-time and are therefore dimensionless; in Quasi, they represent physical time, and their unit is [T].
  • OutFreq=freq: Output increment frequency. If set to 0, only the final analysis time is output (default value is 1).
First data line starting with Auto (optional)
  • Auto,t0,tmax,dtmin, dtmax,maxInc: Defines the time increments using automatic incrementation. In Standard and Arclength, t0, tmax, dtmin, and dtmax are related to pseudo-time and are therefore dimensionless; in Quasi, they represent physical time, and their unit is [T]. maxInc is a dimensionless integer representing the maximum number of increments. The default values are 1, 1, 1, 1, 1000.
  • OutFreq=freq: Output increment frequency. If set to 0, only the final increment is output (default value is 1).
  • OutTime=timeSpec: Output times. timeSpec may consist of a consecutive sequence of expressions such as t or tStart:tEnd:tSpacing. In Standard and Arclength, the values in timeSpec represent pseudo-time and are therefore dimensionless; in Quasi, they represent physical time, and their unit is [T]. The specified times are sorted, duplicates are removed, and any times outside the analysis time range are discarded. However, the final analysis time is always included. If the analysis does not converge, the last converged analysis time is included in the output.

*Step, Type=Dynamic

Defines a Dynamic Analysis Step.

*Step, Type=Dynamic, Name=name, PREV=prevStep, NLGeom=ON|OFF
 Uniform, dt, ntime, OutFreq=freq
 Given, timeSpec, OutFreq=freq
 Auto, t0, tmax, dtmin, dtmax, maxInc, OutFreq=freq|OutTime=timeSpec
Keyword line
  • NLGeom=On|Off: Specifies geometric nonlinearity (optional; default: Off). [Reserved. Currently Unused]
First data line starting with Uniform (optional)
  • Uniform,dtime,ntime: Specifies equal time increments for the analysis. It is equivalent to specifying the times as dtime, 2*dtime, ..., ntime*dtime. The unit of dtime is [T].
  • OutFreq=freq: Output increment frequency. If set to 0, only the final analysis time is output (default value is 1).
First data line starting with Given (optional)
  • Given,timeSpec: Specifies the analysis times explicitly. timeSpec may consecutively include expressions such as t or tStart:tEnd:tSpacing. The unit of the values of timeSpec is [T].
  • OutFreq=freq: Output increment frequency. If set to 0, only the final analysis time is output (default value is 1).
First data line starting with Auto (optional)
  • Auto,t0,tmax,dtmin, dtmax,maxInc: Defines the time increment with automatic increment settings. maxInc represents the maximum increments (default values: 1, 1, 1, 1, 1000). The units of t0,tmax,dtmin, and dtmax are [T].
  • OutFreq=freq: Output increment frequency. If set to 0, only the final increment is output (default value is 1).
  • OutTime=timeSpec: Output times. timeSpec may consecutively include expressions such as t or tStart:tEnd:tSpacing. The unit of the values of timeSpec is [T]. The given times are sorted, duplicates are removed, and any times outside the analysis time range are discarded. However, the final end time is always included. If the analysis is not converged, last analysis time is output.

*Step, Type=Frequency

Defines a Frequency Analysis Step.

*Step, Type=Frequency, Name=name[, PREV=prevStep]
 nev
First dataline
  • nev: requested number of eigenpairs (default 20).

nev is interpreted differently depending on the *Solver command.

  • If there is no *Solver command, or if Range=cutFreq is specified, nev denotes the requested number of eigenpairs. In this case, the number of computed eigenpairs does not exceed nev.
  • If Range=lowFreq, highFreq[,maxnev] is specified in the *Solver command, nev denotes the initial requested number of eigenpairs at the start of the finite frequency-band search. In this case, the number of extracted eigenpairs may exceed nev, but it does not exceed the total extraction limit, maxnev.

*Step, Type=Seepage

Defines a Seepage Analysis Step.

*Step, Type=Seepage,Steady|Transient,  Name=name, PREV=prevStep
 Uniform, dt, ntime, OutFreq=freq
 Given, timeSpec, OutFreq=freq
 Auto, t0, tmax, dtmin, dtmax, maxInc, OutFreq=freq|OutTime=timeSpec
Keyword line
  • Steady: Steady state seepage analysis(optional, can be omitted). The time-related parameters below are pseudo-time, so they are independent of the unit system.
  • Transient: Transient seepage analysis. The time-related parameters below represent physical time, and their unit is [T].
First data line starting with Uniform (optional)
  • Uniform,dtime,ntime: Specifies equal time increments for the analysis. It is equivalent to specifying the times as dtime, 2*dtime, ..., ntime*dtime. In Steady, dtime is a pseudo-time increment and is therefore dimensionless; in Transient, it is a physical time increment, and its unit is [T]. ntime is a dimensionless integer.
  • OutFreq=freq: Output increment frequency. If set to 0, only the final analysis time is output (default value is 1).
First data line starting with Given (optional)
  • Given,timeSpec: Specifies the analysis times explicitly. timeSpec may consecutively include expressions such as t or tStart:tEnd:tSpacing. In Steady, the values in timeSpec represent pseudo-time and are therefore dimensionless; in Transient, they represent physical time, and their unit is [T].
  • OutFreq=freq: Output increment frequency. If set to 0, only the final analysis time is output (default value is 1).
First data line starting with Auto (optional)
  • Auto,t0,tmax,dtmin, dtmax,maxInc: Defines the time increments using automatic incrementation. In Steady, t0, tmax, dtmin, and dtmax are related to pseudo-time and are therefore dimensionless; in Transient, they represent physical time, and their unit is [T]. maxInc is a dimensionless integer representing the maximum number of increments. The default values are 1, 1, 1, 1, 1000.
  • OutFreq=freq: Output increment frequency. If set to 0, only the final increment is output (default value is 1).
  • OutTime=timeSpec: Output times. timeSpec may consist of a consecutive sequence of expressions such as t or tStart:tEnd:tSpacing. In Steady, the values in timeSpec represent pseudo-time and are therefore dimensionless; in Transient, they represent physical time, and their unit is [T]. The specified times are sorted, duplicates are removed, and any times outside the analysis time range are discarded. However, the final analysis time is always included. If the analysis does not converge, the last converged analysis time is included in the output.

*Activate

Activates elements, loads, and constraints targeted by the step.

*Activate, Typ={Element|Load|Constraint}
 target, ...
 ...
Keyword line for *Activate
  • Type=type
    • Element: Target to be activated is an element
    • Load: Target to be activated is a load
    • Constraint: Target to be activated is a constraint
First data line and subsequent data lines
  • target: Target determined by the specified type, such as Elset, Load, or Constraint

When Range/EMMR filtering is active, nev is interpreted as a stop threshold rather than a strict hard cap on the final output. The solver stops when the number of accepted filtered modes reaches or exceeds nev. If the nev boundary falls inside one multiplicity cluster (for example a repeated or near-degenerate eigenvalue cluster), the solver preserves the whole boundary cluster instead of truncating it in the middle. As a result, the final number of reported modes may be slightly larger than nev, but one multiplicity cluster is never split only to satisfy the requested count exactly.

For multiplicity clusters that are sensitive to the selected rotational axis or basis orientation, the mode-wise EMMR of each member can vary noticeably from run to run even though the physical cluster is the same. In particular, if one cluster lies near EMMRThreshold, the same physical cluster may be accepted in one run and rejected in another only because the basis orientation changed. To reduce this inconsistency, the filter is applied at the multiplicity-cluster level rather than by independently truncating members inside the same cluster. However, this sensitivity can still appear near the threshold when every member of the cluster remains close to the acceptance boundary in a given run.

Example
*STEP, TYPE=Static, Name=stage2 Prev=stage1
*Inactivate, TYPE=ELEMENT
 slab
*Activate, TYPE=Element
 10, new_slab
*Inactivate, TYPE=Load
 pointLoad
*Activate, TYPE=Load
 lineload

*Inactivate

Deactivates elements, loads, and constraints targeted by the step.

*Inactivate, Type={Element|Load[,Ramp]|Constraint}
 target, ...
 ...
Keyword line
  • Type=type
    • Element: Target element to be deactivated
    • Load[, Ramp]: Target load to be deactivated. If Ramp is specified, it is removed immediately at the start of the step.
    • Constraint: Target constraint to be deactivated
First data line and subsequent data lines
  • target: Target determined by the specified type, such as Elset, Load, or Constraint

*Solver

Specify the solver to be used in the analysis step.

*Solver, TYPE=Linear, Pardiso
 IterativeOff|IterativeOn, TryPositiveDefinite|PositiveDefinite|Indefinite

*Solver, TYPE=Linear, BiCG|BiCGStab|CGS
 None|Jacobi|SSOR|ILU0|ILUT|PardisoS|PardisoD|PardisoDC, TryPositiveDefinite|PositiveDefinite|Indefinite

*Solver, TYPE=Eigen, General
 Range=lowFreq|lowFreq,highFreq,maxnev, Threshold=EMMR|MPR,value,\
 ZeroEigTol=tol, Strategy=Expansion|Sweep

*Solver, TYPE=Eigen, LDR
 Dof, Dof@centerFreq, Load, Load@centerFreq, ...
Keyword line
  • Type=Linear, Pardiso|BiCG|BiCGStab|CGS: Specifies the linear solver. The default solver is Pardiso
  • Type=Eigen, General|LDR: Specifies the eigenvalue solver. The default solver is General.
First data line for TYPE=Linear, Pardiso
  • IterativeOff|IterativeOn: Turn the iterative-solver combination off/on (default: IterativeOff).
  • TryPositiveDefinite|PositiveDefinite|Indefinite: Specify the matrix definiteness handling strategy (default: TryPositiveDefinite).
First data line for TYPE=Linear, BiCG|BiCGStab|CGS
  • None|Jacobi|SSOR|ILU0|ILUT|PardisoS|PardisoD|PardisoDC: Select the preconditioner (default: None).
  • TryPositiveDefinite|PositiveDefinite|Indefinite: Specify the matrix definiteness handling strategy (default: TryPositiveDefinite).
First dataline for TYPE=Eigen, General
  • Range=lowFreq: Selects eigenvalues greater than or equal to lowFreq. The unit is [1/T]. (optional)
  • Range=lowFreq,highFreq,maxnev: Selects eigenvalues within the range [lowFreq, highFreq]. maxnev is the maximum number of eigenvalues to be selected (default: 200). (optional)
  • Threshold=EMMR|PMR,value: Selects a mode if its EMMR (Effective Modal Mass Ratio) or PMR is greater than or equal to the specified value. (optional)
  • ZeroEigTol=tol: If an eigenvalue is less than or equal to tol, it is treated as a zero eigenvalue. The default is 1E-8. (optional)
  • Strategy=Expansion|Sweep: Selects the eigenvalue filtering strategy. Expansion uses the candidate-expansion approach, while Sweep uses the filtered-sweep algorithm. The default is Sweep. (optional)
First data line for TYPE=Eigen, LDR
  • Dof: Displacement vector seed in the X, Y, or Z DOF direction
  • Dof@centerFreq: Center frequency corresponding to the displacement vector seed in the specified DOF direction. The unit of centerFreq is [1/T].
  • Load: Load vector seed
  • Load@centerFreq: Center frequency corresponding to the load vector seed. The unit of centerFreq is [1/T].

Linear solvers are used to obtain solutions of linear systems of the form \(\small Kx = f\) where K is a sparse matrix. The default solver is the direct sparse solver Pardiso, but iterative sparse solvers such as BiCG, BiCGStab, and CGS can also be used.

The eigen solver is used to solve the generalized eigenvalue problem of the form \(\small Kx = \lambda Mx\). The default setting is General, and special solvers such as LDR (Load-Dependent Ritz) may be applied when needed. The general eigen solver uses either LAPACK or ARPACK depending on the matrix size.

For Solver, TYPE=Eigen, General, the options Range, Threshold, ZeroEigTol, and Strategy are available. If Range=lowFreq is specified, eigenvalues greater than or equal to lowFreq are selected, where the unit is [1/T]. If Range=lowFreq,highFreq,maxnev is specified, eigenvalues within the range [lowFreq, highFreq] are selected, and maxnev denotes the maximum number of eigenvalues that may be selected, with a default value of 200. If Threshold=EMMR,value or Threshold=MPR,value is specified, only the modes whose EMMR (Effective Modal Mass Ratio) or MPR (Modal Participation Ratio) is greater than or equal to the given value are accepted. If ZeroEigTol=tol is specified, eigenvalues less than or equal to tol are treated as zero eigenvalues, and the default value is 1E-8. The eigenvalue filtering strategy can be selected with Strategy=Expansion or Strategy=Sweep; Expansion uses the candidate-expansion approach, while Sweep uses the filtered-sweep algorithm. The default is Sweep.

If a Range or Threshold condition is specified, the solver searches for modes satisfying the condition by increasing the candidate eigenvalue count, nev, step by step. During this process, an internal limit, nevLimit, is automatically set to cap the upper bound of the candidate eigenvalue count. This value is determined by considering the number of active mass degrees of freedom, the available memory, and the solver characteristics together. Therefore, even when filter conditions are used, the computation time and memory usage are controlled so that they do not increase excessively.

Threshold=EMMR corresponds to a mode-selection strategy based on the cumulative effective modal mass ratio, which is advantageous for securing sufficient modal contribution for a given load pattern. In contrast, Threshold=MPR corresponds to a strategy in which candidate modes are first identified within the frequency band of interest, and then modes are selected based on their relative modal participation within that band. Therefore, the MPR criterion is particularly effective when used together with frequency-band-based selection, and it is more suitable in cases such as unsymmetric systems, where the cumulative value of the generalized EMMR may not increase monotonically. In practice, the search range is managed by using either the EMMR or MPR filter together with the internal nevLimit control, and even when nevLimit is reached, this is treated not as an error but as a normal termination reason (stop reason).

In unsymmetric systems, eigenvalues may in general become complex, so restricting eigenvalues based on a specific real-valued interval may not work properly. On the other hand, in symmetric systems, eigenvalues are always real but may still be computed as negative. Even in this case, a simple frequency-range restriction is not always valid. Therefore, for both symmetric and unsymmetric systems, Range-based extraction is reliably valid only in special cases where the eigenvalues are computed as real and nonnegative.

Example
*Step, Type=Static, Name=1
...
*Solver, TYPE=Linear, Pardiso
 IterativeOn
...

# Basic Frequency Extraction (maximum 20 eigenvalues)
# Extract up to 20 eigenvalues without applying any additional filtering or sampling conditions.
*Step, Type=Frequency, Name=name
 20

# Frequency Extraction with General Eigen-solver (Range = 10 Hz)
# From oneSideSampling × 20 trial eigenvalues, extract up to 20 eigenvalues
# whose natural frequencies are higher than 10 Hz.
*Step, Type=Frequency, Name=name
 20
*Solver, TYPE=Eigen,General
 Range=10

# Frequency Extraction with Increasing Trial Eigenvalues (Range = 10–20 Hz)
# Increase the number of trial eigenvalues (e.g., 40, 60, 80, 100, …) and
# extract up to 20 eigenvalues whose natural frequencies fall within the range 10 Hz – 20 Hz.
*Step, Type=Frequency, Name=name
 20
*Solver, TYPE=Eigen,General
 Range=10, 20

# Frequency Extraction with EMMR Filtering (Range ≥ 10 Hz)
# From oneSideSampling × 20 trial eigenvalues, extract up to 20 eigenvalues
# that satisfy both  conditions of Range and EMMRThreshold
*Step, Type=Frequency, Name=name
 20
*Solver, TYPE=Eigen,General
 Range=10,  Threshold=EMMR,1E-4

# Frequency Extraction with Range = 10–20 Hz and MPR Filtering
# Increase the number of trial eigenvalues (e.g., 40, 60, 80, 100, …) and
# extract up to 20 eigenvalues that satisfy both conditions of Range and MPR
*Step, Type=Frequency, Name=name
 20
*Solver, TYPE=Eigen,General
 Range=10, 20,  EMMRThreshold=MPR,1E-4

*NonlinearAlgorithm

Specifies options related to nonlinear analysis.

*NonlinearAlgorithm
 Newton|MNewton|BFGS|Secant, maxIter, kernelUpdate, \
 TanReg=r|Auto, r0, grow, shrink
 StepCtrl=None | \
          SchedRelax, etamin, beta, frequency | \
          RelaxBack, N, etamin, etas, beta | \
          ArmijoBack, N, etamin, c1 | \
          Bracketed, N, etamin, rho, etamax,alpha
Algorithm section
  • Newton|BFGS|Secant|MNewton: Nonlinear analysis algorithm applied during each iteration
  • maxIter: maximum iteration number(optional, default 16 for Newton, 25 for MNewton, BFGS, Secant, but 50 for Newton/MNewton in Seepage)
  • kernelUpdate: Iteration number at which the kernel matrix is rebuilt for MNewton, Secant, and BFGS (optional; default: 8). Ignored for Newton.
TanReg section [TagReg = r]

(Fixed tangent regularization) - r : Tangent regularization factor, 0<=r<=1, where K=r*Kconsistent + (1-r)*Kref. r=1 means the fully consistent tangent, and r=0 means the reference/approximate tangent only. (Default: 1 for Newton/MNewton in Static/Dynamic, 0 for Seepage steps)

TanReg section [TagReg = r0, grow, shrink]

(Fixed tangent regularization)

  • r0: initial r (default 0.)
  • grow: amount to increase r when convergence is stable (default 0.2). At each iteration, the solver compares the new residual norm to the previous one. If the residual drops sufficiently, r is increased by this amount, making the tangent closer to the consistent tangent (then r is kept within the range 0 to 1).
  • shrink: amount to decrease r when convergence is unstable (default 0.3). If the residual decreases only slightly or increases, r is decreased by this amount, making the tangent more conservative/robust (then r is kept within the range 0 to 1).
StepCtrl section [StepCtrl=None]

(No line search is used)

StepCtrl section [StepCtrl=SchedRelax]

(Scheduled relaxation line search is used)

  • etamin: Minimum step length (Default 0.1)
  • beta: Reduction factor per scheduled step, where 0 < beta < 1. (Default 0.65)
  • frequency: Iteractions per scheduled step for reduction (Default 10)
StepCtrl section [StepCtrl=RelaxBack]

(Relaxaxation backtracking line search is used)

  • N: Maximum number of line search iteration(Default 20)
  • etamin: Minimum step length (Default 1E-4)
  • etas: Initial step length, where 0 < etamin < etas ≤ 1. (Default 1.0)
  • beta: Reduction factor, where 0 < beta < 1. (Default 0.5)
StepCtrl section [StepCtrl=ArmijoBack]

(Armijo backtracking line search is used)

  • N: No. of maximum allowable line search iteration(Default 20)
  • etamin: Minimum step length (Default 1E-5)
  • c1: Armijo sufficient decrease constant (Default 1E-4)
StepCtrl section [StepCtrl=Bracketed]

(Bracketed line search is used)

  • N: No. of maximum allowable line search iteration(Default 6)
  • etamin: Minimum step length (Default 0.01)
  • rho: Directional residual tolerance (Default 0.8)
  • etamax: Maximum allowable scaling factor(Default 25.)
  • alpha: Amplification factor preventing dangerous extrapolation(Default 5.)

The available options in *NonlinearAlgorithm depend on the type of analysis being performed. The following summarizes the applicable algorithms, step-control options, and their default settings.

Static Step
- SolutionAlgorithm, maxIter, kernelUpdate:
  Newton, maxIter=16 (default), kernelUpdate: not used
  MNewton, maxIter=25 (default), kernelUpdate=8 (default)
  BFGS, maxIter=25 (default), kernelUpdate=8 (default)
  Secant, maxIter=25 (default), kernelUpdate=8 (default)
- TanReg (Newton/MNewton only):
  Fixed, 1.0 (default) | Auto, ...
- StepCtrl:
  If Newton: None (default) | RelaxBacktracking | ArmijoBack | Bracketed
  If MNewton/BFGS/Secant: None | RelaxBacktracking | ArmijoBack (default) | Bracketed

Dynamic Step
- SolutionAlgorithm, maxIter, kernelUpdate:
  Newton, maxIter=16 (default), kernelUpdate: not used
  MNewton, maxIter=25 (default), kernelUpdate=8 (default)
- TanReg (Newton/MNewton only):
  Fixed, 1.0 (default) | Auto, ...
- StepCtrl:
  If Newton: None (default) | RelaxBack | ArmijoBack | Bracketed
  If MNewton: None | RelaxBack | ArmijoBack (default) | Bracketed

Seepage Step
- SolutionAlgorithm, maxIter, kernelUpdate:
  Newton, maxIter=50 (default), kernelUpdate: not used
  MNewton, maxIter=50 (default), kernelUpdate=8 (default)
- TanReg (Newton/MNewton only):
  Fixed, 0.0 (default) | Auto, ...
- StepCtrl:
  None | SchedRelax (default) | RelaxBack | ArmijoBack | Bracketed

StepCtrl=None explicitly means that no line-search procedure is applied.

Example
*Step, Type=Static, Name=step2
...
*NonlinearAlgorithm
 StepCtrl=BFGS

*Step, Type=Static, Name=step2
...
*NonlinearAlgorithm
 Secant, StepCtrl=Bracketed

*Step, Type=Seepage, Name=step2
...
*NonlinearAlgorithm
 StepCtrl=RelaxBack, 20, 1E-10

*Convergence

Imposing convergence criteria for the standard analysis step

*Convergence, Monitor={ON|OFF}
 Force, ftol1, ftol2, fmin
 Displacement, XYZ=dtol,dmin, RXYZ=dtol,dmin, P=dtol,dmin, T=dtol,dmin, General=dtol,dmin
Keyword line
  • monitor: monitoring option. ON or OFF. Default OFF.
First data line for FORCE criteria
  • ftol1, ftol2: Primary and secondary tolerances for force criteria. Both values are dimensionless. (default 1E-5, 0.01)
  • fmin: Minimum allowable unbalanced force [F]. If *Environment, TYPE=UnitSystem is defined and fmin is omitted, the default value is interpreted as 1E-4 N in physical meaning and converted to the current global UnitSystem. If *Environment, TYPE=UnitSystem is not defined, the raw numeric default value 1E-4 is used.
First data line for Displacement criteria
  • XYZ=dtol, dmin: Tolerance and minimum value for X-, Y-, and Z-displacement. dtol is dimensionless, and dmin is [L]. If *Environment, TYPE=UnitSystem is defined and dmin is omitted, the default value is interpreted as 1E-6 m in physical meaning and converted to the current global UnitSystem. If *Environment, TYPE=UnitSystem is not defined, the raw numeric default value 1E-6 is used. (default 0.01, 1E-6)
  • RXYZ=dtol, dmin: Tolerance and minimum value for rotation. Both dtol and dmin are dimensionless. (default 0.005, 2E-6)
  • P=dtol, dmin: Tolerance and minimum value for pressure. dtol is dimensionless, and dmin is [F/L^2]. If *Environment, TYPE=UnitSystem is defined and dmin is omitted, the default value is interpreted as 1E-5 Pa in physical meaning and converted to the current global UnitSystem. If *Environment, TYPE=UnitSystem is not defined, the raw numeric default value 1E-5 is used. (default 0.001, 1E-5)
  • T=dtol, dmin: Tolerance and minimum value for temperature. dtol is dimensionless, and dmin is [K]. If *Environment, TYPE=UnitSystem is defined and dmin is omitted, the default value is interpreted as 1E-5 K. If *Environment, TYPE=UnitSystem is not defined, the raw numeric default value 1E-5 is used. (default 0.001, 1E-5)
  • General=dtol, dmin: Tolerance and minimum value for unclassified DOFs. dtol is dimensionless. dmin is always treated as a raw numeric value because no single common physical unit is defined for unclassified DOFs. (default 0.01, 1E-6)

The convergence criteria for nonlinear analysis are specified. These criteria are ignored in linear analysis and eigenvalue analysis. The following load and displacement conditions are applied for each physical quantity, such as translational motion, rotation, pressure, and temperature.

** Force/Moment criteria

\[\small || { r}_{n+1} ^i || <= \epsilon_F ~ \max (|| { r}_{n+1} ^1 || ,R_{min} ) \]

** Displacement/Rotation criteria

\[ \small || \delta u_{n+1}^i || \le \epsilon_D \max(|| \Delta u_{n+1} ^{i+1} ||, D_{min} ) \]

For the force criteria, the L2 norm of the residual is used, while for the displacement condition, the infinite norm of both the iterative change and the incremental displacement is employed. In the force criteria, the same values of \(\small \epsilon_F\) and are applied to all physical quantities. However, \(\small \epsilon_F\) is divided into a primary tolerance and a secondary tolerance. The primary tolerance is used when the number of iterations is small, whereas the secondary tolerance is applied when the nonlinearity is strong and the number of iterations becomes large. The iteration count separating the primary and secondary tolerances (\(\small I_p\)) is set to 9. That is, the primary tolerance is applied up to iteration 8, and the secondary tolerance is used from iteration 9 onward. For rotational DOFs, however, the minimum allowable residual is scaled to account for the unit and scale mismatch with translational DOFs; specifically, \(\small R_{min} L_{global}\) is used instead of \(\small R_{min}\). Here, \(\small L_{global}\) denotes the global characteristic length of the model, which is determined as the median of the element edge lengths. On the other hand, for the displacement criteria, different values of \(\small \epsilon_D\) and \(\small D_{min}\) are applied for each physical quantity.

Example
*Step, Type=Static Name=1
...
*Convergence, Monitor=ON

*Step, Type=Static, Name=2
...
*Convergence, Monitor=On
 Force,1E-5
*NonlinearAlgorithm
 BFGS, StepCtrl=Bracketed

*TimeIntegration

Defines the time integration method for dynamic analysis.

*TimeIntegration, Type=Newmark,gamma,beta

*TimeIntegration, Type=HHT,alpha
Keyword line for Type=Newmark
  • Type=Newmark, gamma, beta: Applies Newmark time integration. gamma and beta are optional, and their defaults are 0.5 and 0.25.
Keyword line for Type=HHT
  • Type=HHT, alpha: Applies HHT time integration. alpha is optional, and its default is -0.05.

If *TimeIntegration is not specified separately, the default is Newmark, 0.5, 0.25.

In the Newmark method, coefficients \(\small\beta\) and \(\small\gamma\) are determined based on numerical stability and accuracy. When \(\small\gamma=1/2\), no numerical damping is introduced, whereas if \(\small\gamma>1/2\), numerical damping is introduced. Typically, values of \(\small\gamma=1/2\) and \(\small 1/6 \le \beta \le 1/4\) are chosen. With \(\small\gamma=1/2\) and \(\small\beta=1/4\), the acceleration is assumed constant within the time interval, a method known as the average acceleration method. When \(\small\gamma=1/2\) and \(\small\beta=1/6\), the acceleration is assumed to vary linearly within the time interval, known as the linear acceleration method. For numerical stability, the following condition must be satisfied:

\[ \small \frac{\Delta t}{T_n} <= \frac{1}{\pi \sqrt 2} \frac{1}{\sqrt {\gamma-2\beta}}, ~~ \rm \text{where, } \it T_n \rm \text{ is natural frequency} \]

Thus, using the average acceleration method ensures unconditional stability, while the linear acceleration method requires satisfying \(\frac{\Delta t}{T_n}\) for stability. In finite element problems involving multiple degrees of freedom, it is challenging to meet this stability condition up to higher modes with shorter natural periods (higher natural frequencies). Consequently, the average acceleration method is generally used for its unconditional stability, even if it sacrifices some precision.

The Hilbert-Hughes-Taylor (HHT or \(\small\alpha\)-method) extends the Newmark method by introducing controllable numerical damping while maintaining solution accuracy. It is unconditionally stable for values within \(\small -1/3 \le \alpha \le 0\). When \(\small \alpha = 0\), it is equivalent to the Newmark method with the average

Example
*Step, Type=Dynamic, Name==analysis1
 , 0.02, 24
*TimeIntegration, Type=HHT, -0.05
...

*RayleighDamping

Specifies Rayleigh damping values during a dynamic analysis (DynamicStep).

*RayleighDamping
 Direct, alpha,beta, targetElset
 Equivalent, fm, fn, xim, xin, targetElset
 ...
First data line and subsequent data lines
  • Direct, alpha, beta: Specifies the Rayleigh damping coefficients alpha and beta. alpha and beta represent the mass-proportional and stiffness-proportional damping coefficients, respectively. The unit of alpha is [1/T], and the unit of beta is [T]. alpha and beta are optional, and their default values are 0 and 0, respectively.
  • Equivalent, fm, fn, xim, xin: Specifies equivalent damping ratios xim and xin, along with the corresponding natural frequencies of the structure fm and fn (in Hz), usually set to the 1st and 2nd natural frequencies. Typically, xim and xin are set to the same value (all are required).
  • targetElset: Specifies the target elset, which must be an active elset in the current analysis step (optional). If omitted, Rayleigh damping applies to all active elsets in the current step.

When equivalent damping ratios are specified, Rayleigh damping coefficients alpha and beta are calculated and set using the following relation:

\[ \small \left[ \begin{matrix} \xi_m \\ \xi_n \\ \end{matrix} \right] = \frac{1}{2} \left[ \begin{matrix} 1/\omega_m & \omega_m\\ 1/\omega_n & \omega_n\\ \end{matrix} \right] \left[ \begin{matrix} \alpha \\ \beta \\ \end{matrix} \right] \]

In the above, \(\small \omega_m = 2\pi f_m\) and \(\small \omega_n = 2\pi f_n\), and the determined values of \(\small \alpha\) and \(\small \beta\) are constants in the Rayleigh damping matrix, defined as \(\small C^R = \alpha M + \beta K\).

Example
*Step, Type=Dynamic, Name=1
*Activate, Type=Element
 ELSET1, ELSET2
*RayleighDamping
 Direct, 0.5, 0.1    # Specifies all elsets in Step 1, such as ELSET1, ELSET2

*Step, Type=Dynamic, Name=2
*Activate, Type=Element
 ELSET1, ELSET2
*RayleighDamping
 Direct, 0.5, 0.1, ELSET2    # Sets a damping ratio of 0.5, 0.1 for ELSET2
 Equivalent,2.3, 5.7, 0.05, 0.05, ELSET2  # Specifies an equivalent damping ratio of 0.5 for ELSET2

Specifies the modal analysis method and its damping ratio during dynamic analysis (DynamicStep).

*MODAL, [ELSet=targetElset]
 imode,dampingRatio
 fromMode, toMode, dampingRatio
 ...
Keyword line
  • ELSET=targetElset: Specifies the elset participating in the modal analysis (optional). By default, all elements in the analysis step are included.
First data line and subsequent data lines
  • imode, dampingRatio: Mode and damping ratio
  • fromMode, toMode, dampingRatio: Range of modes and damping ratio

Modal analysis is a special technique for performing dynamic analysis on linear systems.

  1. When specified with *Modal, *RayleighDamping is ignored.
  2. Only the Newmark method is allowed as the integration method with *Modal. If HHT or Frequency is specified as the integration method, an error occurs.
  3. Only the specified modes participate in the modal analysis. If the specified modes cannot be computed through eigenvalue analysis, an error is raised.
  4. *Load, Type=Displacement cannot be applied in modal analysis.
  5. Reaction forces in modal analysis do not consider the effects of modal damping.
  6. Modal analysis can only be applied to linear elsets.
  7. If targetElset is not specified, modal analysis is conducted on the entire model, which must be a linear system.
  8. When targetElset is specified, a partial modal analysis is performed on that specific elset using the given modes. Only the specified targetElset needs to satisfy linear conditions. This feature is especially useful in vehicle-bridge interaction analyses where nonlinearities arise due to contact point changes.
Example
*Step, Type=DYNAMIC, Name=1
 =0.1, 2.5
*Activate, Type=Element
 Bridge
*Activate, Type=Constraint
 Boundary
*Activate, Type=Load
 ConcentricLoad
*MODAL
 1,0.001       # Mode 1 with a damping ratio of 0.001
 2,5,0.0005    # Modes 2, 3, 4, 5 with a damping ratio of 0.0005
 6,0.007       # Mode 6 with a damping ratio of 0.007
 10,15,0.001   # Modes 10 through 15 with a damping ratio of 0.001 (Modes 7, 8, and 9 are not used)

*Step, Type=DYNAMIC, Name=2
 =0.1, 2.5
*Activate, Type=Element
 Bridge, Truck
*Activate, Type=Constraint
 Boundary
*MODAL, ELSet=Bridge  # Apply modal analysis only to Bridge
 1,10,0.01

*InteractionControl

Applies boundary conditions and contact conditions that change dynamically during the analysis. Currently, only PSF is supported.

*InteractonControl, TYPE=PSF, maxIter=maxIter
 targetNode|targetNGroup, ...
Keyword line
  • maxIter=maxIter: Maximum number of iterations used to identify changing boundary conditions and contact conditions (optional; default: 20).
First data line
  • targetNode: Target node to be designated as PSF (Potential Seepage Face) (required)
  • targetNGroup: Node group to be designated as PSF (Potential Seepage Face) (required). targetNGroup can be specified in the form of an nset, a surface, or a node-number pattern (start:end:spacing, where spacing may be omitted when it is 1). If specified as a surface, it refers to the nodes contained in that surface.

PSF (Potential Seepage Face) is valid only for *Step, TYPE=Seepage analyses. PSF indicates candidate locations that may become a seepage face during the analysis.

For nodes designated as PSF, if the computed pore-water pressure at a node becomes negative during the analysis, a boundary condition of 0 (atmospheric pressure) is imposed, and the flux is always outward (discharging). If the pore-water pressure is positive, there is neither inflow nor outflow at that node.

Therefore, for nodes designated as PSF, you must not prescribe pore-water pressure or total head using *Constraint, TYPE=Support or *Load, TYPE=Displacement.

Example
*STEP, TYPE=Seepage, Name=name
...
*InteractionControl, TYPE=PSF
 downStream

*State

Specifies the state of element.

*State, Type=Pretension
 target, value
 ...

*State, TYPE=Posttension
 target, value
 target, ByStartForce|ByStartIncrementalDelta|ByEndForce|ByEndIncrementalDelta, value
 ...

*State, Type=CableLength
 target, value
 ...

*State, Type=MovingSpringSpeed
 target, value
 ...
Keyword line
  • Type=type: Type of the field to specify (required)
    • Pretension: Tensioning tendon by pretension
    • Posttension: Tensioning tendon by posttension(Force hold condition)
    • CableLength: Cable length
    • MovingSpringSpeed: Speed of the moving spring
First data line and subsequent data lines
  • target: Element or elset (required). Pretension and Posttension apply to EmbeddedLine elements, CableLength to Cable elements, and MovingSpringSpeed to MovingSpring elements.
  • ByStartForce: For post-tensioning with Posttension, apply jacking force at the start node (the stress distribution is calculated).
  • ByStartIncrementalDelta: For post-tensioning with Posttension, apply jacking displacement at the start node (the stress distribution is internally calculated).
  • ByEndForce: For post-tensioning with Posttension, apply jacking force at the end node (the stress distribution is calculated).
  • ByEndIncrementalDelta: For post-tensioning with Posttension, apply jacking displacement at the end node (the stress distribution is internally calculated).
  • value: The specified value (required). The unit is [F] for Pretention; in Posttension, it is [F] for ByStartForce and ByEndForce, [L] for ByStartIncrementalDelta and ByEndIncrementalDelta; it is [L] for CableLength and [L/T] for MovingSpringSpeed.

Pretension assigns the initial tendon stress distribution in the given analysis step (*Step). At the end of the step, the tendon stress distribution evolves to satisfy equilibrium. Posttension keeps the initial tendon stress distribution constant within the analysis step. Both Pretension and Posttension can assign a constant tendon stress. In the case of Posttension, additional jacking options (ByStartForce, ByStartIncrementalDelta, ByEndForce, ByEndIncrementalDelta) allow jacking at the start or both ends to apply the initial tendon stress. In this process, the curvature friction coefficient and wobble friction coefficient of the tendon are used to calculate the initial distribution. The following rules must be observed:

  • An element to which Pretension is applied cannot be assigned any additional Pretension or Posttension.
  • An element to which Posttension is applied using the Value option cannot be assigned any additional Pretension or Posttension.
  • When applying Posttension using a Jacking option (ByStartForce, ByStartIncrementalDelta, ByEndForce, ByEndIncrementalDelta), both the curvature friction coefficient and wobble friction coefficient of the tendon must not be zero.
  • If Posttension with Jacking options is applied multiple times to the same element, the prestress is introduced sequentially in the order of definition.

In addition, the *State command can also be used for other element types:

  • CableLength specifies the initial length of Cable elements.
  • MovingSpringSpeed specifies the moving speed of MovingSpring elements.
Example
*STEP, TYPE=Static, NAME=step1
*Activate,TYPE=Element
 tendon, conc
*Activate,TYPE=Constraint
 BC
*State, TYPE=Pretensiion
 1001, 2000.
*OUTPUT
 D, FN, FK, FE, BSF
*History, Name=pretension1
 step1
 BSE.Ex@1-1, BSF.Nx@1-1,  BSE.Ex@1-2, BSF.Nx@1-2
 E.11@1001-1, S.11@1001-1

*Output

Specifies the output values to be saved in the HDB file (.hdb).

*Output[, ELSET=elset1, elset2, ..., Constraint=constraint1, constraint2, ...]
 field|sensorName,...
 ...
Keyword line
  • ELSET=elset1, elset2, ...: Target elsets for which results will be output in the HDB file (.hdb). If not specified, the elsets designated in *Activate, TYPE=Element are used.
  • Constraint=constraint1, constraint2, ...: Target constraints for which results will be output in the HDB file (.hdb). If not specified, constraints designated in *Activate, TYPE=Constraint are used.
First data line and subsequent data lines (optional for FrequencyStep)
  • field, ...: Name of the field
  • sensorName: Name of the sensor for output

*Output specifies the node or element field values or sensor values to be output to the HDB file (.hdb). Target elsets or constraints can be specified using Element or Constraint. If the target elset or constraint is not specified, the elsets or constraints designated in *Activate, TYPE=Element/Constraint are used. The target nodes are determined by these elsets and constraints. In other words, the target elset is defined by the specified elset, and the target nset is determined by both the specified elset and constraints. Specifying a sensor for output in the data line is independent of the target specified by Element or Constraint.

The HDB file (.hdb) creates an *ResultStep corresponding to each *Step and outputs *TargetElements, *TargetConstraints, and *TargetLoads. Here, *TargetElements and *TargetConstraints correspond to the target elsets and constraints specified in *Output. If no target elset or constraint is specified in *Output, these match the elsets or constraints specified in *Activate, TYPE=Element/Constraint. *TargetLoads always corresponds to *Activate, TYPE=Load.

Field values can be distinguished by node or element units as field values.

▪ Node-Level Fields

  • FN, FE: Equivalent nodal loads for applied loads and element loads at nodes
  • FK, FC, FM: Internal forces including elastic, damping, and inertial forces
  • D: Degree of freedom field (displacements, temperature, etc., at nodes; represents modes in frequency analysis)
  • V: First time derivative of the degree of freedom field (e.g., velocity for displacement, temperature rate, etc.)
  • A: Second time derivative of the degree of freedom field (e.g., acceleration for displacement, temperature acceleration, etc.)

The relationship for nodal loads is satisfied as FN + FE = FK + FC + FM.

▪ Element-Level Fields

  • BSF, BSE, BST: Cross-sectional force, strain, and temperature for beam elements (including truss/cable elements)
  • SSF, SSE, SST: Cross-sectional force, strain, and temperature for shell elements
  • SF, SE, DF, DE: Cross-sectional force and strain for spring elements, and force and strain for damper sections
  • S, E, PE: Stress, strain, and plastic strain
  • SB: Back stress
  • IEC, IET: Compressive and tensile inelastic strain
  • ECUN, ETUN: Last committed compressive/tensile unloading strain
  • PEEQ, PEEQT, PEEQC: Equivalent plastic strain, and tensile/compressive equivalent plastic strain
  • T: Temperature
  • ITR, IRD : interfacial traction and relative displacement
  • TIME: Material time
  • ECR, ESH: Creep strain and shrinkage strain
  • EP: Element pressure
  • EW: Volumetric strain

The element field values are output sequentially according to the element points—such as element centroids, nodes, or integration points—depending on the characteristics of each element. For example, when outputting the stress S for a C3D8 element that has 8 integration points, the output appears as follows:

(Element number), (S at the 1st integration point), (S at the 2nd integration point), ... (S at the 8th integration point)

For elements like beam elements, spring/damper elements, and interface elements, a concept called a “cell” is used. For instance, consider a beam element whose cross-section is composed of two different material cells. Suppose each cell contains 10 and 2 material points respectively. When requesting the output of S, the data is printed in the following order:

(Element number), [First cell – S at 1st integration point [10 material points] – ... – S at 4th integration point [10 material points]],         [Second cell – S at 1st integration point [2 material points] – ... – S at 4th integration point [2 material points]]

This output order can be confirmed when printed in text-based HDB format or using the *Print command. Binary or HDF5-format HDB files also internally store the data in this same order.

▪ Notes 1. In frequency analysis steps (*Step, Type=Frequency), frames are output for each mode in the HDB file (.hdb). Each frame corresponds to one mode, with the mode shape output in D. The remaining field values represent values induced by this D. 2. Fields may have subcomponents. For example, D includes subcomponents such as D.X, D.Y, D.Z, etc. For details on subcomponents, refer to *History.

Example
*Step, Type=Static, Name=Case1
*Activate, TYPE=Element
 dam, water, farField
*Output
 D, SF, S, mySensor
*Print File=Case1.prn
 D@Left, SF@Bearing

*Step, Type=Frequency, Name=FRQ
 10
*Output
 D, SSF
*Print, File=FRQMode.prn

*Print

Specifies the result values to be written to a separate file.

*Print, File=file
 field@target|sensorName...
 ...
Keyword line
  • File=file: Name of the output file in the *Print command (optional). If not specified, it is automatically named as filename-stepname-P#.csv (where filename is the name without extension, and # is a sequential number). If <DB> or <STEP> is included in the filename, they are replaced with the current DB name (name without extension from the input file) and the current step name, respectively.
First data line and subsequent data lines
  • field@target: Field and target for output. For fields defined at nodes, target can be a node number, node number pattern, or nset; for fields defined at elements, target can be an element number, element number pattern, or elset.
  • sensorName: Name of the sensor for output

The *Print command is similar to *Output but outputs the results as text values for the specified node or elsets.