Transfer the output variables requested in the material.config to properly labelled user-defined variables within the Abaqus input file (*.inp). Requires the files
.output<Homogenization/Crystallite/Constitutive> that are written during the first run of the model. Specify which user block format you want to apply by stating the homogenization, crystallite, and phase identifiers. Or have an existing set of user variables copied over from another *.inp file.
Usage
> abq_addUserOutput options option(s)
Options
-
-m
[ 0 ] - maximum requested User Defined Variable
-
--homogenization
[ 1 ] - homogenization name or index
-
--crystallite
[ 1 ] - crystallite identifier name or index
-
--phase
[ 1 ] - phase identifier name or index
-
--use
- optionally parse output descriptors from outputXXX files of given name
-
--option
- Add DAMASK option to input file, e.g. "periodic x z"
Usage Hints
Note:
- In order for this to work you must prepare your input file such that it already includes the » *DEPVAR « keyword, i.e. you must define an abitrary number of dependent variables that will be replaced by the correct number when using the script.
- You have to separately activate the output of the SDVs in order to see them in the result file.
Examples
Plain numbered user outputs
In case you
- already know the exact number of user outputs that will be produced from all active
(output)
entries in the material.config file
- do not need descriptive names of user output variables
you can use the --number
option to prepare the input deck file.
> abq_addUserOutput --number 5 jobname.inp
The file jobname.inp is altered to show the specified number as parameter of the *DEPVAR keyword:
...
*DEPVAR
5
*User Material, constants=2, unsymm
...
Transfer from material.config
The usual way of operation is to tell the script which section from the homogenization, crystallite, and phase part of the material.config should define the user data block.
Suppose we have such a (abridged) material configuration:
#------------------
<homogenization>
#------------------
[SX]
type isostrain
Ngrains 1
...
#-----------------------
<crystallite>
#-----------------------
[one]
...
[two]
...
[small]
(output) texture
(output) orientation
(output) grainrotation
(output) f
(output) p
...
#-----------------------
<phase>
#-----------------------
[first]
...
[CP_phenopowerlaw]
(output) resistance_slip
(output) shearrate_slip
(output) resolvedstress_slip
(output) totalshear
lattice_structure fcc
Nslip 12 0 0 0
...
During the initialization of the corresponding simulation, the above mentioned three jobname.output* files will be produced.
Once they are present, it is possible to use this information to alter the jobname.inp file by issuing
> abq_addUserOutput --homogenization 1 --crystallite 3 --phase 2 jobname.inp
which will add these 68 entries to the *DEPVAR section of the input deck:
*DEPVAR
68
1,"0HomogenizationCount","0HomogenizationCount"
2,"0GrainCount","0GrainCount"
3,"01_CrystalliteCount","01_CrystalliteCount"
4,"01_texture",01_texture"
5,"01_1_orientation","01_1_orientation"
6,"01_2_orientation","01_2_orientation"
7,"01_3_orientation","01_3_orientation"
8,"01_4_orientation","01_4_orientation"
9,"01_1_grainrotation","01_1_grainrotation"
10,"01_2_grainrotation","01_2_grainrotation"
11,"01_3_grainrotation","01_3_grainrotation"
12,"01_4_grainrotation","01_4_grainrotation"
13,"01_1_f","01_1_f"
14,"01_2_f","01_2_f"
15,"01_3_f","01_3_f"
16,"01_4_f","01_4_f"
17,"01_5_f","01_5_f"
18,"01_6_f","01_6_f"
19,"01_7_f","01_7_f"
20,"01_8_f","01_8_f"
21,"01_9_f","01_9_f"
22,"01_1_p","01_1_p"
23,"01_2_p","01_2_p"
24,"01_3_p","01_3_p"
25,"01_4_p","01_4_p"
26,"01_5_p","01_5_p"
27,"01_6_p","01_6_p"
28,"01_7_p","01_7_p"
29,"01_8_p","01_8_p"
30,"01_9_p","01_9_p"
31,"01_ConstitutiveCount","01_ConstitutiveCount"
32,"01_1_resistance_slip","01_1_resistance_slip"
33,"01_2_resistance_slip","01_2_resistance_slip"
34,"01_3_resistance_slip","01_3_resistance_slip"
35,"01_4_resistance_slip","01_4_resistance_slip"
36,"01_5_resistance_slip","01_5_resistance_slip"
37,"01_6_resistance_slip","01_6_resistance_slip"
38,"01_7_resistance_slip","01_7_resistance_slip"
39,"01_8_resistance_slip","01_8_resistance_slip"
40,"01_9_resistance_slip","01_9_resistance_slip"
41,"01_10_resistance_slip","01_10_resistance_slip"
42,"01_11_resistance_slip","01_11_resistance_slip"
43,"01_12_resistance_slip","01_12_resistance_slip"
44,"01_1_shearrate_slip","01_1_shearrate_slip"
45,"01_2_shearrate_slip","01_2_shearrate_slip"
46,"01_3_shearrate_slip","01_3_shearrate_slip"
47,"01_4_shearrate_slip","01_4_shearrate_slip"
48,"01_5_shearrate_slip","01_5_shearrate_slip"
49,"01_6_shearrate_slip","01_6_shearrate_slip"
50,"01_7_shearrate_slip","01_7_shearrate_slip"
51,"01_8_shearrate_slip","01_8_shearrate_slip"
52,"01_9_shearrate_slip","01_9_shearrate_slip"
53,"01_10_shearrate_slip","01_10_shearrate_slip"
54,"01_11_shearrate_slip","01_11_shearrate_slip"
55,"01_12_shearrate_slip","01_12_shearrate_slip"
56,"01_1_resolvedstress_slip","01_1_resolvedstress_slip"
57,"01_2_resolvedstress_slip","01_2_resolvedstress_slip"
58,"01_3_resolvedstress_slip","01_3_resolvedstress_slip"
59,"01_4_resolvedstress_slip","01_4_resolvedstress_slip"
60,"01_5_resolvedstress_slip","01_5_resolvedstress_slip"
61,"01_6_resolvedstress_slip","01_6_resolvedstress_slip"
62,"01_7_resolvedstress_slip","01_7_resolvedstress_slip"
63,"01_8_resolvedstress_slip","01_8_resolvedstress_slip"
64,"01_9_resolvedstress_slip","01_9_resolvedstress_slip"
65,"01_10_resolvedstress_slip","01_10_resolvedstress_slip"
66,"01_11_resolvedstress_slip","01_11_resolvedstress_slip"
67,"01_12_resolvedstress_slip","01_12_resolvedstress_slip"
68,"01_totalshear","01_totalshear"
*User Material, constants=2, unsymm
...