2026/03/20
Added Exodus II as a new output format for visualization files.
Output is performed using the NetCDF library and can be loaded in
post-processors such as ParaView. This feature is available by
specifying WITH_NETCDF=ON at build time.
Changed the integer types used internally in the hecmw_part1
partitioner to 64-bit (size_t, idx_t). This
enables domain decomposition of large-scale models (roughly over 300
million mesh elements) where internal array sizes exceed the 32-bit
limit, even when node and element numbers themselves are within the
32-bit range. The data types in the METIS interface were also unified to
idx_t.
(Issue #733, #63, solver !509)
Changed the input format of !ELEMENT ACTIVATION by
separating the control into three mutually exclusive modes
(MODE=FIXED|AMPLITUDE|DAMAGE). FIXED specifies
a fixed enable/disable state for elements, AMPLITUDE
controls activation via time history, and DAMAGE represents
a one-way transition based on stress/strain thresholds (for
fracture/damage modeling). The old format allowed simultaneous
specification of STATE, DEPENDS, and
AMP, which could lead to meaningless combinations; the new
format eliminates such ambiguity. Additionally, a bug where
stress/strain-dependent element activation did not function correctly
and a typo in the EPSILON parameter of the test set were
also fixed.
(Issue #727, solver !522, document !19)
Replaced inline do-loop vector operations in iterative solver
subroutines other than CG (BiCGSTAB, GPBiCG, etc.) with calls to
BLAS-like subroutines (hecmw_axpy_R,
hecmw_xpay_R, etc.) in hecmw_solver_misc.f90.
This localizes the changes needed for future GPU offloading (OpenACC
directives). OpenMP directive corrections and zero × NaN product
avoidance were also applied.
Moved the element-averaged computation of element equivalent plastic
strain (PL_ESTRAIN) from the visualization function to the
fstr_NodalStress3D function. The computation is now
pre-calculated in the ElementPlstrain_C3 function,
consistent with the handling of other element-averaged quantities
(stress, strain, etc.).
Changed the simulation time output format in VTK files from
TOTALTIME to FieldData TimeValue. This allows
ParaView to correctly recognize and display the simulation time when
loading VTK files.
(solver !524)
Fixed a bug in the Arrhenius law (DEFINITION=ARRHENIUS)
for TRS (thermorheological simplification) where the parameter
mvar(4) used for shift factor calculation was not correctly
set in the analysis control file processing
fstr_ctrl_get_TRS. The parameter reading process was
corrected, and a test case for the Arrhenius law was added. The
documentation typo (ARRHENUS → ARRHENIUS) was
also fixed, and formulation and parameter descriptions were added.
(Issue #484, solver !529, document !21)
Fixed a bug where element equivalent plastic strain (PL_ESTRAIN)
output was zero in regions using smoothed elements
(FORM341=SELECTIVE_ESNS). The plastic strain values at
Gauss integration points are now correctly stored in the smoothed
element structure (gausses%plstrain).
Since v5.7, fstr_solve_dynamic_nlimplicit_contactSLag
has been used in implicit dynamic analysis even without contact.
However, when no contact is present, the CG method was forced in
solve_LINEQ_contact_elim regardless of the user’s iterative
solver setting. This caused non-symmetric problems (e.g., fluid
analysis) to fail. The symmetry check was corrected so that the
user-specified iterative solver is properly used. Message output for
4-DOF problems was also improved.
Fixed a bug where eigenvalues were overestimated in eigenvalue
analysis combining the Selective ES/NS method
(FORM341=SELECTIVE_ESNS) with orthotropic elastic materials
(!ELASTIC, TYPE=ORTHOTROPIC). The cause was that the
hdflag argument for volumetric/deviatoric decomposition was
not passed to calElasticMatrix_ortho, resulting in the full
D matrix always being used and double-counting of volumetric and
deviatoric components. The fix replaces the decomposition with a
compliance-based projector split, which mathematically guarantees the
positive semi-definiteness of Ddev. For isotropic
materials, this coincides with the conventional bulk modulus K and the existing behavior is
unchanged. New SFEM test cases for orthotropic materials (T09–T11) were
added.
(Issue #734, solver !528, document !20)
Fixed a bug where previously specified value arrays were zeroed out
when cards such as !BOUNDARY appeared multiple times in the
analysis control (cnt) file. The same fix was applied to the reading of
!CLOAD, !DLOAD, !TEMP,
!SPRING, !VELOCITY,
!ACCELERATION, and !FLOAD.
With the addition of Exodus II output support, building with
WITH_NETCDF=ON caused /usr/include to be added
to FrontISTR_INCLUDE_DIRS. On systems where an older
version of MUMPS was installed, this resulted in the old MUMPS headers
from /usr/include being included instead of the user-built
newer MUMPS headers, causing a SEGV. The CMake Find modules for Metis,
MKL, MUMPS, NetCDF, etc. were fixed to not add /usr/include
to FrontISTR_INCLUDE_DIRS when the detected path is
/usr/include.
The following CI/CD pipeline issues were fixed:
.gitlab-ci.yml to prevent GitLab
runner from misinterpreting escape sequences (solver !525)We express our gratitude to the following contributors for their contributions to this release: