Vai al contenuto

Translation status

This page has not yet been translated into Italiano, or its translation is out of date. The current English version is shown as a fallback.

Output and Restart

Analysis results exist in memory as-is, so they must be written to appropriate files for post-processing, visualization, recovery, and restart. Because the file format, output items, and output frequency differ depending on the purpose, FrontISTR provides multiple output paths for different uses.

FrontISTR output consists of three systems: result files that save analysis values (!WRITE,RESULT), visualization files used for visualization (!WRITE,VISUAL), and restart files that save the analysis state (!RESTART). The physical quantities included in result files and visualization files are selected with !OUTPUT_RES and !OUTPUT_VIS, respectively.

Overview of Functions

Output settings are easier to organize by considering the following three axes separately.

Axis Main Input Role
Output destination !WRITE,RESULT, !WRITE,VISUAL, !RESTART Determines the type of file in which results are saved for their intended use.
Output variables !OUTPUT_RES, !OUTPUT_VIS Determines the physical quantities included in result files or visualization files.
Output frequency FREQUENCY Determines how many steps elapse between writes to a file.

!WRITE,RESULT enables result files, and !OUTPUT_RES specifies the output variables. !WRITE,VISUAL enables visualization files, and !OUTPUT_VIS specifies the variables passed to visualization. In both cases, the output interval can be controlled by FREQUENCY. !WRITE is a single card, and RESULT / VISUAL / FEMAP can coexist as parameters selecting output destinations.

The data lines of !OUTPUT_RES and !OUTPUT_VIS list output variable names and ON / OFF. Specifying GROUP can restrict the output target by group. See the keyword reference for the specific input syntax and available data lines.

!RESTART saves the analysis state itself, separately from result files and visualization files. Restart files are used to resume an analysis from the same state after interruption.

Choosing Output

Choose the output according to the purpose you want to check first. Use a result file when numerical values will be used for post-processing or another analysis, and use a visualization file when shapes or distributions will be checked with a visualization tool. If the analysis needs to be resumed partway through, enable a restart file separately from normal result output.

Purpose Output to Select Main Specification
Save analysis values for post-processing, comparison, or another analysis Result file !WRITE,RESULT and !OUTPUT_RES
Check distributions and deformed shapes in ParaView or similar tools Visualization file !WRITE,VISUAL, !OUTPUT_VIS, !VISUAL
Resume a long-running analysis partway through Restart file !RESTART
Reduce output size Output only required variables ON / OFF and FREQUENCY in !OUTPUT_RES / !OUTPUT_VIS

In large-scale analyses, saving every step with the default output settings can make result files and visualization files large. Set only the required physical quantities to ON and quantities unnecessary for checking to OFF. If a fine-grained time history is unnecessary, increase FREQUENCY to make the output interval coarser.

A useful order for deciding output variables is "physical quantity to inspect," "output destination," and "frequency." For example, to inspect a stress distribution in ParaView, enable visualization files and select NSTRESS or NMISES with !OUTPUT_VIS. To post-process contact force numerically, enable result files and select CONTACT_NFORCE or similar with !OUTPUT_RES.

Available Physical Quantities

Output variables are divided into structural-analysis, dynamic-analysis, heat-analysis, contact-analysis, element-specific results, and identifying metadata. The table below summarizes the main variable names, types, and analysis types in which they are used. For a complete list of variable names and data-line syntax, see !OUTPUT_RES and !OUTPUT_VIS.

Category Variable Name Type Main Analysis Type Description
Basic structural quantities DISP, ROT, REACTION Vector Static analysis, dynamic analysis Displacement, rotation, and nodal reaction force. ROT is valid for elements with rotational degrees of freedom.
Stress NSTRESS, ESTRESS, ISTRESS Symmetric tensor Structural analysis Nodal-averaged stress, element stress, and integration-point stress.
von Mises stress / principal stress NMISES, EMISES, PRINC_NSTRESS, PRINC_ESTRESS, PRINCV_NSTRESS, PRINCV_ESTRESS Scalar, vector Structural analysis von Mises stress, principal-stress values, and principal-stress directions.
Strain NSTRAIN, ESTRAIN, ISTRAIN Symmetric tensor Structural analysis Nodal strain, element strain, and integration-point strain.
Plastic / thermal strain PL_ISTRAIN, PL_ESTRAIN, TH_NSTRAIN, TH_ESTRAIN, TH_ISTRAIN Scalar, symmetric tensor Nonlinear structural analysis, thermal-stress analysis Equivalent plastic strain and thermal strain.
Principal strain PRINC_NSTRAIN, PRINC_ESTRAIN, PRINCV_NSTRAIN, PRINCV_ESTRAIN Scalar, vector Structural analysis Principal-strain values and principal-strain directions.
Dynamic analysis VEL, ACC Vector Dynamic analysis Nodal velocity and nodal acceleration.
Heat analysis TEMP Scalar Heat conduction analysis Nodal temperature. In heat-analysis result and visualization files, it is output as the temperature field.
Contact CONTACT_NFORCE, CONTACT_FRICTION, CONTACT_RELVEL, CONTACT_STATE, CONTACT_NTRACTION, CONTACT_FTRACTION Vector, scalar Contact analysis Contact normal force, friction force, relative slip velocity, contact state, and contact force per unit area.
Beam element BEAM_NQM 12-component value Structural analysis including beam elements Section forces of beam elements.
Identification / state NODE_ID, ELEM_ID, SECTION_ID, MATERIAL_ID, ELEMACT, YIELD_RATIO Scalar Structural analysis, visualization Identification information for nodes, elements, sections, and materials; element activation state; and yield ratio. ELEMACT outputs 1 for active elements and 0 for inactive (deactivated) elements.
Shell auxiliary information SHELL_LAYER, SHELL_SURFACE Scalar Structural analysis including shell elements Auxiliary information identifying shell-layer output and shell surfaces.

By default, DISP, ROT, NSTRESS, and NMISES are ON. However, whether meaningful values are actually output depends on the analysis type, element type, material model, and contact settings. For example, VEL and ACC are used in dynamic analysis, and CONTACT_* is used when contact information is generated in contact analysis.

Shell-Layer Output

Shell elements have multiple integration points or layers through the thickness, so stress and strain values can differ by layer or surface even within the same element. With only ordinary nodal-averaged values or element values, it is difficult to distinguish which layer or surface a value belongs to.

When SHELL_LAYER is set to ON, results for the + and - sides of each layer of a laminated shell are output separately. The output stress and strain components include identifiers for the layer number and surface side, allowing evaluation of through-thickness stress distributions and damage by layer.

SHELL_SURFACE is auxiliary information for identifying shell surfaces such as the top and bottom surfaces. When visualizing shell-layer results, enable SHELL_LAYER and the required stress/strain variables, and select in the visualization tool the result component corresponding to the target layer or surface.

Because shell-layer output increases the number of output components, file size increases for models with many layers. It is preferable to limit output to the required stress and strain variables.

Output Destinations

Result files and visualization files differ in purpose and storage format. Both can be output in the same analysis, or only one can be output.

Result Files

Result files are enabled with !WRITE,RESULT. Analysis results are saved as FrontISTR / HEC-MW result data and used for numerical post-processing or input to another analysis. Output variables are selected with !OUTPUT_RES.

!WRITE,RESULT is also implemented as the RESULT parameter of the !WRITE card, and is an output-destination option alongside visualization and FEMAP output.

Result files can store displacement, stress, strain, reaction forces, contact information, and other quantities for structural analysis, and temperature fields for heat analysis. The output interval by step is specified with FREQUENCY. See the execution guide for specific file names, locations, and how to check them after execution.

Result files (extension .res) are text data with the following structure. The format version and comment appear first, followed by global variables, and finally output variables for each node and element.

*fstrresult 2.0
*comment
<comment line>
*global
<number of global variables>
<degrees of freedom of global variables>
<names of global variables>
<values of global variables>
...
*data
<number of nodes> <number of elements>
<number of nodal data items> <number of element data items>
<degrees of freedom of nodal data> ...
<names of nodal data>
...
<values of nodal data>
...
<degrees of freedom of element data> ...
<names of element data>
...
<values of element data>
...

Log Files

Log files (extension .log) are summary files that are always output after analysis. In addition to physical quantities for each node and element, maximum/minimum values of displacement, strain, and stress components are output. In modal analysis, eigenvalues and eigenvector values are output. The LOG parameter of !WRITE controls the output contents. See the execution guide for file names and locations.

Visualization Files

Visualization files are enabled with !WRITE,VISUAL. They convert the mesh and result data into a format for visualization tools and output it. Output variables are selected with !OUTPUT_VIS, and the format and visualization conditions are specified with !VISUAL.

!WRITE,VISUAL is not an independent keyword; it is implemented as the VISUAL parameter of the !WRITE card, switching the output destination at the same level as !WRITE,RESULT / !WRITE,FEMAP (fstr_ctrl_get_WRITE in fistr1/src/common/fstr_ctrl_common.f90).

To enable visualization, at minimum the visualization surface and output format must be specified on the !VISUAL card. The following is the minimum data set.

!WRITE,VISUAL
!VISUAL,method=PSR
!surface_num=1
!surface 1
!output_type=VTK

The surface_num and !surface specifications cannot be omitted. See !VISUAL for detailed syntax and available options.

The main visualization formats are as follows.

Format Purpose
VTK Used for visualization in ParaView and similar tools.
AVS (UCD) Used for visualization and data exchange in AVS / UCD format.
BMP Outputs visualization results as images.
NEU Used for data exchange in FEMAP neutral format.

Visualization files are easier for visualization tools to handle directly than result files, but their size increases depending on the selected format and number of variables. For large-scale models, enable only the variables needed for display with !OUTPUT_VIS.

Restart

Restart is a function for saving the internal state at the point where an analysis is interrupted and resuming computation from the same state in the next execution. Ordinary result files are output for post-processing, whereas restart files store state so the solver can continue computation.

When n in !RESTART, FREQUENCY=n is positive, a restart file is written at the specified step interval. When n is negative, an existing restart file is read at execution startup, and thereafter restart files are written using the absolute value |n| as the output interval.

For structural-analysis restart, the current step, substep, cumulative step, time, time increment, load history, displacement, external force, stress and strain at each Gauss point, material internal state variables, contact state, and other data are saved. Dynamic analysis additionally saves the dynamic state required to resume time integration, including velocity and acceleration, strain energy, current time, and time increment. Heat analysis saves the step number, time, and temperature field, and restores the temperature field as the initial state when read.

Write Timing and Resume Behavior for Static-Analysis Restart

For restart in static analysis (fstr_solve_NLGEOM), there are two write paths, and their resume behavior differs.

  • Write during a substep: A file is written within the substep loop when step_count becomes a multiple of FREQUENCY. The recorded time information is saved as the "start time of the current step," and the load list for the previous step accompanies it.
  • Write at the end of a step: A file is always written immediately after the substep loop of each load step completes, regardless of whether the step is a multiple of FREQUENCY. The recorded time information is saved as the "step end time," and the load list for that step accompanies it.

When reading, FrontISTR determines whether the step is complete by whether the recorded "current time" and "reference time" match (fstr_read_restart in fstr_Restart.f90).

State at Write Behavior on Resume
During a substep Continues from the next substep of the same step. It inherits the substep position at the time of writing and executes the remaining substep loop.
End of step Starts from the first substep of the next step. It advances cstep by 1, resets substep=1, and then continues the analysis.

Therefore, even with the same FREQUENCY setting, the step number and time reference after resumption differ depending on when the write occurred (during a substep / at the end of a step). In particular, an end-of-step write is always performed at the end of every step independently of the FREQUENCY setting.

Write Timing and Resume Behavior for Dynamic-Analysis Restart

Time-history dynamic-analysis restart also distinguishes writes during a substep from writes at the end of a step. During a substep, a file is written when the cumulative substep count step_count becomes a multiple of FREQUENCY; at the end of a step, a file is written at the end of that step regardless of FREQUENCY.

When reading, the resume position is restored from the saved step number, substep number, and cumulative substep count. The current format (restart_version >= 5) uses a header common with static analysis and saves the current time, time increment, Newton iteration statistics, and automatic-increment state. This allows dynamic analysis using multiple !STEP cards and automatic increment/cutback to carry over the time reference and time increment after restart. Older dynamic-analysis restart files retain partial read compatibility, but new analyses should use the current format.

Writing !STEP Cards for Restart

When resuming from a restart, FrontISTR reads the !STEP cards in the cnt file as the "sequence of steps to execute after resumption" and always processes them in order from the first (tot_step=1). The step number in the loaded restart information is used to align the cumulative step number shown on screen and does not affect the !STEP index in the cnt file itself. In addition, in the current format, the starttime of each !STEP in the cnt file has the reference time added to it collectively when the restart is read, aligning the timeline to the restart time as its origin.

Therefore, prepare the cnt file for restart according to the following policy.

How the Run Was Interrupted Range of !STEP Cards to Keep in cnt
Written during a substep (step incomplete) Keep the interrupted step first. Follow it with the subsequent unexecuted steps.
Written at the end of a step (step complete) Remove completed steps and place the next step to execute first.

In either case, the basic rule is to remove steps that have already completed from the cnt file. Because the restart time is added automatically to starttime, the cnt file can use a zero origin (or relative step start times). References such as boundary conditions and loads should be retained in the cnt file only for the !STEP cards that remain. The same policy applies to dynamic-analysis restart using multiple !STEP cards.

A typical restart workflow is as follows.

  1. In the initial execution, specify !RESTART, FREQUENCY=n and write a restart file.
  2. In the execution that resumes the analysis, specify !RESTART, FREQUENCY=-n.
  3. FrontISTR reads the restart file at startup and thereafter writes a new state every n steps.

See the execution guide for restart-file naming, placement, and specification at execution. There is also partial read compatibility with older-format files, but new analyses should use the current format.

  • Serial Execution — Basics of file placement and output checking during analysis execution.
  • !OUTPUT_RES, !OUTPUT_VIS — Specification of variables to output to result files and visualization files.
  • !WRITE — Enabling result-file, visualization-file, and log output and specifying output frequency (RESULT / VISUAL / LOG / FEMAP parameters).
  • !VISUAL — Specification of visualization surfaces and output formats (including a minimum data-set example).
  • !RESTART — Specification for reading and writing restart files.
  • Analysis Types — Main result items for each analysis type.
  • Contact and Embedding — Meaning of contact output and handling of contact states.
  • Step Control — Relationship with output steps and time points.