- Software
- Zencrack Support
- F.E. Interfaces Support
Finite element interface to Abaqus
F.E. Interfaces Support
Finite element interface to Abaqus
This page gives information on the interface to Abaqus that may help in running jobs and improving the performance you obtain with this interface. Some key items that you may have missed in the user manual are also included.
Releases of Abaqus that are made after a Zencrack version is released cannot be guaranteed to be compatible. Known incompatibilities of this type, for example due to changes in the Abaqus version naming structure, are listed below.
Which versions of Abaqus is Zencrack interfaced to?
Zencrack is interfaced to Abaqus/Standard. Testing has been conducted up to and including Abaqus/Standard 2024.
The Dassault Systèmes knowledge base includes known issues in Abaqus. Reference to any such issues are limited on this page to known cases where a Zencrack analysis that ran in one Abaqus version may have problems in a later Abaqus release.
Using multiple CPUs for Abaqus jobs executed by Zencrack
For Zencrack 7.7 onwards there are two ways that the number of processors for Abaqus jobs executed by Zencrack can be specified:
- Variable ZCR_OPTIONS_ABAQUS in the zencrack.ini file (or OPTIONS_ABAQUS for 7.7 and 7.8 in the runzcr script file) can be used to define parameters passed to the Abaqus command line for all Zencrack jobs. The cpus option can be added to this parameter. Refer to the file itself (located in the Zencrack tools folder) or the Installation And Execution Manual for more information about this variable.
- The command line option "-fe" can be used when executing a
Zencrack job. This defines parameters to be passed to the Abaqus command
line for that particular Zencrack job. The parameters should be
surrounded by quotes. For example, to use 4 processors:
runzcrXX -j jobname -fe "cpus=4"
From version 7.9, this command line option can be used when a job is started from the "Run Zencrack" screen of the Zencrack GUI.
If the cpus parameter is defined using both methods, the command line value takes precedence.
Note that from version 7.9-3 the Zencrack setup program requests information about the number of processors and configures the zencrack.ini file accordingly during the installation process.
Level of precision for contour integrals and stress intensity factors
Zencrack has three methods for extracting results from Abaqus:
- Extract results from the Abaqus .odb file - this is the default (and recommended) method.
- Extract results from the Abaqus .dat file - this can have limited precision.
- Extract results from the Abaqus .fil file - this requires the use of a supplied Abaqus user subroutine, URDFIL, and hence a Fortran compiler must be installed.
In version 7.8 and all earlier releases the default option for extracting contour integral results and nodal displacements from an Abaqus analysis was that the values were taken from the .dat file. However, these values have limited precision. In particular, in a model with both sides of the crack included, it may be that the global displacements near the crack are several orders of magnitude greater than the local crack opening displacements. In such cases the displacement values extracted from the .dat file may be of insufficient precision to allow the local crack opening displacements to be calculated accurately. This results in poor values for the stress intensity factors calculated from the displacements.
In Zencrack 7.8, an option was introduced to extract results from the .odb file. This was the recommended method in version 7.8 and is the default method from version 7.9.
To use results from the .odb file (see also the note below about Abaqus 6.14):
- This is the default in version 7.9 (and later) so no option needs to be given in the input file.
- Specify RESULTS=odb on the ENERGY RELEASE RATE keyword to explicitly request this method.
- This method requires no additional input and has the benefits of sufficient precision compared to the .dat file method and no requirement for a user subroutine compared to the .fil method.
To use results from the .dat file:
- Specify RESULTS=dat on the ENERGY RELEASE RATE keyword.
- This is the default in version 7.8 (and earlier) so the option does not need to be given in the input file.
- This method requires no additional input but provides limited precision compared to the other methods.
To use results from the .fil file:
- Specify RESULTS=fil-user on the ENERGY RELEASE RATE keyword.
- Specify an Abaqus user subroutine by using the USER keyword
- Ensure that the subroutine contains the URDFIL coding supplied with Zencrack. This is located in the installed file "fe_abaqus\zcr-fil.for". If no other user subroutine coding is used for the analysis, you can simply copy the zcr-fil.for file to the local job directory. The USER keyword would then be *USER, FILE=zcr-fil.for.
- Note that the .for extension is .f for Linux installations.
Using Zencrack 9.3-1 (or earlier) with Abaqus 2024 (or later) - extracting Abaqus results from the .odb file
The recommended (and default) method for Zencrack to extract results from an Abaqus analysis is via the .odb file. This method uses a supplied Python script, zcr-odb.py, located in the fe_abaqus folder of the Zencrack installation.
The version of the script supplied with Zencrack up to and including version 9.3-1 is written with Python 2 syntax. Due to the change of the underlying Python version used in Abaqus 2024 to Python 3, the script is unable to extract results from the Abaqus .odb file when using Abaqus 2024.
The script can be updated to be compatible with Python 2 and Python 3 by using the script update utility supplied with Abaqus 2024:
- Start a command prompt
- cd to the fe_abaqus folder of the Zencrack installation (e.g. the default on Windows is C:\Zencrack\<version>\fe_abaqus)
- Execute the command: abaqus python -m abqPy2to3 zcr-odb.py
This process saves the original script as zcr-odb.py.1 and updates zcr-odb.py.
The updated script may be used with Abaqus versions 2021 and later. For Abaqus versions 2020 and earlier, the original script must be used.
Users with support may alternatively contact us for an updated version of zcr-odb.py.
Information on the change of Python version and the abqPy2to3 script
can be found in the Abaqus 2024 documentation:
Scripting > What's
New > 2024GA.
Using Zencrack 8.3-1 (or earlier) with Abaqus 2022 (or later) - extracting Abaqus results from the .dat file
The recommended (and default) method for Zencrack to extract results from an Abaqus analysis is via the .odb file.
This issue applies if the option to extract results from the .dat file is used (*ENERGY RELESAE RATE, RESULTS=dat).
Due to a re-ordering of output tables in the Abaqus 2022 .dat file, versions 8.3-1 and earlier of Zencrack hang indefinitely during the extraction of results from the .dat file.
Results should instead be extracted from the .odb file.
Using Zencrack 8.3-1 (or earlier) with Abaqus 2020 (or later) - locating the Abaqus executable
This issue applies to Abaqus 2020 (or later) when used with Zencrack 8.3-1 (or earlier).
Due to changes in the default installation location introduced with the release of Abaqus 2020 the location cannot be automatically detected during setup of Zencrack 8.3-1 or any earlier versions. At installation time Abaqus should not be configured. After installation the settings should be applied manually by editing the tools\zencrack.ini file as indicated below.
Zencrack 8.3-1 to 8.0-1
The ZCR_ABAQUS and ZCR_ABAQUS_VER entries in the [ABAQUS] section of the zencrack.ini file should be set manually - they cannot be set during installation or subsequently by the "runzcr8x setup" command. ZCR_ABAQUS must point to the ABQLauncher.exe file in the appropriate Abaqus folder for versions 2020 and 2021 or to SMALauncher.exe for Abaqus 2022 (or later). The Abaqus version defined by ZCR_ABAQUS_VER should be set to 2020, 2021, 2022, 2023 or 2024. If the Abaqus location contains spaces, double quotes should be included around the definition of ZCR_ABAQUS.
For example, for 64bit Windows with Abaqus in the default location the [ABAQUS] section in the zencrack.ini file for Abaqus 2020 to 2024 includes one of:
ZCR_ABAQUS = C:\SIMULIA\EstProducts\2024\win_b64\code\bin\SMALauncher.exe ZCR_ABAQUS_VER = 2024
ZCR_ABAQUS = C:\SIMULIA\EstProducts\2023\win_b64\code\bin\SMALauncher.exe ZCR_ABAQUS_VER = 2023
ZCR_ABAQUS = C:\SIMULIA\EstProducts\2022\win_b64\code\bin\SMALauncher.exe ZCR_ABAQUS_VER = 2022
ZCR_ABAQUS = C:\SIMULIA\EstProducts\2021\win_b64\code\bin\ABQLauncher.exe ZCR_ABAQUS_VER = 2021
ZCR_ABAQUS = C:\SIMULIA\EstProducts\2020\win_b64\code\bin\ABQLauncher.exe ZCR_ABAQUS_VER = 2020
Zencrack 7.9-x and 7.8-x
These versions have not been tested with Abaqus 2020 (or later). However, the issues are expected to be similar to those described in the section "Using Zencrack 7.9-3 (or earlier) with Abaqus 2016 to 2019" (including issues related to extraction of results). ZCR_ABAQUS and ZCR_ABAQUS_VER entries should be set to point to the appropriate Abaqus .exe file (as noted above) with the version set to 6.202x.
Using Zencrack with Abaqus 2019 - node-to-surface crack face contact
Abaqus analyses that use node-to-surface crack face contact and request contour integral evaluations may produce an error in Abaqus 2019. In earlier versions of Abaqus the same input runs successfully. This may be an issue in Abaqus 2019 if the Zencrack *CONTACT option is used to generate crack face contact. The simplest workaround is to use Abaqus 2018.
The Dassault Systèmes bug reference for this issue is BR10000269341.
Using Zencrack 7.9-3 (or earlier) with Abaqus 2016 to 2019 - locating the Abaqus executable, extracting Abaqus results
Note: Some of the examples in this section are written for Abaqus 2016 but also apply to versions 2017, 2018, 2019 - simply replace 16 with 17, 18 or 19. These issues are resolved from Zencrack version 8.0 onwards.
Due to changes in the version numbering and default installation location for Abaqus 2016 there are several issues related to using Zencrack 7.9-3 and earlier with Abaqus 2016. The following notes for version 7.8 and 7.9 will allow those program versions to be used with Abaqus 2016.
Zencrack 7.9-3 to 7.9-1
The ZCR_ABAQUS and ZCR_ABAQUS_VER entries in the [ABAQUS] section of the zencrack.ini file should be set manually - they cannot be set during installation or subsequently by the "runzcr79 setup" command. ZCR_ABAQUS must point to the abqlauncher.exe file in the appropriate Abaqus folder. The Abaqus version defined by ZCR_ABAQUS_VER should be set to 6.2016. If the Abaqus location contains spaces, double quotes should be included around the definition of ZCR_ABAQUS. For example, for 64bit Windows with Abaqus in the default location the [ABAQUS] section includes:
[ABAQUS] ZCR_ABAQUS = "C:\Program Files\Dassault Systemes\SimulationServices\V6R2016x\win_b64\code\bin\abqlauncher.exe" ZCR_ABAQUS_VER = 6.2016
Zencrack 7.8-4 to 7.8-1
The ZCRABAQUS and ZCRABAQUSVER entries in the runzcr78 batch/script file should be set manually - they cannot be set during installation. ZCRABAQUS must point to the abqlauncher.exe file in the appropriate Abaqus folder. The Abaqus version defined by ZCRABAQUSVER should be set to 6.2016. If the Abaqus location contains spaces, double quotes should be included around the definition of ZCRABAQUS (but note that 7.8-1 and 7.8-2 do not support spaces in the Abaqus folder name - bug zencr411). For example, for 64bit Windows with Abaqus in the default location:
set ZCRABAQUS="C:\Program#Files\Dassault#Systemes\SimulationServices\V6R2016x\win_b64\code\bin\abqlauncher.exe" set ZCRABAQUSVER=6.2016
Versions 7.8-1 and 7.8-2 will work if Abaqus is installed into a top level folder with no spaces. Then:
set ZCRABAQUS=top level folder\SimulationServices\V6R2016x\win_b64\code\bin\abqlauncher.exe set ZCRABAQUSVER=6.2016
Extraction of results from the .odb file
There are also compatibility issues with the script that extracts results from the Abaqus .odb file. For example, this error may be produced in the .rep file:
***ERROR 5048 Read error processing .001 file.
The following versions of the script should be used:
- Zencrack 7.9-3
- script version supplied with this release: 1.8
- script version compatible with Abaqus 2016: 1.9
- Zencrack 7.9-2
- script version supplied with this release: 1.5
- script version compatible with Abaqus 2016: 1.9
- Zencrack 7.9-1
- script version supplied with this release: 1.2
- script versions compatible with Abaqus 2016: 1.2, 1.3 or 1.9
- Zencrack 7.8-1 to 7.8-4
- script version supplied with these releases: 1.2
- script versions compatible with Abaqus 2016: 1.2, 1.3 or 1.9
The updated odb extraction script, version 1.9, can be provided on request to resolve these issues.
With the correct script version in place the analysis will run. A warning about the Abaqus version in the .rep file can be ignored:
***WARNING The Abaqus version used for the analysis appears to be different to the one defined in the zencrack.ini file: analysis: 3DEXPERIENCE R2016X .ini file: 6.2016 Analysis used Abaqus version 3DEXPERIENCE R2016X
Extraction of results from the .dat file
Due to issues related to extraction of the Abaqus version and sub-version used for the analysis, Zencrack versions up to and including 7.9-3 are unable to extract displacement or temperature results from the Abaqus .dat file. Instead it is recommended to extract results from the .odb file. Depending upon whether or not temperature extraction is attempted, one of the following messages will occur:
***ERROR 5020 End of file found unexpectedly while trying to read temperature data. ***WARNING End of file found unexpectedly while trying to read displacement data. Displacement based results may be incomplete or incorrect. The analysis may produce incorrect results.
Plug-ins for Abaqus/CAE
The plug-ins for Abaqus/CAE supplied with versions of Zencrack up to and including version 7.9-1 will not work with Abaqus 2016 due to a change in the underlying version of Python used in this version of Abaqus. The plugins supplied in the "fe_abaqus\zencrackplugins_6-14_onwards" folder for versions 7.9-2 and 7.9-3 are compatible with Abaqus 2016. The following warning is issued when the plug-ins are loaded by Abaqus/CAE or Abaqus/Viewer:
Abaqus version is 6.16. At the time of release the Zencrack plug-in was tested up to Abaqus 6.14. Compatibility with later versions of Abaqus is not guaranteed.
Using Zencrack 7.9-3 (or earlier) with Abaqus 6.14 - extracting Abaqus results from the .odb file
Due to changes in the name of an internal set created by Abaqus in the .odb file, the method of extraction of results from the .odb file may not be able to find any results. The following are affected:
- Zencrack 7.8-1 to 7.9-1 if using Abaqus 6.14-1 or 6.14-2.
- Zencrack 7.9-2 to 7.9-3 if using Abaqus 6.14-3, 6.14-4 or 6.14-5.
An updated odb extraction script, zcr-odb.py version 1.9, can be provided on request to resolve these issues.
Plug-ins for Abaqus/CAE
The plug-ins for Abaqus/CAE supplied with versions of Zencrack up to and including version 7.9-1 will not work with Abaqus 6.14 due to a change in the underlying version of Python used in this version of Abaqus. This issue is resolved in version 7.9-2.
Using Zencrack with Abaqus 6.5-6.11
In Abaqus 6.5 a new capability was added with respect to contour integral evaluation. For all nodes on the crack face, a surface normal is automatically defined by Abaqus. Testing with Abaqus 6.5pr8 (pre-release v8) showed that if these normals are defined by Abaqus AND the virtual crack extensions do not lie in the crack plane at the crack front, the resulting contour integral values may be incorrect. This type of out-of-plane virtual crack extension is used by Zencrack for cases where both sides of the crack are modelled. Hence the results from Zencrack with Abaqus 6.5 could be incorrect for such cases, although the Zencrack analysis will appear to have run successfully. Any errors introduced appear to be small and likely to go un-noticed.
An initial bug fix was put in place in Abaqus 6.6. This did not cover all possible scenarios and a further fix was introduced into Abaqus 6.8, both fixes being under Abaqus bug reference v65_1487. Some inconsistencies still existed in Abaqus 6.8 and the fixes were removed for Abaqus 6.9, with the result that the default behaviour was similar to Abaqus 6.5.
For consistent behaviour in Zencrack analyses when using Abaqus 6.5 or later, it is recommended to use an Abaqus workaround that turns off the calculation of crack face normals. This aspect of the analysis then behaves like Abaqus 6.4. The method to achieve this depends upon the Zencrack version:
- v7.9 and later
- Set the variable ZCR_ABAQUS_SURFACE in the zencrack.ini file to ZCR_ABAQUS_SURFACE = none. The zencrack.ini file is located in the tools folder of the Zencrack installation.
- v7.7 and v7.8
- Set the variable ZCRABAQUSSURFACE in the Zencrack runzcr script file to ZCRABAQUSSURFACE=none. The runzcr file is located in the tools folder of the Zencrack installation.
- v7.6
- Set the variable ZCRABAQUSVER in the Zencrack runzcr76 script file to ZCRABAQUSVER=6.5, 6.6, 6.7, 6.8, or 6.9, according to the Abaqus version being used. The runzcr76 file is located in the tools folder of the Zencrack installation. The calculation of surface normals is then de-activated. Note that for Abaqus 6.10 (or later) the setting should be 6.9.
- v7.3f to v7.5
- Set the variable ZCRABAQUSVER in the Zencrack runzcrXX script file to ZCRABAQUSVER=6.5 regardless of the Abaqus version being used. The runzcrXX file is located in the tools folder of the Zencrack installation. The calculation of surface normals is then de-activated.
- v7.3e and earlier versions
- There is no workaround.
Note: If the setting for ZCRABAQUSVER and the actual Abaqus version being used are different, a warning will be produced in the .rep file that the analysis has used a different Abaqus version than indicated by the setting. This warning can be ignored.
Using Zencrack 7.4a (or earlier) with Abaqus Extended Functionality release
The issue described in this section affects Zencrack 7.4a and all earlier versions on Windows platforms only. This issue was fixed in version 7.5.
The Zencrack installation program for Windows platforms does not allow automatic configuration of Zencrack with Abaqus Extended Functionality releases. The following procedure should be used:
- Run the setup program as described in the Installation Manual.
- At the prompt asking for the name of the top level Abaqus folder enter the valid top level folder for your Abaqus EF installation.
- When asked to enter the Abaqus version enter the appropriate details e.g. 661 for 6.6-EF1. Ignore the subsequent warning that the executable does not exist.
- Continue the remaining options and use the 's' option to save (continue with a 'y' when warned again that the Abaqus location is invalid).
Using Zencrack 7.4 (or earlier) with Abaqus 6.5-4 (or later)
The issue described in this section affects Zencrack 7.4 and all earlier versions. This issue was fixed in Zencrack 7.4a.
Zencrack v7.4 (or earlier) may not run correctly with Abaqus 6.5-4 or later versions. They may either:
- Fail with error 5020 - end of file reading temperatures, or,
- Give a warning that displacements were not read correctly and end with zero crack growth at all nodes (because the opening status is "closed" for all nodes).
This issue has arisen as a result of changes to the ordering of output tables in the .dat file of the Abaqus 6.5-4 release. The change was as a result of a bug identified in an earlier release of Abaqus v6.5.
Zencrack plug-in for Abaqus/CAE
This section gives information on the use of the Zencrack plug-in for Abaqus/CAE and Abaqus/Viewer.
Should I use the Zencrack GUI or the Zencrack plug-in for Abaqus/CAE?
From Zencrack version 9.0-1 the plug-in for Abaqus/CAE is revised to only provided functionality to process spline and crack profile data. This is intended to help when partitioning models for the crack-block method. All creation of Zencrack input data should be carried out in the Zencrack GUI.
From Zencrack versions 7.9-1 to 8.3-1 the Zencrack GUI replaces and improves upon many of the capabilities of the plug-in for Abaqus/CAE provided with those releases. The GUI is the recommended way to create and maintain Zencrack input files. It also provides a means to run Zencrack and to post-process the crack growth profiles. However, the plug-in retains some usefulness when partitioning a geometry as the crack front viewer can be used to display a spline or crack front position on the geometry to help in the partitioning process.
Plug-ins provided for Zencrack 7.9-1 to 8.3-1 have no functional updates from the version supplied with Zencrack 7.8-1. The plug-in with the 7.9-2, 7.9-3 and 8.x releases is provided for use with Abaqus 6.8-6.14, 2016-2022. Three issues may arise:
- The changes to some default values made since Zencrack 7.9-1 may not be properly reflected if the plug-in is used to read or save Zencrack input files.
- New input file options introduced since Zencrack 7.8-1 cannot be handled by the plug-in.
- The rendering of elements and crack-face highlights in Abaqus 6.14 (and later) is different than in earlier versions and results in the crack face highlights not being visible in filled and shaded plots. The crack face highlights can be made visible by selecting the 'high quality' option for 'Display of crack face' on the crack definition tab of the crack-block picker.
The plug-in provided with Zencrack 7.9-1 has no functional updates from the version supplied with Zencrack 7.8-1. The plug-in with the 7.9-1 release is provided for Abaqus 6.8-6.13. Two issues may arise:
- The changes to some default values made in Zencrack 7.9-1 may not be properly reflected if the plug-ins are used to read or save Zencrack input files.
- The plug-in does not work with Abaqus 6.14 (or later) due to a change of Python version in Abaqus 6.14. This is resolved with the plug-ins supplied with Zencrack 7.9-2.
Future development will concentrate on the Zencrack GUI with no further functional development of the plug-in.
Which versions of Abaqus is the Zencrack plug-in interfaced to?
From Zencrack version 7.9-1 the Zencrack GUI replaces and improves upon many of the capabilities of the plug-in for Abaqus/CAE and is the recommended way to create and maintain Zencrack input files. It also provides a means to run Zencrack and to post-process the crack growth profiles. However, the plug-in retains some usefulness when partitioning a geometry as the crack front viewer can be used to display a spline or crack front position on the geometry to help in the partitioning process.
The plug-in requires Abaqus 6.8-6.14 or 2016-2023. It is available for Windows 32bit (up to version 8.1-1), Windows 64bit and Linux 64bit.
Due to changes in the Python version between Abaqus 6.9/6.10 and 6.13/6.14 there are three sets of files provided with each v7.9-2 - v9.x installation - one for Abaqus 6.8-6.9, one for Abaqus 6.10-6.13 and one for Abaqus 6.14 or later. Up to v7.9-1 only two sets of files were provided. These are suitable for Abaqus 6.8-6.9 and 6.10-6.13 (i.e. the plug-in supplied with versions of Zencrack earlier than v7.9-2 will not work with Abaqus 6.14).
Note the following:
- The plug-ins supplied up to and including Zencrack version 7.7-2 cannot be used with Abaqus 6.12 (or later) and will generate a licensing error when Abaqus/CAE or /Viewer attempts to load the plug-ins. This is resolved in plug-ins supplied since Zencrack 7.8-1.
- For nodelocked licenses on Windows machines, the value of the variable LICENCE in the zencrack_plugin.ini file (up to v8.3-1) should be surrounded by double quotes if the path it defines contains a space e.g.:
LICENCE = "C:\Program Files\Zencrack\7.8-2\license"
There are a number of ways that the plug-in can be configured within the Abaqus environment. Please refer to the Zencrack Installation And Execution manual for full details.
In which Abaqus/CAE modules can the plug-in be used?
The Zencrack tab is accessible from within all Abaqus/CAE modules (e.g. Part, Assembly, Visualization etc).
For plug-ins supplied with versions up to v8.3-1 the "picking" capabilities that extract data from a model are only operational from within the Visualization module becuase they require that the model in the viewport is an odb model rather than a model database. The recommended procedure is to generate an uncracked model and run at least a datacheck. Then load the odb file for the model before picking data for the Zencrack input file.
Installing the plug-in
For Zencrack version 9.0 and later, please refer to section 7 of the Interface To Abaqus Manual for information on configuring the plug-in for use with Abaqus.
For Zencrack version 8.3 and earlier, please refer to section 4 of the Installation And Execution Manual for information on configuring the plug-in for use with Abaqus.
Using the plug-in
Note: This shows an earlier version of the plug-in which allowed additional interaction with the model that the current plug-in - the Zencrack GUI is now used for the definition of the Zencrack input data.
This video gives an example of the use of the plug-in to define a complete Zencrack input file. It includes picking of crack-block, split set, relaxation and edge data. It also shows how output points from the csv file of the "process" post-processor can be input into the plug-in to visualise the path at which the output data is produced.