Introduction
In certain cases it is beneficial to divide an Abaqus FE simulation into multiple separate simulations. For example, you may want to run an initial FE simulation with large deformations and sliding contact, which is easier to perform using Abaqus/Explicit, followed by long-term stress-relaxation simulation, which is easier to perform using Abaqus/Standard. In these types of cases it is often a good idea to divide the analysis into two sequential simulations, where the second simulation reads in (and starts from) the deformed mesh, stresses, strains, and state variables from the first simulation. This is done using an Abaqus import analysis.
This type of import analysis is easy to perform with the PolyUMod library.
Material Model
Here I will present a very simple test case in which the left side of a block is held fixed, and the right side is deformed uniaxially away from the left side. I’m using the following PolyUMod TNV model for the example. It is a two network viscoplastic material model, very similar to the Bergstrom-Boyce (BB) model.
I then export the model parameters from MCalibration by clicking on the Export Model
button. The exported model looks as follows:
*Material, name=mat
*Density
1e-09,
*User Material, constants=40
**..:....1....:....2....:....3....:....4....:....5....:....6....:....7....:....8
** MM, ODE, JAC, ERRM, TWOD_S, VERB, VTIME, VELEM,
29, 0, 3, 0, 0, 1, 0, 0,
** VINT, ORIENT, NPROP, NHIST, GMU, GKAPPA, FAILT, FAILV,
0, 0, 40, 43, 1, 500, 0, 0,
** NType1, NType2, NType3, FailT, C10, C20, C30, kappa1,
1, 2, 0, 0, 1, 0, 0, 100,
** kappa2, kappa3, C10, C20, C30, kappa1, kappa2, kappa3,
0, 0, 20, 0, 0, 100, 0, 0,
** tauHat, mm, bb, p0, fff, epsF, ceps, fss,
10, 8, 0, 0, 1, 0.1, 0.1, 1,
*Depvar
43
First Abaqus Simulation
The first step is to setup and run your first Abaqus FE simulation as you normally do. The results from my simple example are shown below. In this case I ran an Abaqus/Explicit simulation.
Second Abaqus Simulation
I then created the following Abaqus/Standard inp-file that reads in and starts from the final state of the first simulation. As you can see, it is easy to do this using the *IMPORT
command. The only important change to highlight here is that I selected the PolyUMod global parameter VINT
to be -1. This works for the TNV model and instructs PolyUMod not to reinitialize the state variables at the start of the simulation. Without this setting all state variables will reset to an initial (undeformed) state, which is not what we want here.
*Heading
*Preprint, echo=NO, model=NO, history=NO, contact=NO
**
*Assembly, name=Assembly
**
*Instance, instance=specimen, library=jb1
*Import, state=yes, update=no
*End Instance
**
*End Assembly
**
*Material, name=mat
*Density
1e-09,
*User Material, constants=40
**..:....1....:....2....:....3....:....4....:....5....:....6....:....7....:....8
** MM, ODE, JAC, ERRM, TWOD_S, VERB, VTIME, VELEM,
29, 0, 3, 0, 0, 1, 0, 0,
** VINT, ORIENT, NPROP, NHIST, GMU, GKAPPA, FAILT, FAILV,
-1, 0, 40, 43, 1, 500, 0, 0,
** NType1, NType2, NType3, FailT, C10, C20, C30, kappa1,
1, 2, 0, 0, 1, 0, 0, 100,
** kappa2, kappa3, C10, C20, C30, kappa1, kappa2, kappa3,
0, 0, 20, 0, 0, 100, 0, 0,
** tauHat, mm, bb, p0, fff, epsF, ceps, fss,
10, 8, 0, 0, 1, 0.1, 0.1, 1,
*Depvar
43
**
*Boundary
specimen.left, ENCASTRE
*Amplitude, name=damp2
0.0, 1.0, 1.0, 1.0
** ----------------------------------------------------------------
*Step, name=Step-1, nlgeom=YES
*Static
0.01, 1.0, 1.0e-5, 0.04
*Boundary, amplitude=damp2
specimen.right, 1, 1, 1.0
*Restart, write, number interval=1, time marks=NO
*Output, field, variable=PRESELECT
*Element output
SDV
*Output, history, variable=PRESELECT
*End Step
The stress state at the end of the first simulation, and at the start of the second simulation are shown in the following figure. The results are the same as expected.
Final Comments
The approach shown here works for all combinations of switching between Abaqus/Standard and Abaqus/Explicit:
- Abaqus/Standard to Abaqus/Standard
- Abaqus/Standard to Abaqus/Explicit
- Abaqus/Explicit to Abaqus/Standard
- Abaqus/Explicit to Abaqus/Explicit
If you are interested in using these features than I recommend that you use the PolyUMod TNV model, and activate the VINT
flag in the second simulation (as demonstrated above).