14. Step result
Commands for managing analyzed results include *PostStep, *History, *PostHistory, and *HDB.
*History
Outputs the history results during analysis for the target step.
*History, Name=name
step1, step2, ...
sensorName|scalarField@target, ...
...
Keyword line
- Name=name: Name created by the
*Historyand*PostHistorycommands. Must be unique. A file namedname.csvis generated. If<DB>is included in the name, it is replaced with the current DB name (name of the input file without the extension).
First data line
- step1, step2, ...: Target analysis steps
Second data line and subsequent data lines
- sensorName: Name of the output sensor
-
scalarField@target: Name of the scalar field and its target. For fields with subcomponents, use forms such as D.X, FN.Y, SF.X, SE.X, S.11, E.33, etc. Scalar fields like PEEQ are applied as is. The format of
targetdepends on whether it is a node field or an element field, as shown below.- scalarField@nodes: Node field
- scalarField@elements-gpIndices: Element field defined at integration points
- scalarField@elements-gpIndices-cellId: Element field defined within a cell at integration points
- scalarField@elements-gpIndices-cellId-pointId: Element field defined at integration point–cell–point
- Details
- nodes: Target nodes specified by node ID, node ID pattern (
start:end:spacing,start:end), or nset - elements: Target elements specified by element ID, element ID pattern (
start:end:spacing,start:end), or elset - gpIndices: Integration point indices, or integration point index patterns (
start:end:spacing,start:end). Integration point indices are 1-based, andlastrepresents the final integration point index - cellId: Cell ID within an integration point. Represents layers defined with different materials in Beam/Interface/Spring elements. Exceptionally, in Shell elements, instead of a cell ID, B (bottom) and T (top) are used for homogeneous sections, and LayerId is used for laminated shells.
- pointId: Material point ID within a cell. Used in Beam elements with meshed cells or layered cells, representing material points inside the cell
- nodes: Target nodes specified by node ID, node ID pattern (
The *History command saves individual components of node or element-level fields in a time-based history file. For sensors, the scalar value defined in the sensor is used. For scalarField@target, both the scalar field name and target location must be specified. scalarField is divided into node and element fields.
For Node Fields
- Specified as
field.sub@nodes. nodesspecifies the target nodes using node IDs, node ID patterns (start:end:spacing,start:end), or nsets. A node ID can be given either as an integer or as an expression enclosed in parentheses.- The following fields are available: D, V, A, FN, FE, FK, FC, FM.
D: Displacement,D= [X,Y,Z,RX,RY,RZ,P,T,Mag]V: Velocity,V= [X,Y,Z,RX,RY,RZ,P,T,Mag]A: Acceleration,A= [X,Y,Z,RX,RY,RZ,P,T,Mag]FN: Externally applied nodal force (external force),FN= [X,Y,Z,RX,RY,RZ,P,T,Mag]FE: Equivalent nodal force (external force),FE= [X,Y,Z,RX,RY,RZ,P,T,Mag]FK: Restoring force (internal force),FK= [X,Y,Z,RX,RY,RZ,P,T,Mag]FC: Damping force (internal force),FC= [X,Y,Z,RX,RY,RZ,P,T,Mag]FM: Internal force (internal force),FM= [X,Y,Z,RX,RY,RZ,P,T,Mag]
- Subcomponents include characters such as
X,Y,Z,RX,RY,RZ,P,T,Magrepresenting degrees of freedom or computed values: X,Y,Z: Translational degrees of freedom in X, Y, Z directionsRX,RY,RZ: Rotational degrees of freedom in RX, RY, RZ directionsP: Pressure degree of freedom (acoustic element only)T: Temperature degree of freedom (reserved)Mag: Magnitude ofX,Y,Zdegrees of freedom (computed as the vector magnitude)
Examples:
D.X@1: X displacement at node 1D.X@2:8:2: X displacement at nodes 2, 4, 6, 8D.P@2:5: Pressure P at nodes 2, 3, 4, 5D.Mag@10: Magnitude of X, Y, Z displacements at node 10 (computed as vector magnitude)FN.RX@slab: RX-direction external nodal force for node set "slab"D.X@2+5: Equivalent toD.X@7D.X@3*(4-1): Equivalent toD.X@9D.Z@1+2:9:3: Equivalent toD.Z@3:9:3
For Element Fields
- In
scalarField@target, thescalarFieldis expressed asfield.subwhen subcomponents exist, or simply asfieldwhen no subcomponents are present. -
The following lists applicable field names and their subcomponents:
BSF= [Nx My Mz Vy Vz T] , beam section forcesBSE= [Ex Ky Kz Gxy Gxz Hx] , beam section deformationBST= [T0 Ty Tz] , beam section temperatureSSF= [Nx Ny Nxy Mx My Mxy Vx Vy] , shell section forcesSSE= [Ex Ey Gxy Kx Ky Kxy Gxz Gyz] , shell section deformationSST= [T0 Tz] , shell section temperatureSF= [X Y Z RX RY RZ] , spring forcesSE= [X Y Z RX RY RZ] , spring deformationDF= [X Y Z RX RY RZ] , damping forcesDE= [X Y Z RX RY RZ] , damping deformation rateS= [11 22 33 12 23 31 P1 P2 P3 Mises], stressE= [11 22 33 12 23 31 P1 P2 P3], mechanical strainPE= [11 22 33 12 23 31 P1 P2 P3], plastic strainSB= [11 22 33 12 23 31 P1 P2 P3], back stressPEEQ, Equivalent plastic strainPEEQT, Tensile equivalent plastic strainPEEQC, Compressive equivalent plastic strainT, Material temperature (note: nodal temperature is defined as D)ECUN, Last compressive loading strain from origin of UGeneric materialETUN, Last tensile loading strain from origin of UGeneric materialITR= [A B N], interfacial tractionIRD= [A B N], interfacial relative displacementTIME, Material timeECR, Creep strainESH, Shrinkage strainEP, PressureEW, Volumetric strainSPF, Stiffness proportional factor in ModelUpdatingMPF, Mass proportional factor in ModelUpdating
-
When expanded,
scalarField@targetcan take the following forms:elements-gpIndices,elements-gpIndices-cellId, orelements-gpIndices-cellId-pointId. -
elementsspecifies the target elements using element IDs, element ID patterns (start:end:spacing,start:end), or element sets. An element ID can be given as an integer or as an expression enclosed in parentheses.gpIndicesspecify the target integration point indices, using either explicit indices or index patterns (start:end:spacing,start:end). Integration point indices are 1-based, andlastrefers to the final integration point index.gpIndicesmay also include expressions enclosed in parentheses. When using expressions inelementsorgpIndices, note that the-operator can be confused with the hierarchy separator, so parentheses must be used appropriately. -
The format and examples for continuum elements are as follows:
- scalarField@elements-gpIndices
- examples
- S.12@3-1 : element 3, integration point 1, field S.12
- S.Mises@5-1:3 : element 5, integration points 1,2,3, field S.Mises
- PEEQ@beam-1:last : beam element set, all integration points (1:last), field PEEQ
-
The format and examples for beam elements are as follows:
- scalarField@elements-gpIndices : element field defined at integration points
- scalarField@elements-gpIndices-cellId-pointId : element field defined at integration point–cell–point
- examples
- BSF.My@3-1 : slab element set, element 3, integration point 1, field BSF.My
- BSF.My@3:5-1 : elements 3 and 5, integration point 1, field BSF.My
- BSF.Nx@slab-1 : slab element set, integration point 1, field BSF.Nx
- S.11@1-1-2-10 : beam element, element 1, integration point 1, cell 2, pointId 10, field S.11
- E.11@2-2-1-3 : beam element, element 2, integration point 2, cell 1, pointId 3, field E.11
- BSF.Nx@10-1 : element 10, integration point 1, field BSF.Nx
- BSF.Nx@(2+3)-1 : element 5, integration point 1, field BSF.Nx
- BSF.Nx@(3*(4-1)+1)-2 : element 10, integration point 2, field BSF.Nx (parentheses required)
- BSF.Nx@(5-2)-1 : element 3, integration point 1, field BSF.Nx (parentheses required)
-
The format and examples for Spring and Interface elements are as follows. For Spring elements,
gpIndexis always 1.- scalarField@elements-gpIndices : element field defined at integration points
- scalarField@elements-gpIndices-cellId : element field defined within a cell at integration points
- examples
- SF.X@3-1 : element 3, first integration point, field SF.X
- SE.X@1-1 : Spring element, element 1, gp=1 (always 1), field SE.X
- SF.X@1-1 : Spring element, element 1, gp=1 (always 1), field SF.X
- E.11@1-1-1 : Spring element, element 1, gp=1, cell 1, field E.11
- ISD.11@1-1-1 : Spring element, element 1, gp=1, cell 1, field E.11
- IRD.A@1-2 : Interface element, element 1, gp=2, field IRD.A
- S.11@1-2-2 : Interface element, element 1, gp=2, cell 2 (direction B), stress S.11
-
The format and examples for Shell elements are as follows:
- scalarField@elements-gpIndices : element field defined at integration points
- scalarField@elements-gpIndices-T/B/LayerId : element field defined within a cell at integration points. T/B indicate top and bottom of homogeneous sections, while LayerId refers to a specified layer number in laminated composite sections.
- examples
- S.Mises@10-2-T : Shell element, element 10, integration point 2, top surface, stress Mises (homogeneous section)
- E.12@11-3-2 : Shell element, element 11, integration point 3, layer 2, strain E.12 (composite section)
- PEEQ@101-4-B : Shell element, element 101, integration point 4, bottom surface, field PEEQ
Example
*Step, Type=Static, Name=Case1
...
*Step, Type=Dynamic, Name=Case2
...
*History, Name=out # The generated file is created as `out.csv`.
Case1, Case2
D.X@10 # D.X at node 10
FK.X@10 # FK.X at node 10
FN.X@10 # FN.X at node 10
A.X@center_line # A>X at all nodes of center_line
BSF.Nx@11-1 # BSF.Nx at 1st element point of element 11
BSF.Mz@beamset-1 # BSF.Mz at 1st element point of all elements of beamset
S.11@11-1-10-2 # S.11 on cell 10, cell point 2 at at 1st element point of element 11
*History, File=<DB>-D # The generated file can be created as "`DB_name`-D.csv".
Case1, Case2
D.X@12 # D.X at node 10
*PostHistory
After the analysis is complete (after the .hdb file is generated), history results for the target step are obtained and output.
*PostHistory, Name=name
step1, step2, ...
scalarField@target|sensorName, ...
...
The command format is the same as *History, except for the command name.
*History obtains history data during the analysis, while *PostHistory retrieves history data from the data specified by *Output after the analysis is complete. Therefore, *History can obtain history data for any data existing in the analysis model, even if it is not specified in *Output. However, *PostHistory is limited to data specified by *Output.
*PostStep
Combines results from new analysis steps using the analysis results.
*PostStep, OrphanHDB=On|Off, Name=name
tagertElset, ...
targetField, ...
frameExpression, C=...
...
Keyword line
- Name=name: Name of the analysis
- OrphanHDB=On|Off: Specifies whether to create a separate
.hdbfile containing only the ResultStep corresponding to the PostStep result. Default is Off. If set to On, a separate.hdbfile named after the*PostStep(e.g.,name.h5.hdb) will be created containing only the relevant ResultStep.
First data line
- targetElset: Target elset
Second data line
- targetField: Target field or sensor, such as SF, S, or D.
Third data line and subsequent lines
- frameExpression: Rule for generating frames, e.g.,
L1.MAX,0.8*L1.MAX + 0.8*L2.MIN,DC.2 - C=...: Specifies maximum and minimum conditions for
targetFieldwhenMINorMAXis used inframeExpression. If not specified, the maximum and minimum for each field are calculated individually.
The rule for generating frames is a linear combination in the format factor*step.frame. Here, factor is a numerical value, and step is the name of the ResultStep used. When factor is 1, it can be omitted. The frame can be a frame number (1-based) or keywords like min, max, or last, where min refers to the minimum value across all frames, max to the maximum value, and last to the last frame. Note that the ResultStep name is case-sensitive, while min, max, and last are not.
- `1.2*DC.1 + 1.8*DL.1`: Result of adding 1.2 times the first frame of the DC step and 1.8 times the first frame of the DL step.
- `1.2*L1.max`: Result of finding the maximum value across all frames in the L1 step and multiplying it by 1.2.
- `DC.2 + EQ.max`: Sum of the second frame value in the DC step and the maximum value in the EQ step.
- `DC.last + DW.last`: Sum of the last frame values in the DC and DW steps.
*HDB
Reads data from the `.hdb' file.
*HDB, File=hdbfile
Keyword line
- File=hdbfile:
.hdbfile name
The *HDB command is used to read an existing HDB file when an analysis has already been performed and the HDB results need to be updated through commands like *PostStep. The *HDB command must be the first command in the file and can be used only once. After reading the HDB, the following commands can be used to modify it:
*NSET: Only available for creating a new nset*ELSET: Only available for creating a new elset*Info: Only available for creating new information*PostStep*PostHistory
Example
*HDB, File=bridge.text.hdb
*PostStep, Name=LL
myslab1, myslab2 # target elements
BSF, D # target Field
L1.MAX # frame 1
L2.max # frame 2
0.8*L1.MAX + 0.8*L2.MAX # frame 3
L1.min # frame 4
L2.MIN # frame 5
0.8*L1.MIN + 0.8*L2.MIN # frame 6
*PostStep, Name=LimitState
myslab1, myslab2 # target elements
BSF, SSF, S, D # target scalar fields
1.2*DC.2 + 1.8*LL.max, C=BSF.2, SSF.1
1.2*DC.2 + 1.8*LL.min, C=D.MAG
DC.2 + LL.MAX + EQ.MAX
DC.2 + LL.MIN + EQ.MIN
*PostHistory, File=<DB>-D # The generated file is created as "`DB_name`-D.csv".
Case1, Case2
D.X@12 # D.X at node 10
The *PostStep command manipulates result values for ResultStep's created within the .hdb file after executing a *Step command. Therefore, it must be placed after the *Step command.
Example
# Dead load case
*Step, TYPE=Static, Name=DC
...
# Live Load : Lane 1
*Step, TYPE=Static, Quasi, Name=L1
...
# Live Load : Lane 2
*Step, TYPE=Static, Quasi, Name=L2
...
# Earthquake
*Step, TYPE=Dyanamic, Name=EQ
...
*PostStep, OrphanHDB=On, Name=LL # Generates LL.h5.hdb or LL.text.hdb additionally.
myslab1, myslab2 # target elements
BSF, D # target Field
L1.MAX # frame 1
L2.max # frame 2
0.8*L1.MAX + 0.8*L2.MAX # frame 3
L1.min # frame 4
L2.MIN # frame 5
0.8*L1.MIN + 0.8*L2.MIN # frame 6
*PostStep, Name=LimitState
myslab1, myslab2 # target elements
BSF, SSF, S, D # target scalar fields
1.2*DC.2 + 1.8*LL.max, C=BSF.2, SSF.1
1.2*DC.2 + 1.8*LL.min, C=D.MAG
DC.2 + LL.MAX + EQ.MAX
DC.2 + LL.MIN + EQ.MIN