What's New in Zencrack?

Zencrack 9.2-1

The base code for Zencrack version 9.2-1 was finalised on 23 February 2023 and released in March 2023

The highlights for this release are:

  • implementation of K and G forms of the modified Hartman-Schijve equation as standard crack growth law options
  • ability to plot Forman and Hartman-Schijve crack growth curves in the Zencrack GUI.

Modified Hartman-Schijve equation

Recent publications by a number of authors have investigated the Durability and Damage Tolerance (DADT) of additive manufactured (AM) components, cold spray repairs, adhesively bonded joints / repairs and composite materials using a modified version of the Hartman-Schijve crack growth law to incorporate short crack effects. This modified Hartman-Schijve law has also been referred to as a variant of the NASGRO equation.

The modified Hartman-Schijve growth laws, both stress intensity factor and energy formulations, are available in Zencrack 9.2-1 as "built-in" crack growth law options. This simplifies the use of these laws which, for earlier releases, required a user subroutine to define the growth law.

The plot below shows a modified Hartman-Schijve law plotted in the
Zencrack GUI via the new built-in crack growth law option. Curves are
shown for a range of deltaKthr values.

Hartman-Schijve crack growth data
Hartman-Schijve crack growth data

Reference data for this plot is from Figure 9 of:

Characterising and representing small crack growth in an
additive manufactured titanium alloy, Shamir et al, Eng Frac Mech, 253,
(2021), 10.1016/j.engfracmech.2021.107876

Note: this plot extends the y axis range compared to the reference figure.

Publications in this field include:

  • Computing the durability of WAAM 18Ni 250 maraging steel specimens
    Daren Peng, Rhys Jones, Andrew S. M. Ang, Alex Michelson, Victor Champagne, Aaron Birt, Samuel Pinches, Sudip Kundu, Alankar Alankar, Raman R. K. Singh
    Fatigue Fract Eng Mater Struct. 2022; 1-11. DOI: 10.1111/ffe.13828
  • Assessment of mechanical and fatigue crack growth properties of wire + arc additively manufactured mild steel components
    Muhammad Shamir, Victor Igwemezie, Saeid Lotfian, Rhys Jones, Huzaifa Asif, Supriyo Ganguly, Ali Mehmanparast
    Fatigue Fract Eng Mater Struct. 2022; 45 (10): 2978-2989. DOI: 10.1111/ffe.13797
  • Characterising and representing small crack growth in an additive manufactured titanium alloy
    Muhammad Shamir, Xiang Zhang, Abdul Khadar Syed
    Engineering Fracture Mechanics, 253, (2021), DOI: 10.1016/j.engfracmech.2021.107876
  • Computing the Fatigue Life of Cold Spray Repairs to Simulated Corrosion Damage
    Daren Peng, Caixian Tang, Neil Matthews, Rhys Jones, Sudip Kundu, R.K. Singh Raman, Alankar Alankar 4
    Materials 2021, 14, 4451. DOI: 10.3390/ma14164451
  • Additively manufactured Ti-6Al-4V replacement parts for military aircraft
    R. Jones, R.K.S. Raman, A.P. Iliopoulos, J.G. Michopoulos, N. Phan, D. Peng
    Int J Fatigue, 124 (2019), pp. 227-235, DOI: 10.1016/j.ijfatigue.2019.02.041
  • Representing crack growth in additively manufactured Ti-6Al-4V
    R. Jones, J.G. Michopoulos, A.P. Iliopoulos, R.K. Singh Raman, N. Phan, T. Nguyen
    Int J Fatigue, 116 (2018), pp. 610-622, DOI: 10.1016/j.ijfatigue.2018.07.019

Plotting of material da/dN crack growth data

The Forman and all Hartman-Schijve growth law types are added to the existing growth law plotting option in the GUI which previously supported Paris and Walker laws.

The variables allowed for growth law plots in the GUI are extended to include G terms (for the G-based modified Hartman-Schijve law), Kmax (for K-based laws) and the Schwalbe parameter.

Information about growth law plots is reported to the GUI log file.

Material plotting screen with new plot variables
Material plotting screen with new plot variables

Example of Forman and Hartman-Schijve plots
Example of Forman and Hartman-Schijve plots

Additive manufacturing example

These plots are from a crack growth analysis using the remeshing method for a model of an additive manufactured test specimen (i.e. having an irregular external surface). The specimen has been analysed using the modified Hartman-Schijve growth law.

Cracked mesh after multiple crack growth steps using the remeshing capability
Cracked mesh after multiple crack growth steps using the remeshing capability

Calculated profiles superimposed on a cracked mesh
Calculated profiles superimposed on a cracked mesh

Zencrack changes

The values of the NEGATIVE R parameter on *CRACK GROWTH DATA are changed to enable more general use with K and G-based growth laws. The previous DeltaK and Kmax parameter values are now Delta and Max.

A new threshold option, TYPE=delta sqrt(G)th, is added for G-based fatigue growth laws.

User subroutines for fatigue and time threshold (user_threshold_fatigue and user_threshold_time) are modified to allow G-based or Ct-based return values. The material id is also passed into these subroutines to improve their use in multi-material models.

A new ***INFORMATION table is added to the .rep file to report the internal material id (as used in some user subroutines) and the name of the associated material.

New utility functions utility_material_id_from_name() and utility_material_name_from_id() are added to allow access to material id and name lookups from within user subroutines.

A change is made to the interaction between the crack growth law, threshold and failure values. Now, if the crack growth law is K-based, the threshold and fracture toughness values must be K terms. If the growth law is G-based the threshold and fracture toughness terms must be G terms. The exception is in the use of user subroutines where it is possible, with care, to mix K and G-based data.

Changes are made to cater for the use of fracture toughness as a G term rather than a K term for G-based growth laws. Previously the fracture toughness values were always assumed to be K terms.

As a result of the above changes, the threshold and fracture toughness in the input checking phase are reported in more detail than before as the type of parameter must be consistent with the primary parameter of the growth law.

The various user subroutines that return da/dn or da/dt and the ones that return threshold include a check for the returned value being -ve. But there was previously no check for the returned value being NaN. If this happens it can make the integration scheme continue indefinitely because no growth or cycles/time get added and the integration termination conditions are never satisfied. As well as new NaN checks, the existing -ve value checks are made more consistent.

The tangents and normals at the crack front that are sent to the remeshing process are more consistent with the current crack profile. This can lead to better definition of the ring elements. Previously the tangents and normals were carried over from earlier calculations and could be insufficiently accurate in cases where the crack shape changed significantly from one profile to the next.

For a remeshing embedded crack the tangents and normals at the ends of the crack are now made consistent (i.e. previously the two ends of the crack front definition, while at the same physical position, had tangent and normal definitions that were different - those values are now averaged and applied to the two end node positions).

Zencrack GUI changes

Header and footer comments are enabled on the tabs on the GUI Material screen to allow on-screen hints to be included.

Various threshold and basic material options on the GUI screens are enabled or disabled depending upon the selected growth law and retardation status.

The licensed company name is shown in the GUI status bar and reported to the log file.

The About box includes the company name, license type and information about the license server or nodelocked host being used.

Links are added to the Help drop-down menu for the Zencrack web page and Zencrack license terms.

The import option for splines on the Display Tab now offers a range of file type filters, defaulting to *.spl.

The title bar on several file selection screens has been updated to better clarify why a file is being chosen (e.g. 'selection' of a user subroutine, 'opening' of a mesh file).

The 'Close window on completion' option on the Run Zencrack screen is not currently relevant on Linux as any job that is executed runs in the same terminal window that was used to launch the GUI. That option is now removed from the screen on Linux. Also, that option is no longer shown for the Preview run type on Windows as the preview never launches a separate window.

Remeshing changes

The remeshing process now checks the available disk space before remeshing starts and before tet mesh generation during remeshing. If the available disk space is low the process could fail in a way that does not always make it clear that disk space was the issue. To prevent this, the process will now stop if available disk space is below a specific limit - the default is 0.5GB on the disk partition containing the job files. Parameters WarnFreeGB and ErrorFreeGB in the zencrack_gui.ini file can be used to specify the limits for disk space warnings and to stop remeshing respectively. The warning and error checks can also be disabled via these parameters by setting their values to zero.

A change is made to the control of the tet meshing process. If this process appears to take too long or to hang, there are now controls to terminate the process instead of waiting indefinitely for the process to complete. These controls are hard coded in this version:

  • The elapsed time after which a still-running tet meshing process is terminated is 18000 seconds (5 hours).
  • The percentage CPU usage limit below which the tet meshing process is deemed to have hung is 0.01%.
  • The tet meshing process is terminated if 5 consecutive checks of the process have CPU usage below this CPU limit. Checks are made every 5 seconds.

Abaqus interface

In crack-block models where both sides of a crack front are modelled there were previously a small number of surface nodes with two *NORMAL definitions in the contour integral region. Abaqus would use only one of the definitions. Abaqus version 2023 treats multiple *NORMAL definitions at a node in the contour integral region differently than previous Abaqus versions if virtual crack extensions are out of the local crack plane. This results in very small numerical differences for some models between Abaqus 2023 and previous versions. These small numerical differences are not enough to change the overall global behaviour of a growth run. In version 9.2-1 all surface nodes in the contour integral region requiring a *NORMAL definition have a single definition giving consistency between Abaqus 2023 and previous versions.

Ansys interface

Prior to version 9.2-1, if an Ansys uncracked mesh was missing the /SOLU and/or SOLVE commands the cracked mesh was generated and Ansys executed but Ansys had nothing to solve. The end of the .rep file reported a generic 'no results' message but there was no specific warning at the end of the file about these required commands being missing from the uncracked mesh. From version 9.2-1 the analysis stops with an error before Ansys execution if /SOLU and/or SOLVE are missing.

There is no longer an attempt to process displacement and contour integral results for a pure thermal run.

The element shape factor is processed by the Ansys mesh converter when converting EBLOCK data that includes the SOLID parameter.


From version 9.2-1 the documentation is moved to a different underlying system to improve ease of updates. A nomenclature section is added to the User Manual. There are minor layout changes and improvements across all documents though the number of manuals and their basic content is essentially the same as for version 9.0-1 and 9.1-1.