For sure, whoever has worked with computers, heard the words “Bug” or “Debugging.” Ordinary people may have heard these words in gaming, common software such as Microsoft Office, google chrome, etc. If we want to introduce a synonym for the Bug, we could say “Error.” Here we will tell you what the “Bug” and “Debugging in the ABAQUS” mean. Also, we will introduce some techniques to handle the ABAQUS errors or, as we would like to call them, bugs.
1 Bug and convergence in the ABAQUS
As it defines itself, Bug means anything annoyance that causes your problem not to be solved or without accurate results. Debugging means any actions that need to be done to solve a problem correctly, without any errors, and obtain accurate results.
Convergence is a term to say our problems equations and matrices are solved properly to have our job completed even without any warnings. But, are the results accurate and according to the actual model? If not, then you have to start debugging. You could say that convergence is a subset of the debugging process.
Now, let’s debug the ABAQUS errors with some techniques.
2 Debugging techniques
Here, we introduce some techniques and procedures for debugging ABAQUS errors. Some of them are preprocessing, and some are post-processing:
- System of units check
- Making a test model
- Output check
- Syntax check
- Data check
- Boundary conditions and loadings
- Materials check
- Constraints check
- Elements check
- Interference fits check
- Contact check
- Over Constraints and initial rigid body motion check
- Static stabilization
- Dynamics check
2.1 System of units check
In the first step of debugging process, you should check the units of your input data to see if they are consistent or not. After that, you should review the boundary conditions and loading to ensure there aren’t any issues. For more information about the system of units, click here.
2.2 Making a test model
A large model may take a long time to be analyzed, so making a test model speed up the debugging process is highly recommended. The test model is simplified and miniaturized from the original model created for speeding up the debugging process. It should be only used for debugging and testing.
2.3 Output check
Having more information about your problem before or after submitting a job is always useful. However, for debugging purposes, request more results through the “Field Output” and “History Output” in the Step module (see figures 1 and 2) to debug the analysis afterward. Obviously, it will take more computational time, but it is worth it because these requests will help you debug the system and find the convergence issues.
Figure 1 Field Output requests
Figure 2 History Output requests
2.4 Syntax check
When you want to check your input file to see any flaws in your script, you should use the syntax check command. It checks your input file line by line, and finds and shows any flaws that may exist in the file’s script. After a syntax check, check the “.log” file, and if there are no flaws, you will see the lines as shown in figure 3. To do a syntax check, type the command line “abq6142 syntaxcheck j=your input file’s name” in a command prompt window. For more information, click here.
Figure 3 The input file without flaws
2.5 Data Check
The data check is the same as the syntax check with one difference; the data check runs the file to ensure that the model has all the required options. It checks the model consistency as well. You could say the syntax check is the subset of the data check.
The procedure to execute a data check is the same as the syntax check, with only a slight difference in the command line:
abq6142 datacheck j=your input file’s name
The log file message is different (see figure 4). Also, you could use the data check through the GUI (see figure 5).
Figure 4 The log file without error
Figure 5 Data check through the GUI
2.6 Boundary conditions and loading
After a syntax and data check, you can correctly run the model’s input data into the ABAQUS. Moreover, you can ensure that appropriate settings are applied according to the model specifications. After that, check the boundary conditions and loading. You must monitor them to ensure that the applied boundaries and load cases have appropriate settings with proper ABAQUS features.
2.7 Materials check
Check the material properties. You must check them to ensure that the model’s structural responses present proper behavior under the boundary conditions and loading. Also, apply physical behavior law and material data’s complexity function to the model.
2.8 Constraints check
If you have to use constraints (see figure 6), make sure to use the right one according to your problem. For example, when you need to couple the motion of a surface or a group of nodes to a reference node, you must use “Couple constraint.” There are two based methods for the Couple: Kinematic and distributing. You must choose the proper method according to the problem.
Figure 6 Constraint option
2.9 Elements check
Sometimes the elements cause numerical difficulties in the model, such as: selecting the wrong element type, improper meshing, hourglass control, not using Hybrid elements in the incompressible models, etc. Therefore, you must check the elements to debug your model.
2.10 Interference fits check
This part is about using contact to solve interference problems by focusing on interference fits. The interference means excessive overclosure between surfaces. An interference fit (press fit, friction fit) is a method to fasten two parts by pushing them together with normal force, and they get stuck together by friction rather than any means of fastening. A typical example is shaft press-fitting into bearings. You can resolve the interference problems in surface-to-surface contact for the ABAQUS/Standard. Select the desired step and use the interference fit option (see figures 7 and 8).
Figure 7 The interference fits option through the GUI
Figure 8 The interference fits option through the input file
2.11 Contact check
It is relatively easy to define contact interactions. However, adding local contact stiffness can cause instability problems in the global stiffness matrix and make the matrix nonsymmetric. So, several numerical difficulties may occur. One of the good methods to prevent these issues is to select the master and slave surface correctly. The master surface should be rigid or with a higher Young’s module. Also, the master surface should have a coarser mesh than the slave surface.
2.12 Over Constraints and initial rigid body motion check
In an analysis, one reason for convergence issues is inadequate or improper boundary conditions. Also, a model can be under or over-constrained, leading to convergence issues. If you do not use enough boundary conditions, your model may move as a rigid body in any direction (rigid body motion). The rigid body motion causes the stiffness matrix to become singular. As a result, the ABAQUS will show “zero pivot” warning messages. Although the software tries to solve the issue, it’s not always working. Therefore, you have to check the warnings and fix the constraints and boundary conditions.
2.13 Static stabilization check
The ABAQUS finite element software uses this main equation to solve a problem:
“K” is the stiffness matrix, “x” is the displacement matrix, and “F” is the Force matrix. Whenever a static problem becomes unstable, the equation cannot solve the problem because of the numerical difficulties caused by instability in the model. So, a damping force component will be added to the equation so that the problem can be solved:
“D” is the damping coefficient that stabilizes the problem and makes a quasi-static solution. Therefore, the “D” value must be controlled to get as nearly static a solution as possible. To do so, compare the ALLSD and ALLIE energies levels. For more information, click here.
2.14 Dynamics check
In static analysis, there is no effect of damping or mass (inertia). The applied load acts fully immediately on the model instead of with time increment because it has no physical sense. On the other hand, the dynamic analysis has a physical sense regarding applied load versus time. Moreover, the effect of mass and damping are included as well. The static analysis uses an Implicit solver. The dynamic analysis can use the Explicit solver or the Implicit. When you have a dynamic problem, you need to check which solver is appropriate for the analysis, Implicit or Explicit. Learn.
Keep in mind that in this article, we just introduced each technique. To resolve any ABAQUS errors and know more about the techniques, make sure to get our products and read incoming articles.
One thought on “Debugging of ABAQUS errors”
This article is one of the most useful articles for Abaqus. I was able to solve many of the errors I encountered in Abaqus.