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

Go to the source code of this file.

Functions/Subroutines

subroutine rectcyltrfm (node, co, cs, icntrl, fin, fout)
 

Function/Subroutine Documentation

◆ rectcyltrfm()

subroutine rectcyltrfm ( integer  node,
real*8, dimension(3,*)  co,
real*8, dimension(17,*)  cs,
integer  icntrl,
real*8, dimension(3)  fin,
real*8, dimension(3)  fout 
)
20 !
21 ! transforms a vector fin(1..3) in node "node" with coordinates
22 ! in co(1..3,node) from the global rectangular system into a local
23 ! cyclic symmetric cylindrical system or vice versa. The result
24 ! is stored in fout(1..3)
25 !
26  implicit none
27 !
28  integer node,icntrl,i
29 !
30  real*8 co(3,*),cs(17,*),csab(7),fin(3),fout(3),a(3,3)
31 !
32  do i=1,7
33  csab(i)=cs(5+i,1)
34  enddo
35 !
36  if(icntrl.eq.2) then
37 !
38 ! global rectangular -> cylindrical
39 !
40  call transformatrix(csab,co(1,node),a)
41 !
42  fout(1)=fin(1)*a(1,1)+fin(2)*a(2,1)+fin(3)*a(3,1)
43  fout(2)=fin(1)*a(1,2)+fin(2)*a(2,2)+fin(3)*a(3,2)
44  fout(3)=fin(1)*a(1,3)+fin(2)*a(2,3)+fin(3)*a(3,3)
45 !
46  elseif(icntrl.eq.-2) then
47 !
48 ! cylindrical -> global rectangular
49 !
50  call transformatrix(csab,co(1,node),a)
51 !
52  fout(1)=fin(1)*a(1,1)+fin(2)*a(1,2)+fin(3)*a(1,3)
53  fout(2)=fin(1)*a(2,1)+fin(2)*a(2,2)+fin(3)*a(2,3)
54  fout(3)=fin(1)*a(3,1)+fin(2)*a(3,2)+fin(3)*a(3,3)
55 !
56  endif
57 !
58  return
subroutine transformatrix(xab, p, a)
Definition: transformatrix.f:20
Hosted by OpenAircraft.com, (Michigan UAV, LLC)