Extra history variables
Extra history variables, when written to the d3plot database, (see NEIPH
and NEIPS
in *DATABASE_EXTENT_BINARY
) may be fringed using LS-POST by selecting Fcomp > Misc > history var#n
. A time history plot of the extra history variable may then be created by selecting History > Scalar.
Extra history variables can be employed to great benefit in the case of a user-defined material routine. Clearly in that situation, the user knows what the extra history variables are. In pre-970 versions of LS-DYNA, the 1st history variable in the umat subroutine won't be stored as history var#1 in the d3plot database. The storage location is dependent on a number of factors such as whether the subroutine is vectorized or nonvectorized, whethere the elements are shells or solids, etc.
More on this subject comes from Lee Bindeman:
"When using a vectorized subroutine (i.e. umat46v
instead of umat46) and a 3D user defined material (for 3D solid elements), there are 6 history variables automatically used for 6 terms of the transformation matrix, whether or not the user defined material is orthotropic. When the material is orthotropic (IORTHO=1
), these 6 variables are automatically allocated, however, when the material is not orthotropic (IORTHO=0
), the variables are not and it is essential that these be allocated by the user defined material input. Therefore, if your material uses 46 history variables, you need to set NHV
=52. In order to write your 46 history variables to the d3plot files, you need to request 52 extra history variables by setting NEIPH
=52 on *DATABASE_EXTENT_BINARY
.
When post processing, history variables 1 to 6 will contain the transformation matrix terms. If the material is isotropic, these will all be zero. History variables 7 to 52 will contain history variables 1 to 46 in your subroutine.
The above rules change for 2D materials (for shell elements). In that case, there are only 2 transformation terms stored so only 2 extra history variables need to be allocated and requested.
Perhaps some good news is that I made a fix to eliminate much of this confusion. The fix is in version 970 revisions 2903 and later.
With this fix, it is no longer be necessary to allocate extra history variables with NHV
, or to request 6 (or 2) extra history variables in the d3plot file. You simply need to allocate the same number of history variables that you want to use, and to request the number that you want written to the d3plot file. If the material is isotropic (IORTHO=0
), then the transformation terms will be omitted and then the history variable numbers in the user subroutine will match those in the d3plot file. However, if the material is orthotropic (IORTHO=1
), then the 6 (or 2) transformation terms will be written to the d3plot file so there will be a mismatch in the numbering of history variables in the user subroutine and the d3plot file."