Error Message List¶
This page organizes representative error messages output by FrontISTR by category and provides a reference table showing likely causes and directions for corrective action. It does not cover every internal message; it focuses on messages commonly encountered when using hecmw_part1 and fistr1.
When a message is displayed, first check whether it has a code and identify its prefix. Then use the table for the relevant category to determine whether to review the input file, mesh, element, solver, contact, convergence, or memory settings.
How to Read Messages¶
FrontISTR messages include coded messages originating from the HEC-MW library and uncoded messages output directly by fistr1. For coded messages, the prefix indicates the originating module and severity.
| Format | Example | How to read |
|---|---|---|
| HECMW-XXX-EYYYY | HECMW-IO-E1014 | An error from the HEC-MW library. XXX identifies the submodule, E means Error, and YYYY is the message number. |
| HECMW-XXX-WYYYY | HECMW-PART-W0401 | A warning from the HEC-MW library. W means Warning. |
| No code | Number of substeps reached max number |
Mainly output directly by fistr1 through STOP, call hecmw_abort, write(*,*), and similar paths. |
Numbers or strings shown at the end of a message may be runtime information such as a file name, material number, element number, substep number, or internal flag. The trailing values of the same representative message can vary between analysis cases.
Input Parsing Errors¶
Input parsing errors occur while reading control files, mesh data, material definitions, restart specifications, and similar input. For this type of error, check the file name, keyword name, material name, and group name that were being read immediately before the error.
| Message or Code | Main Cause | Recommended Action |
|---|---|---|
Cannot open FSTR control file |
The control file or an input file specified by !INCLUDE cannot be opened. |
Check the execution directory, file name, relative path, and access permissions. |
material property not defined! |
A material referenced by the analysis is not defined with !MATERIAL. |
Make the material name referenced by !SECTION match the !MATERIAL name in the control file or mesh data. |
Error in material property definition! |
The material ID, number of material definitions, or their reference relationships are inconsistent. | Check the material number, number of material definitions, and references from !SECTION. |
ERROR: Material type not supported |
An unsupported TYPE is specified for a material keyword. |
For !ELASTIC, !HYPERELASTIC, !PLASTIC, and !VISCOELASTIC, check the corresponding TYPE. |
We cannot deal with incompressible material currently |
A fully incompressible material with a Poisson ratio of 0.5 is specified. | Change the Poisson ratio to less than 0.5 and review the element formulation if necessary. |
Mohr-Coulomb and Drucker-Prager do not support temperature dependency |
A temperature-dependent table is specified for Mohr-Coulomb or Drucker-Prager. | Use a definition without temperature dependence, or select a material model that supports temperature dependence. |
Multilinear hardening: Error in plastic strain definition |
Plastic strain for multilinear hardening is not defined monotonically. | Set the first plastic strain to 0 and revise the table so that plastic strain increases. |
HECMW-IO-E1012 Element doesn't have section |
No section information corresponds to the element. | Check the element-group specification in !SECTION and the element groups in the mesh. |
HECMW-IO-E1013 Cannot set section |
The section cannot be assigned to the element. | Check consistency of the section type, material name, and element group name. |
HECMW-IO-E1014 No nodes defined |
No node definitions are present. | Check that the mesh data contains a node block. |
HECMW-IO-E1015 No elements defined |
No element definitions are present. | Check that the mesh data contains an element block. |
HECMW-UTIL-E0040 !RESTART: Invalid token in control file |
The !RESTART syntax is invalid. |
Check delimiters, parameter names, and values on the !RESTART line. |
HECMW-UTIL-E0041 !RESTART: Missing NAME |
!RESTART does not contain NAME. |
Specify the restart data name. |
HECMW-UTIL-E0042 !RESTART: Missing IO |
!RESTART does not contain IO. |
Add the read/write specification. |
Mesh and Element Errors¶
Mesh and element errors occur when the combination of element type and function, reference nodes, local coordinate system, or element type used for a contact surface is inappropriate. Check not only the input syntax but also element-shape quality and node ordering.
| Message | Main Cause | Recommended Action |
|---|---|---|
##Error: This element type is not supported in contact analysis !!! |
An element type unsupported for contact analysis is specified for a contact surface. | Review the element type used for the contact surface and the surface definition. Check whether higher-order or special elements are being used on the contact surface. |
Bad reference for beam element! |
The reference node or reference direction of a beam element is invalid. | Check the beam element reference node, local coordinate system, and overlapping nodes. |
Fail to setup local coordinate |
The element local coordinate system cannot be constructed. | Check for collapsed element geometry, node ordering, duplicate nodes, and the reference coordinate system. |
Failure to set up a local coordinate system depends not only on input values but also on mesh quality. In particular, check for extremely small elements, elements with area or volume close to zero, and elements with reversed node ordering.
Solver-related Errors¶
Solver-related errors occur due to invalid linear-solver settings, factorization failures in a direct method, matrix singularity, missing links to external libraries, and similar causes. Check whether the log immediately before the analysis stopped contains information about the iterative method, direct method, contact degrees of freedom, MPC, or related items.
| Message | Main Cause | Recommended Action |
|---|---|---|
ERROR ordering option for direct solver out of range |
The ordering specification for the direct solver is out of range. | Check the direct-solver ordering setting in !SOLVER. |
ERROR in symb. fact. flag: Should be 1 or 0 |
The symbolic factorization flag is neither 0 nor 1. | Check the specified value of the internal direct-solver flag. This setting is normally not changed directly by user input. |
ERROR in numer. fact. flag: Should be 1 or 0 |
The numerical factorization flag is neither 0 nor 1. | Check the specified value of the internal direct-solver flag. |
ERROR in nufct0. ir = |
Numerical factorization in the direct method has failed. | Check for insufficient constraints, rigid-body modes, abnormal material constants, contact conditions, and MPC conditions. |
error in nusol0. irr = |
Back substitution in the direct method has failed. | As with a numerical factorization failure, check whether the linear system is singular or inconsistent. |
METIS not available |
METIS-based ordering is specified, but the build does not include METIS support. | Change to a setting that does not use METIS, or rebuild with METIS support. See Required and Optional Dependency Libraries for dependency libraries. |
Direct-method factorization can fail not only because of solver settings but also because of rigid-body motion of the model, insufficient constraints, duplicate constraints, extreme material constants, or inconsistent contact conditions. Returning the constraints and loads to a simple case and checking whether the linear system can be solved in a minimal configuration can help isolate the cause.
Contact Analysis Errors¶
Contact-analysis errors occur due to inconsistencies between contact pairs and surface groups, geometric singularities during contact search, mismatched surface element types, or insufficient memory for contact search. For contact errors, check the slave and master group names, the element type of the contact surface, initial penetration, and the normal direction of the contact surface.
| Message | Main Cause | Recommended Action |
|---|---|---|
Inconsistence in contact and surface definition |
The surface group or contact pair referenced by !CONTACT or !EMBED is inconsistent. |
Check the contact-pair name, surface-group name, and existence of the node and surface groups. |
error in contact state |
Contact-state data does not reference a valid contact surface. | Check the contact-surface definition, initial contact state, and the step in which the contact pair is activated. |
Math error in contact searching |
A singular state has occurred during projection of the contact point. | Check the contact-surface geometry, node placement, initial penetration, and extreme deformation. |
Error in calculate DispIncreMatrix |
The displacement-increment matrix on the contact surface cannot be calculated. | Check that the contact-surface element geometry has not collapsed and that the node ordering is correct. |
Error: cal_node_normal: invalid isin / Error: cal_node_normal: invalid isin_n |
During node-normal calculation, the node is not at the expected contact-surface position. | Check the surface definition, contact-surface orientation, and slave/master specification. |
type of surface element not defined |
The surface element type cannot be identified. | Check the element type and face number specified for the contact surface. |
Allocation error: bktdb%buckets |
Memory allocation for the bucket array used in contact search has failed. | Review the number of contact surfaces, mesh density, number of subdomains, and available memory. |
If a contact-related error appears immediately after input is read, a mismatch in contact-pair or surface-group names is a primary candidate. If it appears during nonlinear iterations, the contact surface may have become severely distorted, the initial penetration may be too large, or the time increment may be too large.
See Contact and Embedding for guidance on selecting contact types and contact algorithms.
Convergence and Cutback Errors¶
Convergence and cutback errors occur when a substep cannot be advanced in nonlinear static analysis. Common causes include contact engagement or separation, rapid progression of yielding, large deformation, inconsistent constraints, and excessively large load increments.
| Message | Main Cause | Recommended Action |
|---|---|---|
Number of successive cutback reached max number |
Repeated cutbacks caused by convergence failures have reached the maximum number of consecutive failures. | Reduce the initial time increment. Review the cutback reduction factor and consecutive-failure limit in AUTOINC_PARAM. Check the validity of the contact, material, and boundary conditions. |
Number of substeps reached max number |
The maximum number of substeps was reached before the step completed. | Increase SUBSTEPS. Reduce the load or time increment. Add output times or divide the step at times where the nonlinearity changes abruptly. |
When convergence fails, simply increasing the solver's maximum iteration count may not resolve the root cause. Applying the load in stages and checking reproducibility with simplified contact conditions or material nonlinearity can help isolate the cause.
Boundary Condition Errors¶
Boundary-condition errors occur when a specification in the control file violates a functional constraint. For rotational boundary conditions, using a total-value specification in the same manner as a displacement constraint causes an error.
| Message | Main Cause | Recommended Action |
|---|---|---|
Error: rotational boundary cannot be specified with total value |
A total-value specification (TOTAL=YES) is used for a rotational constraint. |
Use an incremental specification for rotational constraints. Change the boundary-condition definition to omit TOTAL=YES. |
fstr control file error : !BOUNDARY : rotational boundary cannot be specified with total value |
The same constraint violation is detected while reading the control file. | Check the rotational-constraint line in !BOUNDARY and the TOTAL specification. |
Rotational constraints and rotational loads also depend on the element type and degree-of-freedom configuration. When using elements with rotational degrees of freedom, such as beams and shells, check both the boundary-condition degree-of-freedom number and the target node group.
Domain Decomposition (hecmw_part1) Errors¶
Errors from hecmw_part1 are output as codes beginning with HECMW-PART. For domain decomposition, check in order the presence of the input file, required parameters of !PARTITION, constraints on the partitioning method and number of domains, and consistency of the user-specified part file.
| Code Range or Representative Code | Main Cause | Recommended Action |
|---|---|---|
| HECMW-PART-E0001–E0006 | Basic errors related to file operations, file names, EOF, or arguments. | Check that the specified file exists, the file-name length, the end of the input file, and command arguments. |
| HECMW-PART-E0101 | The control file contains an invalid token. | Check the syntax of the !PARTITION line and partition-direction specification line. |
HECMW-PART-E0111 'TYPE' must not be omitted |
TYPE is not specified. |
Specify a partition type such as !PARTITION, TYPE=NODE-BASED. |
HECMW-PART-E0121 'METHOD' must not be omitted |
METHOD is not specified. |
Specify METHOD=RCB, METHOD=PMETIS, METHOD=KMETIS, or another applicable method. |
HECMW-PART-E0131 'DOMAIN' must not be omitted |
The number of domains is not specified. | Set DOMAIN to a positive integer corresponding to the number of MPI processes. |
HECMW-PART-E0134 'METHOD' is 'RCB', but 'DOMAIN' is not n-th power of 2 |
With the RCB method, the number of domains is not \(2^n\). | When using RCB, set the number of domains to \(2^n\). If an arbitrary number of domains is required, consider a METIS-based method. |
| HECMW-PART-E0201–E0206 | The partition type, partitioning method, element type, partition direction, number of domains, or overlap depth is invalid. | Check TYPE, METHOD, DOMAIN, DEPTH, and the partition-direction specification. |
| HECMW-PART-E0301–E0331 | A domain number, node count, element count, or adjacent-domain count in the partitioned data is out of range. | Check consistency among the input mesh, user-specified part file, and number of partitions. |
| HECMW-PART-E0601–E0606 | The user-specified part file contains an empty domain, invalid format, or mismatched numbers of nodes, elements, or domains. | Check the part-file format and its consistency with the mesh. |
HECMW-PART-W0401 EQUATION_BLOCK not found |
Warning that EQUATION_BLOCK was not found. |
If required for an analysis using MPC, check the corresponding block. If it is not required, execution can continue. |
HECMW-PART-W0502 Log file for partitioner already initialized |
Log initialization has been called more than once. | Normally treat this as a warning and check whether a fatal error follows immediately afterward. |
See Domain Decomposition for the concept of domain decomposition and selection of partitioning methods. See the execution guide for specific parallel-execution procedures.
Memory Allocation Errors¶
Memory allocation errors are output when arrays or work areas cannot be allocated. Memory usage increases for large meshes, models with many contact surfaces, direct methods, and analyses with many output variables.
| Message | Main Cause | Recommended Action |
|---|---|---|
stop due to allocation error <FSTR_SOLID, TEMPERATURE> |
Allocation of the temperature array has failed. | Check the number of nodes, temperature degrees of freedom, thermal-stress settings, and available memory. |
stop due to allocation error <FSTR_SOLID, GL> |
Allocation of a global array for structural analysis has failed. | Review the model size, number of subdomains, analysis type, and output items. |
Allocation error: bktdb%buckets |
The bucket array for contact search cannot be allocated. | Review the number of contact surfaces, mesh density, number of contact pairs, and domain decomposition. |
ALLOCATION ERROR, ... |
A work array for the direct method or ordering process cannot be allocated. | Consider switching from a direct method to an iterative method, adjusting the number of subdomains, or increasing the allocated memory. |
If insufficient memory is suspected, first check whether the direct method can be changed to an iterative method. If a direct method must be used, consider reducing the model size, reducing the number of output variables, adjusting the number of subdomains, or increasing the memory allocated to the job.
Restart Errors¶
Restart errors occur because of invalid !RESTART syntax, missing required parameters, or inconsistency between the file being read and the current analysis conditions. When using restart, the mesh, number of subdomains, analysis type, and step information must be consistent between the analysis that wrote the restart data and the analysis that reads it.
| Code | Main Cause | Recommended Action |
|---|---|---|
HECMW-UTIL-E0040 !RESTART: Invalid token in control file |
The syntax of the !RESTART line is invalid. |
Check parameter names, delimiters, and value formats. |
HECMW-UTIL-E0041 !RESTART: Missing NAME |
NAME is not specified. |
Specify the restart data name. |
HECMW-UTIL-E0042 !RESTART: Missing IO |
IO is not specified. |
Add the read/write specification. |
If reading restart data fails, check not only the restart file name but also the mesh, number of MPI domains, step settings, and restart version at the time of writing and reading. See Output and Restart for an overview of the restart function.
Related Topics¶
- Solver and Preconditioning — Background for solver-related errors.
- Domain Decomposition — Background for
hecmw_part1-related errors. - Output and Restart — Checking restart specifications and output files.
- Required and Optional Dependency Libraries — Dependency libraries such as METIS and build settings.