Energy levels are one of the prime indicators on the accuracy of the results of any Abaqus simulation. Often, users tend to overlook the energy checks. The ‘abaqus_v6.env’ file in this post helps the users to automatically notify them about the energy levels whenever any Abaqus Output Database (.odb) file is opened. The purpose of the script is that whenever an ODB file is opened, the energy levels pertaining to Dissipation due to Stabilization (ALLSD) in Abaqus/Standard and energy levels due to Hourglass control (ALLAE) and Viscous Damping (ALLVD) in Abaqus/Standard and Abaqus/Explicit are evaluated against the Internal Energy (ALLIE) to check if they are within the acceptable limits. The python code to evaluate the energy levels is implemented within Abaqus environment file ‘abaqus_v6.env’.
Abaqus Scripting Interface provides with methods that can be used in Abaqus environment file that can automatically be invoked by Abaqus/CAE and Solvers. In this case, we have used onCaeStartup() method, that would be executed by Abaqus/CAE and Abaqus/Viewer. The contents of this onCaeStartup() method are always executed whenever Abaqus/CAE or Abaqus/Viewer session starts. Similarly, there are other methods that an Abaqus environment file can contain that could be executed based on events. Abaqus Scripting Interface provides with “callback functions” that can handle event driven programs. Scripts can be executed when an event occurs. Events like switching to another module, opening a file, generating mesh on geometry, writing an input file, etc. In this particular case, the script is executed whenever an ODB file is opened.
On opening an ODB file, the script checks if the energy outputs ALLIE, ALLAE, ALLVD and ALLSD are requested for the whole assembly. If the necessary outputs are available in the ODB file, the script automatically evaluates the ratio of ALLAE, ALLVD and ALLSD to that of ALLIE. A message pops up in Abaqus/Viewer, which notifies the user about each of these energy levels. The message specifically mentions the energy outputs available in the ODB file, and for the available outputs, ratio is calculated and checked if it’s within 5% of Internal Energy. If the energies are within the acceptable limit, user would be notified with a message as ‘ALLAE or ALLVD or ALLSD values are within acceptable range’. And if they are not, then the user would get another message. For example if ALLSD values are not within 5% of ALLIE then the message would be, 'ALLSD values are more than 5% of ALLIE'
The message window also provides the user with an option to directly plot the concerned energy output in the viewport for visual evaluation. If the user chooses to plot the Energy Levels, the energy levels are saved as XY Data and plotted as XY Plot in the viewport. The XY Data is saved as output variable names along with their ODB file name. For instance, in the above example below, ‘Lug.odb’ file was opened and the energy levels are saved to the session. ALLIE and ALLAE were available in the ODB file, so the XY Data names would be “ALLIE from E:/temp/energyLevel/Lug.odb” and “ALLAE from E:/temp/energyLevel/Lug.odb”.
You can download the attached ‘abaqus_v6.env’ file and append the contents of this file to the already existing environment file or place this file in your home or working directory.
Relevant sections from the documentation (Abaqus 6.12) pertaining to this script are::
Abaqus Analysis Users Manual
3.3.1 Using the Abaqus environment settings
Abaqus Scripting Users Manual
6.8 Interacting with Abaqus/Standard, Abaqus/Explicit, and Abaqus/CFD
6.9 Using Abaqus Scripting Interface commands in your environment file
9. Using the Abaqus Scripting Interface to access an output database
