CalculiX  2.13
A Free Software Three-Dimensional Structural Finite Element Program
cload.f File Reference

Go to the source code of this file.

Functions/Subroutines

subroutine cload (xload, kstep, kinc, time, node, idof, coords, vold, mi, ntrans, trab, inotr, veold)
 

Function/Subroutine Documentation

◆ cload()

subroutine cload ( real*8  xload,
integer  kstep,
integer  kinc,
real*8, dimension(2)  time,
integer  node,
integer  idof,
real*8, dimension(3)  coords,
real*8, dimension(0:mi(2),*)  vold,
integer, dimension(*)  mi,
integer  ntrans,
real*8, dimension(7,*)  trab,
integer, dimension(2,*)  inotr,
real*8, dimension(0:mi(2),*)  veold 
)
21 !
22 ! user subroutine cload
23 !
24 !
25 ! INPUT:
26 !
27 ! kstep step number
28 ! kinc increment number
29 ! time(1) current step time
30 ! time(2) current total time
31 ! node node number
32 ! idof degree of freedom
33 ! coords(1..3) global coordinates of the node
34 ! vold(0..mi(2)
35 ! ,1..nk) solution field in all nodes (for modal
36 ! dynamics: in all nodes for which output
37 ! was requested or a force was applied)
38 ! (not available for CFD-calculations)
39 ! 0: temperature
40 ! 1: displacement in global x-direction
41 ! 2: displacement in global y-direction
42 ! 3: displacement in global z-direction
43 ! 4: not used
44 ! mi(1) max # of integration points per element (max
45 ! over all elements)
46 ! mi(2) max degree of freedomm per node (max over all
47 ! nodes) in fields like v(0:mi(2))...
48 ! veold(0..mi(2)
49 ! ,1..nk) For non-CFD-calculations:
50 ! derivative of the solution field w.r.t.
51 ! time in all nodes(for modal
52 ! dynamics: in all nodes for which output
53 ! was requested or a force was applied)
54 ! 0: temperature rate
55 ! 1: velocity in global x-direction
56 ! 2: velocity in global y-direction
57 ! 3: velocity in global z-direction
58 !
59 ! For CFD-calculations:
60 ! 0: temperature
61 ! 1: velocity in global x-direction
62 ! 2: velocity in global y-direction
63 ! 3: velocity in global z-direction
64 ! 4: static pressure
65 !
66 ! ntrans number of transform definitions
67 ! trab(1..6,i) coordinates of two points defining transform i
68 ! trab(7,i) -1: cylindrical transformation
69 ! 1: rectangular transformation
70 ! inotr(1,j) transformation number applied to node j
71 ! inotr(2,j) a SPC in a node j in which a transformation
72 ! applied corresponds to a MPC. inotr(2,j)
73 ! contains the number of a new node generated
74 ! for the inhomogeneous part of the MPC
75 !
76 ! OUTPUT:
77 !
78 ! xload concentrated load in direction idof of node
79 ! "node" (global coordinates)
80 !
81  implicit none
82 !
83  integer kstep,kinc,node,idof,mi(*),ntrans,inotr(2,*),itr
84 !
85  real*8 xload,time(2),coords(3),vold(0:mi(2),*),trab(7,*),
86  & veold(0:mi(2),*),a(3,3),ve1,ve2,ve3,f1,f2,f3
87 !
88 ! displacements vold and velocities veold are given in
89 ! the global system
90 !
91 ! example how to transform the velocity into the local system
92 ! defined in node "node"
93 !
94  if(ntrans.eq.0) then
95  itr=0
96  else
97  itr=inotr(1,node)
98  endif
99 !
100  if(itr.ne.0) then
101  call transformatrix(trab(1,itr),coords,a)
102  ve1=veold(1,node)*a(1,1)+veold(2,node)*a(2,1)
103  & +veold(3,node)*a(3,1)
104  ve2=veold(1,node)*a(1,2)+veold(2,node)*a(2,2)
105  & +veold(3,node)*a(3,2)
106  ve3=veold(1,node)*a(1,3)+veold(2,node)*a(2,3)
107  & +veold(3,node)*a(3,3)
108 !
109 ! suppose you know the size of the force in local coordinates:
110 ! f1, f2 and f3. Calculating the size of the force in
111 ! direction idof in global coordinates is done in the following
112 ! way:
113 !
114  xload=f1*a(idof,1)+f2*a(idof,2)+f3*a(idof,3)
115  else
116 !
117 ! no local system defined in node "node"; suppose the force in
118 ! global coordinates has components f1, f2 and f3
119 !
120  if(idof.eq.1) then
121  xload=f1
122  elseif(idof.eq.2) then
123  xload=f2
124  elseif(idof.eq.3) then
125  xload=f3
126  endif
127  endif
128 !
129  return
subroutine transformatrix(xab, p, a)
Definition: transformatrix.f:20
static double * f1
Definition: objectivemain_se.c:47
Hosted by OpenAircraft.com, (Michigan UAV, LLC)