What's new in Zencrack? ~ Details for version 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:
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.
Publications in this field include:
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.
Reference data for this plot is from Figure 9 of:
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.
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.
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.
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:
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.
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.