PhiPsi v1.59.57 (2026-07-15) new features and bug-fixes:
- Added MUMPS and Lis solver support for Linux Alpine version.
- Fixed OpenBLAS thread count mismatch with Key_Num_Process, ensuring solvers respect the specified thread count. Added
-Dopenblas compilation directive.
- Updated MUMPS solver to version 5.9.0 with symmetric matrix support.
- Implemented OpenMP parallelization for 3D XFEM stiffness matrix assembly and SIF calculation (Cal_SIFs_IIM_3D.f90), with significant performance improvement.
- Extended CFCP=1 (maximum circumferential stress criterion) to 3D problems.
- Added energy curve calculation for 2D quasi-static problems (*Key_Cal_Energy, *.ener file) including external work, fracture energy, elastic strain energy, and residual energy.
- Adjusted Kequ_Expected and St_Expected coefficients to improve energy calculation accuracy.
- Added keywords for 2D explicit dynamics: *DY_SIFs_IIM_Enable_Velocity_Coupling, DY_SIFs_IIM_Enable_f1_f2, DY_Save_Propagation_Speed_at_Specified_Tip (.prst), and *DY_Time_to_Active_Crack_Propagation.
- Fixed bugs in Check_Crack_Grows.f90 (missing KII in equivalent SIF calculation) and Cal_SIFs_IIM.f90 (uninitialized variables).
- Fixed frequent errors in 2D crack propagation with Key_Propa_Type=1 by converting fixed-dimension arrays to dynamically allocated ones.
- Migrated all fixed-form (.f) source files to free-form (.f90) across all directories.
- Removed Silverfrost compiler related content and standardized code indentation.
- Added progressive H-tip enrichment for 2D fracture (Key_TipEnrich=5, Asymptotic H function).
- Added keyword *DY_Save_Crack_Length_2D for saving crack length data to *.dcrl and *.dprl files.
- Added keyword DY_Save_SIFs_at_Specified_Tip for saving SIFs at specified crack tips (.sift file) in 2D explicit dynamics.
- Added EDY_Number_Enriched_Nodes_3D.f90 with two-phase stable numbering strategy to fix enriched DOF correspondence issues in 3D explicit dynamics.
- Implemented local L² projection subroutines for history-preserving enriched DOF transfer during crack propagation in 3D explicit dynamics (testing ongoing).
- Added keyword EDY_Save_SIFs_at_Specified_Plane for saving SIFs at intersection points with specified planes (.sfpl file).
- Added keyword EDY_Save_Aperture_at_Specified_Point for saving aperture at user-specified points (.apep file) in 3D explicit dynamics.
- Added keyword *EDY_Crack_Propagaton_at_Specified_Time_and_Speed for crack propagation at specified time and speed.
- Added keyword EDY_Save_SIFs_at_Specified_Point for saving SIFs at user-specified points (.sifp file) in 3D explicit dynamics.
- Improved lumped mass matrix algorithm using Gravouil_2009 equation 41 instead of Menouillard_2006 equation 25.
- Added inertial terms and frictional surface traction terms to interaction integral SIF calculation.
- Added adaptive contact penalty parameter algorithm (Key_EDY_Contact_Penalty_Parameter_Scheme=2).
- Added keyword *Key_EDY_Lumped_Mass_Scheme (default=3) with three options for lumped mass matrix assembly.
- Added keyword EDY_Internal_Force_Scheme with three options including graph coloring for parallel computation.
- Added energy calculation for explicit dynamics (kinetic, internal, total) with Save_EDY_Energy.f90 (*.edye file).
- Improved 3D explicit dynamics FEM by replacing mass matrix with mass vector, reducing computation time by 86.67% and memory usage by 76.07%; further improved using sparse CSR format, reducing time by 50%.
- Added keywords EDY_Data_Save_Interval_Timesteps, EDY_Info_Show_Interval_Timesteps, EDY_Total_Time, and EDY_Force_Time for explicit dynamics control.
- Added keyword *Key_3D_Slip_HF_Keep_Pressure to maintain fluid pressure after each fracturing stage without further propagation.
- Added keyword Key_Save_Stiffness_Matrix for saving stiffness matrix to text files (.csra, *.csrj, *.csri, *.csrn).
- Fixed major bugs in EBE-PCG solver (Ele_by_Ele_FEM_PCG_3D.F90 and Ele_by_Ele_FEM_PCG.F90): corrected constrained DOF processing, switched to true residual norm as convergence criterion, and fixed preconditioner calculation.
- Fixed major bug in Ele_by_Ele_XFEM_PCG_3D.90 by adding Elem_Topology_Markers_3D to determine which XFEM elements need recalculation through topological changes.
- Increased EBE-PCG solver convergence tolerance from 1.0D-6 to 1.0D-9.
- Added keyword *User_Specified_Crack_Mesh_Size for user-defined discrete fracture mesh size for 3D fractures.
- Added keywords *Key_Cracks_InPlane_Growth and *Key_Initiation_3D_Crack_Normal_Vector for 3D crack control.
- Added keyword *HF_Pres_Initial_Guess for 3D hydraulic fracturing.
- Fixed initialization bugs in 3D explicit dynamics (initial velocity, SIF inertial terms, contact force NaN issues).
- Bug fixes and performance optimizations throughout.
PhiPsi v1.58.8 (2026-02-12) new features and bug-fixes:
- Added interaction integral method for 3D stress intensity factor calculation.
- Improved the logic for 2D crack and hole intersection: if a hole is just penetrated by a crack in the current propagation step, it will no longer be checked for new crack initiation in that same step.
- Fixed an issue in Tool_Dis_Point_to_3D_Tri.F and Tool_Dis_Point_to_3D_Tri_only_Dis.F90 where an excessively small tolerance caused failure in calculating the distance from a point to a 3D triangle when dealing with very small elements.
- Added the keyword Key_3D_SIFs_Print to output stress intensity factors at each vertex of 3D problems to the screen.
- Bug fixes.
PhiPsi v1.56.12 (2024-11-17) new features and bug-fixes:
- A new solver STRUMPACK for linear system equations has been added.
- Improved sparse stiffness matrix assembly algorithm.
- Added keyword *Key_User_Defined_2D_Crack_Path. When activated, cracks will propagate along the user-defined paths in 2D analysis.
- The BLAS library has been replaced by OpenBLAS.
- The SuperLU solver for linear system equations has been updated to version 7.0.0.
- Added keyword *Key_Weibull_E_n. When *Key_Weibull_E_n = 1, it activates Weibull distribution for elastic modulus of materials. See PhiPsi keywords manual for details.
- The Lis solver for linear system equations has been updated to the latest version 2.1.6.
- The MUMPS solver for linear system equations has been updated to the latest version 5.7.3.
- Bug fixes.
- A new maximum shear stress fracture propagation criterion was added (*CFCP=4, see PhiPsi keywords manual for details).
- The gfortran compiler has been updated to GCC version 14.1.0.
- Bug fixes and enhancements of 3D XFEM.
- Keywords file now supports parameter definition and four arithmetic operations (+,-,*, and /). See PhiPsi keywords manual for details.
- Now you can start a PhiPsi simulation in Terminal using the following instruction, for example:
PhiPsi_Win64.exe -i XFEM.kpp -n 4
where -n specifies the number of threads for the OpenMP parallel simulation.
PhiPsi v1.55.15 (2023-08-14) new features and bug-fixes:
- Enhancements of 3D XFEM.
- Support output vtk files for 3D cracks (Set *Key_Save_vtk to 1).
- Compiler updated to GCC version 13.1.0.
- New method to calculate 3D crack aperture (Set *Key_Crack_Aperture_Method to 1 to active).
- Support degenerated hexahedral elements.
- Some bugs on data conflicting in OpenMP have been fixed.
- Now supports intersection of arbitrary 3D cracks and the simulation of 3D complex fracture network.
- Add a new linear system solver: PCG-EBE (Set *Key_SLOE to 11).
- Supports simulation of contact between3D crack surfaces.
- Dynamic memory management for 3D XFEM simulation.
- Supports generation of random 3D natural fractures.
- Supports the import of FracMan natural cracks file (*.fab file).
- Bug fixes.
- Optimization.
PhiPsi v1.25.0 (2019-08-01) new features and bug-fixes:
- Kill elements to simulate excavation.
- Bug fixes.
- Optimization.
PhiPsi v1.23.2 (2019-04-16) new features and bug-fixes:
- Propagation of 3D cracks.
PhiPsi v1.21.0 (2018-09-26) new features and bug-fixes:
- A new linear solver SuperLU added.
- README.txt added.
PhiPsi v1.20.2 (2018-09-10) new features and bug-fixes:
- Support field problems with cracks and holes.
PhiPsi v1.19.1 (2018-08-28) new features and bug-fixes:
- Fixes a critical bug on stiffness matrix assembly of different kinds of enriched elements.
- Support random hole generation.
- Support cracks emerged form holes.
PhiPsi v1.18.6 (2018-06-19) new features and bug-fixes:
- Support triangular elements degenerated from quadrilateral elements.
- Improve the interactive display of error and warning information.
- Support nonlinear analysis such as plastic analysis.
PhiPsi v1.17.4 (2018-01-11) new features and bug-fixes:
- Add a linear system solver called Lis which supports OpenMP.
- Computational efficiency optimization (up to 50% as least).
- Add the support for the interactions between cracks and polygonal inclusions.
PhiPsi v1.16.3 (2017-10-31) new features and bug-fixes:
- Add the peridymanic analysis for simple problems.
- Add the support for the random generation of the irregular polygon inclusions.
- Add a new random generation algorithm which is controlled by a seed number.
- Improvements on the save of the binary data.
- Adds a new integration rule, i.e., subquads integration.
- Change the suffix of the keywords file to kpp.
- Add the support for curved cracks.
- Improvement: expand dimensions of related matrices when calculating the B matrix.
PhiPsi v1.13.7 (2017-05-21) new features and bug-fixes:
- Fix the bug in subroutine Get_Node_Stress_XFEM.f.
- Improvements of subroutines Vector_belongs_Matrix_Is_Dou.f, Vector_belongs_Matrix_Is_Int.f, and Matrix_Count_Row_Int.f.
- Rewrite the subroutine Tool_Intersection_Line_and_Circle.f with a totally new scheme.
- Improvement: clear all the results files in the current work directory by setting the keyword *Key_Clear_All to be 1.
- Add the support for the simulation of the intersection of cracks and holes.
- Add the support for the crossing crack.
- Improvement: identify the input parameters of the executable program by using "getarg" function.
PhiPsi v1.9.0 (2017-04-16) new features and bug-fixes:
- Fix a bug for the analysis of the static field problems.
- Add the analysis type for the transient field problems.
- Add the explicit dynamic analysis.
- Enhance OpenMP supports in the following subroutines:
a) Get_Node_Stress_FEM.f
b) Get_Gauss_Stress_FEM.f
c) Assemble_Mass_Matrix_FEM.f
d) Assemble_Stiffness_Matrix_FEM.f
e) Get_Gauss_Disps.f
- Add the molecular dynamics analysis.
- Add the support for the plasticity material and damaged material.
- Add the support for the cohesive crack.
- Improvement: propagation increment is now allowed to be less than the length of an element.
PhiPsi v1.5.3 (2016-11-01) new features and bug-fixes:
- Add 3D XFEM analysis for the simple 3D planar crack.
- Add the support for the coupling of degrees of freedom (DOFs).
- Add the implicit dynamic analysis.
- Add the support the thermal stress.
- Add the support for the Biot consolidation.
- Add the analysis type for the static field problems.