Агуулгыг алгасах

Translation status

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

FrontISTR v5.9 Release Notes

Release Date

March 20, 2026

What's New

New Features

E-1. Support for Exodus II Output

Added the Exodus II format as an output format for visualization files. Output is performed using the NetCDF library and can be read by post-processors such as ParaView. It can be used by specifying WITH_NETCDF=ON at build time.

(Issue #736, solver !527)

E-2. 64-bit Integer Support for the Partitioner

Changed the integer types used inside the hecmw_part1 partitioner to 64-bit (size_t, idx_t). This makes it possible to partition large-scale models (roughly over 300 million mesh elements) whose internal array sizes exceed the 32-bit limit, even if node and element numbers and counts are within the range of 32-bit integers. The data types in the METIS interface were also unified to idx_t.

(Issue #733, #63, solver !509)

Specification Changes

M-1. Change to the !ELEMENT ACTIVATION Input Format

Changed the input format of !ELEMENT ACTIVATION and split the control into three mutually exclusive modes (MODE=FIXED|AMPLITUDE|DAMAGE). FIXED fixes the activation/deactivation of elements, AMPLITUDE controls it by time history, and DAMAGE represents a one-way transition (for fracture/damage) based on stress/strain thresholds. In the old format, STATE, DEPENDS, and AMP could be specified simultaneously, and meaningless combinations existed, but these are eliminated in the new format. Also fixed an issue where the stress/strain-dependent element activation function did not work correctly, as well as a spelling mistake in the EPSILON parameter in the test set.

(Issue #727, solver !522, document !19)

M-2. Use of BLAS-like Routines in Iterative-Method Subroutines

In the iterative-method subroutines other than the CG method (BiCGSTAB, GPBiCG, etc.), replaced the parts written directly with do loops for vector operations with calls to BLAS-like subroutines in hecmw_solver_misc.f90 (hecmw_axpy_R, hecmw_xpay_R, etc.). As a result, when adding OpenACC directives in the future for GPU support, the places to be modified can be localized. Also fixed OpenMP directives and added handling to avoid zero × NaN products.

(Issue #702, solver !500)

M-3. Reorganization of the Element Equivalent Plastic Strain PL_ESTRAIN Computation

Moved the computation of the element average of the element equivalent plastic strain (PL_ESTRAIN) from inside the visualization function into the fstr_NodalStress3D function. Changed it to a structure where it is precomputed by the ElementPlstrain_C3 function, as with other element average quantities (stresses, strains, etc.), and reorganized the computation.

(Issue #583, solver !517)

M-4. Support for ParaView Time Display in VTK Output

In VTK file output, changed the output format of the simulation time from TOTALTIME to FieldData TimeValue. As a result, the simulation time is now displayed correctly when loading VTK files in ParaView.

(solver !524)

Bug Fixes

B-1. Fix for Shift Factor Computation in the Thermorheological Simplified Arrhenius Law

In the Arrhenius law (DEFINITION=ARRHENIUS) of TRS (thermorheological simplification), fixed an issue where the parameter mvar(4) used for the shift factor computation was not set correctly in the Analysis Control Data file processing fstr_ctrl_get_TRS. Fixed the parameter loading process and added test cases for the Arrhenius law. Also added a documentation spelling correction (ARRHENUS → ARRHENIUS) and descriptions of the formulation and parameters.

(Issue #484, solver !529, document !21)

B-2. Fix for the Issue Where Element Equivalent Plastic Strain Output Becomes Zero in Smoothed Elements

Fixed an issue where the element equivalent plastic strain (PL_ESTRAIN) output became zero in regions using smoothed elements (FORM341=SELECTIVE_ESNS). Made the plastic strain values at Gaussian integration points be saved correctly to the structure of the smoothed element (gausses%plstrain).

(Issue #717, solver !533)

B-3. Fix for the Issue Where the CG Method Is Forced in Implicit Dynamic Analysis Without Contact

Since v5.7, the implicit dynamic analysis method has used fstr_solve_dynamic_nlimplicit_contactSLag even without contact, but there was an issue where the CG method was forced in solve_LINEQ_contact_elim regardless of the iterative solver setting when there was no contact. This had made it impossible to solve asymmetric problems (fluid analysis, etc.). Fixed the symmetry determination so that the iterative solver specified by the user is used correctly. Also improved the message output for 4-DOF problems.

(Issue #721, solver !521)

B-4. Fix for Overestimation of Stiffness in Modal Analysis with Smoothed Elements and an Orthotropic Elastic Material

Fixed an issue where eigenvalues were overestimated in modal analysis combining the Selective ES/NS method (FORM341=SELECTIVE_ESNS) with an orthotropic elastic material (!ELASTIC, TYPE=ORTHOTROPIC). The cause was that the hdflag argument for volume/deviatoric splitting was not passed to calElasticMatrix_ortho, the full D matrix was always used, and the volumetric and deviatoric components were counted twice. The fix replaces it with a compliance-based projector split and mathematically guarantees the positive semidefiniteness of \(D_{\mathrm{dev}}\). For isotropic materials it matches the conventional bulk modulus \(K\), and existing behavior does not change. Added new SFEM test cases (T09–T11) for orthotropic materials.

(Issue #734, solver !528, document !20)

B-5. Fix for Initialization of Boundary Condition and Other Data When Reading cnt Files

In the Analysis Control Data (cnt) file, fixed an issue where the arrays of values written earlier were zero-cleared when cards such as !BOUNDARY were written multiple times. Applied the same fix to the loading processes of !CLOAD, !DLOAD, !TEMP, !SPRING, !VELOCITY, !ACCELERATION, and !FLOAD in addition to !BOUNDARY.

(Issue #719, solver !519)

B-6. Fix for Include Path Settings of External Libraries

With the support for Exodus II output, when building with WITH_NETCDF=ON, /usr/include came to be added to FrontISTR_INCLUDE_DIRS. As a result, in environments where an old version of MUMPS was installed on the system, even when linking to a newly built MUMPS library, the old MUMPS headers in /usr/include were included, causing a SEGV. Fixed the CMake Find modules for Metis, MKL, MUMPS, NetCDF, etc., so that detected paths under /usr/include are not added to FrontISTR_INCLUDE_DIRS.

(Issue #737, solver !534)

B-7. Fix for the CI/CD Pipeline

Fixed the following issues with the CI/CD pipeline.

  • Updated the Docker-in-Docker service to version 28-dind and resolved the API version incompatibility error (Issue #720, solver !520)
  • Changed the MR pipeline from external forks to skip docker push, resolving permission errors to the Container Registry (Issue #732, solver !526)
  • Fixed the sed regular expression in .gitlab-ci.yml and resolved an issue where the GitLab runner misinterpreted escape sequences (solver !525)

Acknowledgments

The following contributors contributed to this release. We thank them for their contributions.

  • inagaki: E-1, E-2, M-1, M-2, M-4, B-1, B-4, B-6, B-7
  • Kazuya Goto: M-2, B-6
  • Kanato Kono: M-2, B-3, B-5, B-7
  • toru ando: M-3, B-2
  • Otasam-ihcada: E-1, M-4
  • morita: M-3
  • Hiroaki Amakawa: B-4