OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
deplafakeige.F File Reference
#include "implicit_f.inc"
#include "com04_c.inc"
#include "param_c.inc"
#include "ige3d_c.inc"

Go to the source code of this file.

Functions/Subroutines

subroutine deplafakeige (x, v, intbuf_tab, kxig3d, ixig3d, igeo, knot, wige, knotlocpc, knotlocel)

Function/Subroutine Documentation

◆ deplafakeige()

subroutine deplafakeige ( x,
v,
type(intbuf_struct_), dimension(*) intbuf_tab,
integer, dimension(nixig3d,*) kxig3d,
integer, dimension(*) ixig3d,
integer, dimension(npropgi,*) igeo,
knot,
wige,
knotlocpc,
knotlocel )

Definition at line 32 of file deplafakeige.F.

35C-----------------------------------------------
36C M o d u l e s
37C-----------------------------------------------
38 USE intbufdef_mod
39C-------------------------------------------------------------------
40C I m p l i c i t T y p e s
41C-----------------------------------------------
42#include "implicit_f.inc"
43C-----------------------------------------------
44C C o m m o n B l o c k s
45C-----------------------------------------------
46#include "com04_c.inc"
47#include "param_c.inc"
48#include "ige3d_c.inc"
49C-----------------------------------------------------------------
50C D u m m y A r g u m e n t s
51C-----------------------------------------------
52 INTEGER KXIG3D(NIXIG3D,*),IGEO(NPROPGI,*), IXIG3D(*)
53C REAL
55 . x(3,*) ,v(3,*), knot(*), wige(*),knotlocpc(deg_max,3,*),
56 . knotlocel(2,3,*)
57 TYPE(INTBUF_STRUCT_) INTBUF_TAB(*)
58C-----------------------------------------------
59C L o c a l V a r i a b l e s
60C-----------------------------------------------
61 INTEGER I,K,N,J,JS,NCTRL, IPID, N1, N2, N3,
62 . PX, PY, PZ, IDX, IDY, IDZ, IDX2, IDY2, IDZ2, IAD_KNOT
64 . xi, yi, zi, vxi, vyi, vzi,zr, zs, zt
65 INTEGER NKNOT1,NKNOT2,NKNOT3
67 . x_igeo(64),y_igeo(64),z_igeo(64),
68 . vx_igeo(64),vy_igeo(64),vz_igeo(64),
69 . w_igeo(64),r(64)
71 . knotlocelx(2),
72 . knotlocely(2),knotlocelz(2)
73 my_real, DIMENSION(:,:),ALLOCATABLE ::
74 . knotlocx,knotlocy,knotlocz
75C-------------------------------------------------------------
76C CALCUL DES DEPLACEMENTS TRANSLATIONS DES POINTS FICTIFS IGEO
77C-------------------------------------------------------------
78c
79 DO n=1,ninter
80 DO i=1,intbuf_tab(n)%S_NIGE
81
82 js=intbuf_tab(n)%NIGE(i) ! numero local de l'element IGE
83
84 knotlocelx(1) = knotlocel(1,1,js)
85 knotlocely(1) = knotlocel(1,2,js)
86 knotlocelz(1) = knotlocel(1,3,js)
87 knotlocelx(2) = knotlocel(2,1,js)
88 knotlocely(2) = knotlocel(2,2,js)
89 knotlocelz(2) = knotlocel(2,3,js)
90
91 nctrl = kxig3d(3,js)
92 ipid=kxig3d(2,js)
93 iad_knot = igeo(40,ipid)
94 px = igeo(41,ipid)
95 py = igeo(42,ipid)
96 pz = igeo(43,ipid)
97
98 ALLOCATE (knotlocx(px+1,nctrl),knotlocy(py+1,nctrl),knotlocz(pz+1,nctrl))
99
100 DO j=1,nctrl
101 x_igeo(j)=x(1,ixig3d(kxig3d(4,js)+j-1))
102 y_igeo(j)=x(2,ixig3d(kxig3d(4,js)+j-1))
103 z_igeo(j)=x(3,ixig3d(kxig3d(4,js)+j-1))
104 vx_igeo(j)=v(1,ixig3d(kxig3d(4,js)+j-1))
105 vy_igeo(j)=v(2,ixig3d(kxig3d(4,js)+j-1))
106 vz_igeo(j)=v(3,ixig3d(kxig3d(4,js)+j-1))
107 w_igeo(j)=wige(ixig3d(kxig3d(4,js)+j-1))
108
109 DO k=1,px+1
110 knotlocx(k,j)=knotlocpc(k,1,(ipid-1)*numnod+ixig3d(kxig3d(4,js)+j-1))
111 ENDDO
112 DO k=1,py+1
113 knotlocy(k,j)=knotlocpc(k,2,(ipid-1)*numnod+ixig3d(kxig3d(4,js)+j-1))
114 ENDDO
115 DO k=1,pz+1
116 knotlocz(k,j)=knotlocpc(k,3,(ipid-1)*numnod+ixig3d(kxig3d(4,js)+j-1))
117 ENDDO
118
119 ENDDO
120 n1 = igeo(44,ipid)
121 n2 = igeo(45,ipid)
122 n3 = igeo(46,ipid)
123 nknot1 = n1+px
124 nknot2 = n2+py
125 nknot3 = n3+pz
126 idx = kxig3d(6,js)
127 idy = kxig3d(7,js)
128 idz = kxig3d(8,js)
129 idx2 = kxig3d(9,js)
130 idy2 = kxig3d(10,js)
131 idz2 = kxig3d(11,js)
132C
133 xi = zero
134 yi = zero
135 zi = zero
136 vxi = zero
137 vyi = zero
138 vzi = zero
139 zr = intbuf_tab(n)%RIGE(3*(i-1)+1)
140 zs = intbuf_tab(n)%RIGE(3*(i-1)+2)
141 zt = intbuf_tab(n)%RIGE(3*(i-1)+3)
142C
143c CALL IGE3DBASIS(
144c 1 JS ,N ,X_IGEO ,Y_IGEO ,
145c 2 Z_IGEO ,W_IGEO ,IDX ,IDY ,
146c 3 IDZ ,R ,
147c 4 NCTRL ,ZR ,ZS ,ZT ,
148c 5 KNOT(IAD_KNOT+1) ,KNOT(IAD_KNOT+NKNOT1+1),
149c 6 KNOT(IAD_KNOT+NKNOT1+NKNOT2+1) ,PX-1 ,
150c 7 PY-1 ,PZ-1 ,0)
151
152 CALL ig3donebasis(
153 1 js ,n ,x_igeo ,y_igeo,
154 2 z_igeo,w_igeo ,idx ,idy ,
155 3 idz ,knotlocx ,knotlocy,knotlocz,
156 4 r ,nctrl ,
157 5 zr ,zs ,zt ,knot(iad_knot+1),
158 6 knot(iad_knot+nknot1+1),knot(iad_knot+nknot1+nknot2+1),px-1,
159 7 py-1 ,pz-1 ,0 ,
160 8 idx2,idy2 ,idz2 ,
161 9 knotlocelx,knotlocely,knotlocelz)
162C
163 DO j=1,nctrl
164c print*,'R', R(J)
165 xi = xi + r(j)*x_igeo(j)
166 yi = yi + r(j)*y_igeo(j)
167 zi = zi + r(j)*z_igeo(j)
168 vxi = vxi + r(j)*vx_igeo(j)
169 vyi = vyi + r(j)*vy_igeo(j)
170 vzi = vzi + r(j)*vz_igeo(j)
171 ENDDO
172 intbuf_tab(n)%XIGE(3*(i-1)+1)=xi
173 intbuf_tab(n)%XIGE(3*(i-1)+2)=yi
174 intbuf_tab(n)%XIGE(3*(i-1)+3)=zi
175 intbuf_tab(n)%VIGE(3*(i-1)+1)=vxi
176 intbuf_tab(n)%VIGE(3*(i-1)+2)=vyi
177 intbuf_tab(n)%VIGE(3*(i-1)+3)=vzi
178 DEALLOCATE (knotlocx,knotlocy,knotlocz)
179 ENDDO
180 ENDDO
181C
182 RETURN
#define my_real
Definition cppsort.cpp:32
subroutine ig3donebasis(itel, n, xxi, yyi, zzi, wwi, idx, idy, idz, knotlocx, knotlocy, knotlocz, r, nctrl, gaussx, gaussy, gaussz, kx, ky, kz, px, py, pz, boolg, idx2, idy2, idz2, knotlocelx, knotlocely, knotlocelz)