User subroutine interface
subroutine vuexpan (
C Read only (unmodifiable)variables -
* nblock,
* nDir,
* nShr,
* nExpanType,
* nElem,
* nIntPt,
* nLayer,
* nSectPt,
* stepTime,
* totalTime,
* dt,
* cmname,
* nstatev,
* nfieldv,
* nprops,
* props,
* tempOld,
* tempNew,
* fieldOld,
* fieldNew,
* stateOld,
* stateNew,
C Write only (modifiable) variable -
* strainThInc,
* dStrainTherDT )
C
include 'vaba_param.inc'
C
dimension
* strainThInc(nblock,nDir+nShr),
* dstrainThIncDT(nblock,nDir+nShr),
* nElem(nblock),
* tempOld(nblock),
* tempNew(nblock),
* fieldOld(nblock),
* fieldNew(nblock),
* stateOld(nblock),
* stateNew(nblock),
* props(nprops)
C
character*80 cmname
C
do 100 km = 1, nblock
user coding to define strainThInc,dStrainTherDT
100 continue
return
end
Variables to be defined
- strainThInc
-
Increments of thermal strain. The number of values to be defined and the
order in which they are arranged depend on the type of thermal expansion being
defined.
-
For isotropic expansion give the isotropic thermal strain increment as
the first and only component of the matrix.
-
For orthotropic expansion give ,
,
and
as the first, second, and third components of the matrix, respectively.
-
For anisotropic expansion give ,
,
,
,
,
and .
Direct components are stored first, followed by shear components in the order
presented here. For plane stress only three components of the matrix are
needed; give ,
,
and
as the first, second, and third components, respectively.
- dStrainTherDT
-
Variation of thermal strains with respect to temperature,
.
The number of values and the order in which they are arranged depend on the
type of thermal expansion being defined.
-
For isotropic expansion give the variation of the isotropic thermal
strain with respect to temperature as the first and only component of the
matrix.
-
For orthotropic expansion give ,
,
and
as the first, second, and third components of the matrix, respectively.
-
For anisotropic expansion give ,
,
,
,
,
and .
Direct components are stored first, followed by shear components in the order
presented here. For plane stress only three components of the matrix are
needed; give ,
,
and
as the first, second, and third components, respectively.
Variables passed in for information
- nblock
-
Number of points to be processed in this call to
VUEXPAN.
- nDir
-
Number of direct components in a symmetric tensor.
- nShr
-
Number of indirect components in a symmetric tensor.
- nExpansionType
-
The thermal expansion type: 1 for isotropic expansion, 2 for orthotropic
expansion, and 3 for anisotropic expansion.
- nElem
-
User-defined element number.
- nInt
-
Integration point number.
- nLayer
-
Layer number.
- nSectPt
-
Section point number in the current layer.
- stepTime
-
Value of time since the step began.
- totalTime
-
Value of total time. The time at the beginning of step is given by
totalTime -
stepTime.
- dt
-
Time increment size.
- cmname
- User-specified material name, left justified. It is passed
in as an uppercase character string. Some internal material models are given
names starting with the "ABQ_" character string. To avoid a conflict, you
should not use "ABQ_" as the leading string for
cmname.
- nstatev
-
Number of user-defined state variables that are associated with this
material.
- nfieldv
-
Number of user-defined external field variables.
- nprops
-
User-specified number of user-defined thermal expansion properties.
- props
-
User-supplied thermal expansion properties.
- tempOld
-
Temperatures at each material point at the beginning of the increment.
- tempNew
-
Temperatures at each material point at the end of the increment.
- fieldOld
-
Values of user-defined field variables at each material point at the
beginning of the increment.
- fieldNew
-
Values of user-defined field variables at each material point at the end of
the increment.
- stateOld
-
Values of state variables at each material point at the beginning of the
increment.
- stateNew
-
Values of state variables at each material point at the end of the
increment.
|