User Subroutine Interface
subroutine vdload (
C Read only (unmodifiable)variables -
1 nBlock, ndim, stepTime, totalTime,
2 amplitude, curCoords, vua, dirCos, jltyp, sname,
C Write only (modifiable) variable -
1 value )
C
include 'vaba_param.inc'
C
dimension curCoords(nBlock,ndim), vua(nBlock,ndim,3),
1 dirCos(nBlock,ndim,ndim), value(nBlock)
character*80 sname
C
do 100 km = 1, nBlock
user coding to define value
100 continue
return
end
Variables to Be Defined
-
value (nBlock)
-
Magnitude of the distributed load. Units are
FL−2 for surface loads,
FL−3 for body forces.
Variables Passed in for Information
-
nBlock
-
Number of points to be processed in this call to
VDLOAD.
-
ndim
-
Number of coordinate directions: 2 for two-dimensional
models, 3 for three-dimensional models. The model will be
considered three-dimensional if any three-dimensional
elements are defined (including
SPRINGA
elements).
-
stepTime
-
Value of time since the step began.
-
totalTime
-
Value of total time. The time at the beginning of the step is
given by totalTime −
stepTime.
-
amplitude
-
Current value of the amplitude referenced for this load (set
to unity if no amplitude is referenced). You must multiply
the load by the current amplitude value within the user
subroutine if the amplitude is required.
-
curCoords (nBlock, ndim)
-
Current coordinates of each point for which the load is to be
calculated.
-
vua(nBlock, ndim,3)
-
Current velocity, displacement, and previous acceleration at
each point for which the load is to be calculated. The
array is defined as
vua(1,1,1) for the first
component of the velocity array,
vua(1,1,2) for the first
component of the displacement array, and
vua(1,1,3) for the first
component of the acceleration array. The acceleration
values correspond to the end of the previous
increment.
-
dirCos (nBlock, ndim, ndim)
-
Current orientation of the face, edge, pipe, or beam for
pressure type loads (not applicable for body force type
loads). The second dimension indicates the vector, and the
third dimension indicates the components of that vector.
For faces (pressures on three-dimensional continuum,
shell, and membrane elements), the first and second
vectors are the local directions in the plane of the
surface and the third vector is the normal to the face, as
defined in Conventions. For solid elements the normal
points inward, which is the opposite of what is defined in
the conventions; for shell elements the normal definition
is consistent with the defined conventions. For edges
(pressures on two-dimensional continuum elements and
two-dimensional beams and pipes), the first vector is the
normal to the edge, the second vector is the tangent to
the edge, and, if ndim=3,
the third vector will be a unit normal in the out-of-plane
direction. For three-dimensional beam and pipe elements,
the first and second vectors are the local axes (
,
) and the third vector is the tangent
vector (
), as defined in Beam Element Cross-Section Orientation.
For a discrete element analysis using
PD3D
elements, the first column of the array is the radius of
the element.
-
jltyp
-
Key that identifies the distributed load type. The load type
might be a body force, a surface-based load, or an
element-based surface load. For element-based surface
loads, this variable identifies the element face for which
this call to VDLOAD
is being made. See About the Element Library for element load type
identification. This information is useful when several
different nonuniform distributed loads are being imposed
on an element at the same time. The key is as follows:
Jltype |
Load type |
0 |
Surface-based
load |
1 |
BXNU |
2 |
BYNU |
3 |
BZNU |
20 |
PNU |
21 |
P1NU |
22 |
P2NU |
23 |
P3NU |
24 |
P4NU |
25 |
P5NU |
26 |
P6NU |
27 |
PINU |
28 |
PENU |
41 |
PXNU |
42 |
PYNU |
43 |
PZNU |
-
sname
-
Surface name for a surface-based load definition
(JLTYP=0). For a body force
or an element-based load the surface name is passed in as
a blank.
|