OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
c3epsini.F File Reference
#include "implicit_f.inc"
#include "mvsiz_p.inc"
#include "param_c.inc"
#include "scr03_c.inc"

Go to the source code of this file.

Functions/Subroutines

subroutine c3epsini (elbuf_str, mat_param, jft, jlt, ismstr, mtn, ithk, pm, geo, ixtg, x, xreftg, for, thk, eint, gstr, nlay, px1g, py1g, py2g, x2s, x3s, y3s, uvar, ipm, nel, dir_a, dir_b, sigi, npf, tf, irep, ish3nfr, imat)
subroutine c3pxpyi (jft, jlt, ismstr, px1g, py1g, py2g, px1, py1, py2, x2l, x3l, y3l, x1g, x2g, x3g, y1g, y2g, y3g, z1g, z2g, z3g, e1x, e2x, e3x, e1y, e2y, e3y, e1z, e2z, e3z)
subroutine c3defoi (jft, jlt, nel, vl, gstr, px1, py1, py2, area, exx, eyy, exy, eyz, ezx, e1x, e2x, e3x, e1y, e2y, e3y, e1z, e2z, e3z)
subroutine c3newve3 (jft, jlt, ecos, esin, area, x1, x2, x3, y1, y2, y3, z1, z2, z3, e1x, e2x, e3x, e1y, e2y, e3y, e1z, e2z, e3z)
subroutine shtroto3 (jft, jlt, ecos, esin, gstr, nel)

Function/Subroutine Documentation

◆ c3defoi()

subroutine c3defoi ( integer jft,
integer jlt,
integer nel,
vl,
gstr,
px1,
py1,
py2,
area,
exx,
eyy,
exy,
eyz,
ezx,
e1x,
e2x,
e3x,
e1y,
e2y,
e3y,
e1z,
e2z,
e3z )

Definition at line 340 of file c3epsini.F.

344C-----------------------------------------------
345C I m p l i c i t T y p e s
346C-----------------------------------------------
347#include "implicit_f.inc"
348C-----------------------------------------------
349C G l o b a l P a r a m e t e r s
350C-----------------------------------------------
351#include "mvsiz_p.inc"
352C-----------------------------------------------
353C D u m m y A r g u m e n t s
354C-----------------------------------------------
355 INTEGER JFT, JLT,NEL
356 my_real vl(3,3,*),gstr(nel,8),px1(*),py1(*),py2(*),
357 . exx(mvsiz) , eyy(mvsiz) , exy(mvsiz) ,
358 . ezx(mvsiz) , eyz(mvsiz) , area(mvsiz),
359 . e1x(mvsiz) , e1y(mvsiz) , e1z(mvsiz) ,
360 . e2x(mvsiz) , e2y(mvsiz) , e2z(mvsiz) ,
361 . e3x(mvsiz) , e3y(mvsiz) , e3z(mvsiz)
362C-----------------------------------------------
363C L o c a l V a r i a b l e s
364C-----------------------------------------------
365 INTEGER I
366 my_real
367 . vx1(mvsiz) , vx2(mvsiz) , vx3(mvsiz) ,
368 . vy1(mvsiz) , vy2(mvsiz) , vy3(mvsiz) ,
369 . vz1(mvsiz) , vz2(mvsiz) , vz3(mvsiz) ,
370 . vx12(mvsiz), vx13(mvsiz), vx23(mvsiz),
371 . vy12(mvsiz), vy13(mvsiz), vy23(mvsiz),
372 . vz12(mvsiz), vz13(mvsiz), vz23(mvsiz)
373 my_real
374 . tmp1, tmp2, fac1
375C=======================================================================
376 DO i=jft,jlt
377 vx1(i)=e1x(i)*vl(1,1,i)+e1y(i)*vl(2,1,i)+e1z(i)*vl(3,1,i)
378 vx2(i)=e1x(i)*vl(1,2,i)+e1y(i)*vl(2,2,i)+e1z(i)*vl(3,2,i)
379 vx3(i)=e1x(i)*vl(1,3,i)+e1y(i)*vl(2,3,i)+e1z(i)*vl(3,3,i)
380C
381 vy3(i)=e2x(i)*vl(1,3,i)+e2y(i)*vl(2,3,i)+e2z(i)*vl(3,3,i)
382 vy2(i)=e2x(i)*vl(1,2,i)+e2y(i)*vl(2,2,i)+e2z(i)*vl(3,2,i)
383 vy1(i)=e2x(i)*vl(1,1,i)+e2y(i)*vl(2,1,i)+e2z(i)*vl(3,1,i)
384C
385 vz1(i)=e3x(i)*vl(1,1,i)+e3y(i)*vl(2,1,i)+e3z(i)*vl(3,1,i)
386 vz2(i)=e3x(i)*vl(1,2,i)+e3y(i)*vl(2,2,i)+e3z(i)*vl(3,2,i)
387 vz3(i)=e3x(i)*vl(1,3,i)+e3y(i)*vl(2,3,i)+e3z(i)*vl(3,3,i)
388 ENDDO
389C
390 DO i=jft,jlt
391 vz12(i)=vz1(i) - vz2(i)
392 vz13(i)=vz1(i) - vz3(i)
393 vz23(i)=vz2(i) - vz3(i)
394C
395 tmp1 = fourth * vz12(i) / (py1(i)+py2(i))
396 tmp2 = (py1(i) * vz1(i) + py2(i) * vz2(i)) / (py1(i)+py2(i))
397 tmp2 = fourth * (tmp2 - vz3(i)) / px1(i)
398C
399 vx1(i) = vx1(i) - vz1(i) * tmp1
400 vx2(i) = vx2(i) - vz2(i) * tmp1
401 vx3(i) = vx3(i) - vz3(i) * tmp1
402C
403 vy1(i) = vy1(i) - vz1(i) * tmp2
404 vy2(i) = vy2(i) - vz2(i) * tmp2
405 vy3(i) = vy3(i) - vz3(i) * tmp2
406C
407 vx12(i)=vx1(i) - vx2(i)
408 vy12(i)=vy1(i) - vy2(i)
409 vx13(i)=vx1(i) - vx3(i)
410 vy13(i)=vy1(i) - vy3(i)
411 vx23(i)=vx2(i) - vx3(i)
412 vy23(i)=vy2(i) - vy3(i)
413C
414 exx(i)=px1(i)*vx12(i)
415 eyy(i)=py1(i)*vy13(i) + py2(i)*vy23(i)
416C
417 exy(i)=py1(i)*vx13(i) + py2(i)*vx23(i) + px1(i)*vy12(i)
418 eyz(i)=py1(i)*vz13(i) + py2(i)*vz23(i)
419 ezx(i)=px1(i)*vz12(i)
420 ENDDO
421C
422 DO i=jft,jlt
423 fac1 = one/area(i)
424 exx(i)=exx(i)*fac1
425 eyy(i)=eyy(i)*fac1
426 exy(i)=exy(i)*fac1
427 ENDDO
428C
429 DO i=jft,jlt
430 gstr(i,1)=gstr(i,1)+exx(i)
431 gstr(i,2)=gstr(i,2)+eyy(i)
432 gstr(i,3)=gstr(i,3)+exy(i)
433 ENDDO
434c-----------
435 RETURN
#define my_real
Definition cppsort.cpp:32
subroutine area(d1, x, x2, y, y2, eint, stif0)

◆ c3epsini()

subroutine c3epsini ( type (elbuf_struct_), target elbuf_str,
type (matparam_struct_), intent(in) mat_param,
integer jft,
integer jlt,
integer ismstr,
integer mtn,
integer ithk,
pm,
geo,
integer, dimension(nixtg,*) ixtg,
x,
xreftg,
for,
thk,
eint,
gstr,
integer nlay,
px1g,
py1g,
py2g,
x2s,
x3s,
y3s,
uvar,
integer, dimension(npropmi,*) ipm,
integer nel,
dir_a,
dir_b,
sigi,
integer, dimension(*) npf,
tf,
integer irep,
integer ish3nfr,
integer imat )

Definition at line 37 of file c3epsini.F.

45C-----------------------------------------------
46C M o d u l e s
47C-----------------------------------------------
48 USE mat_elem_mod
49C-----------------------------------------------
50C I m p l i c i t T y p e s
51C-----------------------------------------------
52#include "implicit_f.inc"
53C-----------------------------------------------
54C G l o b a l P a r a m e t e r s
55C-----------------------------------------------
56#include "mvsiz_p.inc"
57C-----------------------------------------------
58C C o m m o n B l o c k s
59C-----------------------------------------------
60#include "param_c.inc"
61#include "scr03_c.inc"
62C-----------------------------------------------
63C D u m m y A r g u m e n t s
64C-----------------------------------------------
65 INTEGER JFT,JLT,ISMSTR,MTN,ITHK,NEL,NLAY,IREP,ISH3NFR,IMAT
66 INTEGER IXTG(NIXTG,*),IPM(NPROPMI,*),NPF(*)
68 . pm(npropm,*),geo(npropg,*),x(3,*),xreftg(3,3,*),
69 . for(nel,5) ,thk(*) ,eint(nel,2),gstr(nel,8),
70 . px1g(*) ,py1g(*) ,py2g(*),x2s(*) ,x3s(*) ,y3s(*),
71 . uvar(*),dir_a(nel,*),dir_b(nel,*),sigi(nel,3),tf(*),
72 . px1(mvsiz), py1(mvsiz), py2(mvsiz)
73 TYPE (ELBUF_STRUCT_), TARGET :: ELBUF_STR
74 TYPE (MATPARAM_STRUCT_) ,INTENT(IN) :: MAT_PARAM
75C------------------------------------------------------
76C L o c a l V a r i a b l e s
77C-----------------------------------------------
78 INTEGER I, NT, I1, I2, I3,IDRAPE,IGTYP
79 my_real fac
80 my_real ecos(mvsiz),esin(mvsiz),
81 . e1x(mvsiz), e1y(mvsiz), e1z(mvsiz),
82 . e2x(mvsiz), e2y(mvsiz), e2z(mvsiz),
83 . e3x(mvsiz), e3y(mvsiz), e3z(mvsiz),
84 . exx(mvsiz),eyy(mvsiz),exy(mvsiz),eyz(mvsiz),ezx(mvsiz),
85 . x1(mvsiz) , x2(mvsiz) , x3(mvsiz) ,x4(mvsiz) ,
86 . y1(mvsiz) , y2(mvsiz) , y3(mvsiz) ,y4(mvsiz) ,
87 . z1(mvsiz) , z2(mvsiz) , z3(mvsiz) ,z4(mvsiz) ,
88 . x31(mvsiz) , y31(mvsiz) , z31(mvsiz),
89 . vl(3,3,mvsiz), xl(3,3,mvsiz),area(mvsiz),
90 . x2h(mvsiz), x3h(mvsiz), y3h(mvsiz),
91 . x2l(mvsiz), x3l(mvsiz), y3l(mvsiz)
92 my_real, DIMENSION(:) , POINTER :: dir1, dir2
93C=======================================================================
94 idrape = elbuf_str%IDRAPE
95 igtyp = elbuf_str%IGTYP
96 DO i=jft,jlt
97 i1 = ixtg(2,i)
98 i2 = ixtg(3,i)
99 i3 = ixtg(4,i)
100 x1(i) = zero
101 y1(i) = zero
102 z1(i) = zero
103 x2(i) = x(1,i2) - x(1,i1)
104 y2(i) = x(2,i2) - x(2,i1)
105 z2(i) = x(3,i2) - x(3,i1)
106 x3(i) = x(1,i3) - x(1,i1)
107 y3(i) = x(2,i3) - x(2,i1)
108 z3(i) = x(3,i3) - x(3,i1)
109 ENDDO
110c
111 CALL c3evec3(jft ,jlt ,area,
112 . x1 ,x2 ,x3 ,y1 ,y2 ,y3 ,
113 . z1 ,z2 ,z3 ,e1x ,e2x ,e3x ,
114 . e1y ,e2y ,e3y ,e1z ,e2z ,e3z ,
115 . x31, y31, z31 ,x2l ,x3l ,y3l )
116c
117 DO i=jft,jlt
118 xl(1,2,i) = e1x(i)*x2(i) + e1y(i)*y2(i) + e1z(i)*z2(i)
119 xl(2,2,i) = e2x(i)*x2(i) + e2y(i)*y2(i) + e2z(i)*z2(i)
120 xl(1,3,i) = e1x(i)*x3(i) + e1y(i)*y3(i) + e1z(i)*z3(i)
121 xl(2,3,i) = e2x(i)*x3(i) + e2y(i)*y3(i) + e2z(i)*z3(i)
122 ENDDO
123 DO i=jft,jlt
124 x2(i) = xreftg(2,1,i) - xreftg(1,1,i)
125 y2(i) = xreftg(2,2,i) - xreftg(1,2,i)
126 z2(i) = xreftg(2,3,i) - xreftg(1,3,i)
127 x3(i) = xreftg(3,1,i) - xreftg(1,1,i)
128 y3(i) = xreftg(3,2,i) - xreftg(1,2,i)
129 z3(i) = xreftg(3,3,i) - xreftg(1,3,i)
130 ENDDO
131c
132 CALL c3evec3(jft ,jlt ,area,
133 . x1 ,x2 ,x3 ,y1 ,y2 ,y3 ,
134 . z1 ,z2 ,z3 ,e1x ,e2x ,e3x ,
135 . e1y ,e2y ,e3y ,e1z ,e2z ,e3z ,
136 . x31, y31, z31 ,x2l ,x3l ,y3l )
137c
138C--------For small strain case
139c
140 IF (ish3nfr ==0 ) CALL c3newve3(jft ,jlt ,ecos,esin,area,
141 . x1 ,x2 ,x3 ,y1 ,y2 ,y3 ,
142 . z1 ,z2 ,z3 ,e1x ,e2x ,e3x ,
143 . e1y ,e2y ,e3y ,e1z ,e2z ,e3z )
144c
145 fac = one/float(nitrs)
146 DO i=jft,jlt
147 vl(1,1,i) = zero
148 vl(2,1,i) = zero
149 vl(3,1,i) = zero
150 vl(1,2,i) = e1x(i)*xl(1,2,i) + e2x(i)*xl(2,2,i)
151 vl(2,2,i) = e1y(i)*xl(1,2,i) + e2y(i)*xl(2,2,i)
152 vl(3,2,i) = e1z(i)*xl(1,2,i) + e2z(i)*xl(2,2,i)
153 vl(1,3,i) = e1x(i)*xl(1,3,i) + e2x(i)*xl(2,3,i)
154 vl(2,3,i) = e1y(i)*xl(1,3,i) + e2y(i)*xl(2,3,i)
155 vl(3,3,i) = e1z(i)*xl(1,3,i) + e2z(i)*xl(2,3,i)
156c
157 vl(1,2,i) = (vl(1,2,i) - x2(i))*fac
158 vl(2,2,i) = (vl(2,2,i) - y2(i))*fac
159 vl(3,2,i) = (vl(3,2,i) - z2(i))*fac
160 vl(1,3,i) = (vl(1,3,i) - x3(i))*fac
161 vl(2,3,i) = (vl(2,3,i) - y3(i))*fac
162 vl(3,3,i) = (vl(3,3,i) - z3(i))*fac
163 ENDDO
164c-----------------------------------------------------------
165 IF (ismstr/=1 .AND. ismstr/=11) THEN
166C
167 DO nt=1,nitrs
168c FAC = FLOAT(NT) / FLOAT(NITRS)
169 fac = float(nt) - one
170 DO i=jft,jlt
171 x1(i) = xreftg(1,1,i) + fac*vl(1,1,i)
172 y1(i) = xreftg(1,2,i) + fac*vl(2,1,i)
173 z1(i) = xreftg(1,3,i) + fac*vl(3,1,i)
174 x2(i) = xreftg(2,1,i) + fac*vl(1,2,i)
175 y2(i) = xreftg(2,2,i) + fac*vl(2,2,i)
176 z2(i) = xreftg(2,3,i) + fac*vl(3,2,i)
177 x3(i) = xreftg(3,1,i) + fac*vl(1,3,i)
178 y3(i) = xreftg(3,2,i) + fac*vl(2,3,i)
179 z3(i) = xreftg(3,3,i) + fac*vl(3,3,i)
180 ENDDO
181c
182 CALL c3evec3(jft ,jlt ,area,
183 . x1 ,x2 ,x3 ,y1 ,y2 ,y3 ,
184 . z1 ,z2 ,z3 ,e1x ,e2x ,e3x ,
185 . e1y ,e2y ,e3y ,e1z ,e2z ,e3z ,
186 . x31, y31, z31 ,x2l ,x3l ,y3l )
187c
188 IF (ish3nfr==0) CALL c3newve3(jft ,jlt ,ecos,esin,area,
189 . x1 ,x2 ,x3 ,y1 ,y2 ,y3 ,
190 . z1 ,z2 ,z3 ,e1x ,e2x ,e3x ,
191 . e1y ,e2y ,e3y ,e1z ,e2z ,e3z )
192c
193 CALL corth3(elbuf_str,dir_a,dir_b,jft,jlt,
194 . nlay ,irep ,nel ,
195 . x1 ,x2 ,x3 ,x4 ,y1 ,y2 ,
196 . y3 ,y4 ,z1 ,z2 ,z3 ,z4 ,
197 . e1x, e2x, e3x, e1y, e2y, e3y ,e1z, e2z, e3z ,
198 . idrape , igtyp )
199c
200 CALL c3pxpyi(jft ,jlt ,ismstr,
201 . px1g ,py1g ,py2g ,
202 . px1 ,py1 ,py2 ,
203 . x2h ,x3h ,y3h ,
204 . x1 ,x2 ,x3 ,y1 ,y2 ,y3 ,
205 . z1 ,z2 ,z3 ,e1x ,e2x ,e3x ,
206 . e1y ,e2y ,e3y ,e1z ,e2z ,e3z )
207 CALL c3defoi(jft ,jlt ,nel ,vl ,gstr,
208 . px1 ,py1 ,py2 ,area,
209 . exx ,eyy ,exy ,eyz ,ezx ,
210 . e1x ,e2x ,e3x ,e1y ,e2y ,e3y ,e1z ,e2z ,e3z )
211c
212 IF (ish3nfr ==0 ) CALL shtroto3(jft,jlt,ecos,esin,gstr,nel)
213c
214 CALL cmlawi(mat_param,
215 . jft ,jlt ,mtn ,ithk ,pm ,
216 . for ,thk ,eint ,gstr ,dir_a ,
217 . dir_b ,uvar ,ipm ,
218 . nel ,sigi ,npf ,tf ,
219 . area ,exx ,eyy ,exy ,imat )
220C
221 ENDDO
222 ELSE
223C------
224C SMALL STRAIN FORMULATION.
225C------
226 CALL c3pxpyi(jft ,jlt ,ismstr,
227 . px1g ,py1g ,py2g ,
228 . px1 ,py1 ,py2 ,
229 . x2s ,x3s ,y3s ,
230 . x1 ,x2 ,x3 ,y1 ,y2 ,y3 ,
231 . z1 ,z2 ,z3 ,e1x ,e2x ,e3x ,
232 . e1y ,e2y ,e3y ,e1z ,e2z ,e3z )
233 dir1 => elbuf_str%BUFLY(1)%DIRA
234 dir2 => elbuf_str%BUFLY(1)%DIRB
235c
236 DO nt=1,nitrs
237 CALL c3defoi(jft ,jlt ,nel ,vl ,gstr,
238 . px1 ,py1 ,py2 ,area,
239 . exx ,eyy ,exy ,eyz ,ezx ,
240 . e1x ,e2x ,e3x ,e1y ,e2y ,e3y ,e1z ,e2z ,e3z )
241c
242 IF (ish3nfr == 0) CALL shtroto3(jft,jlt,ecos,esin,gstr,nel)
243c
244 CALL cmlawi(mat_param,
245 . jft ,jlt ,mtn ,ithk ,pm ,
246 . for ,thk ,eint ,gstr ,dir1 ,
247 . dir2 ,uvar ,ipm ,
248 . nel ,sigi ,npf ,tf ,
249 . area ,exx ,eyy ,exy ,imat )
250 ENDDO
251c
252 ENDIF
253c-----------
254 RETURN
subroutine c3newve3(jft, jlt, ecos, esin, area, x1, x2, x3, y1, y2, y3, z1, z2, z3, e1x, e2x, e3x, e1y, e2y, e3y, e1z, e2z, e3z)
Definition c3epsini.F:448
subroutine shtroto3(jft, jlt, ecos, esin, gstr, nel)
Definition c3epsini.F:521
subroutine c3defoi(jft, jlt, nel, vl, gstr, px1, py1, py2, area, exx, eyy, exy, eyz, ezx, e1x, e2x, e3x, e1y, e2y, e3y, e1z, e2z, e3z)
Definition c3epsini.F:344
subroutine c3pxpyi(jft, jlt, ismstr, px1g, py1g, py2g, px1, py1, py2, x2l, x3l, y3l, x1g, x2g, x3g, y1g, y2g, y3g, z1g, z2g, z3g, e1x, e2x, e3x, e1y, e2y, e3y, e1z, e2z, e3z)
Definition c3epsini.F:270
subroutine cmlawi(mat_param, jft, jlt, ilaw, ithk, pm, for, thk, eint, gstr, dir1, dir2, uvar, ipm, nel, sigi, npf, tf, area, exx, eyy, exy, imat)
Definition cepsini.F:279
subroutine corth3(elbuf_str, dir_a, dir_b, jft, jlt, nlay, irep, nel, x1, x2, x3, x4, y1, y2, y3, y4, z1, z2, z3, z4, e1x, e2x, e3x, e1y, e2y, e3y, e1z, e2z, e3z, idrape, igtyp)
Definition corth3.F:42
for(i8=*sizetab-1;i8 >=0;i8--)
subroutine c3evec3(jft, jlt, area, x1, x2, x3, y1, y2, y3, z1, z2, z3, e1x, e2x, e3x, e1y, e2y, e3y, e1z, e2z, e3z, x31, y31, z31, x2l, x3l, y3l)
Definition c3evec3.F:39

◆ c3newve3()

subroutine c3newve3 ( integer jft,
integer jlt,
ecos,
esin,
area,
x1,
x2,
x3,
y1,
y2,
y3,
z1,
z2,
z3,
e1x,
e2x,
e3x,
e1y,
e2y,
e3y,
e1z,
e2z,
e3z )

Definition at line 444 of file c3epsini.F.

448C-----------------------------------------------
449C I m p l i c i t T y p e s
450C-----------------------------------------------
451#include "implicit_f.inc"
452C-----------------------------------------------
453C G l o b a l P a r a m e t e r s
454C-----------------------------------------------
455#include "mvsiz_p.inc"
456C-----------------------------------------------
457C D u m m y A r g u m e n t s
458C-----------------------------------------------
459 INTEGER JFT, JLT
460 my_real
461 . ecos(mvsiz),esin(mvsiz),area(mvsiz),
462 . e1x(mvsiz), e1y(mvsiz), e1z(mvsiz),
463 . e2x(mvsiz), e2y(mvsiz), e2z(mvsiz),
464 . e3x(mvsiz), e3y(mvsiz), e3z(mvsiz),
465 . x1(mvsiz) , x2(mvsiz) , x3(mvsiz) ,
466 . y1(mvsiz) , y2(mvsiz) , y3(mvsiz) ,
467 . z1(mvsiz) , z2(mvsiz) , z3(mvsiz)
468C-----------------------------------------------
469C L o c a l V a r i a b l e s
470C-----------------------------------------------
471 INTEGER I, II
472 my_real aa,bb,
473 . e1x0(mvsiz), e1y0(mvsiz), e1z0(mvsiz),
474 . e2x0(mvsiz), e2y0(mvsiz), e2z0(mvsiz),
475 . e3x0(mvsiz), e3y0(mvsiz), e3z0(mvsiz)
476C=======================================================================
477 DO i=jft,jlt
478 e1x0(i) = e1x(i)
479 e1y0(i) = e1y(i)
480 e1z0(i) = e1z(i)
481 e2x0(i) = e2x(i)
482 e2y0(i) = e2y(i)
483 e2z0(i) = e2z(i)
484 e3x0(i) = e3x(i)
485 e3y0(i) = e3y(i)
486 e3z0(i) = e3z(i)
487 ENDDO
488c
489 CALL cdkevec3(jft ,jlt ,area,
490 . x1 ,x2 ,x3 ,y1 ,y2 ,y3 ,
491 . z1 ,z2 ,z3 ,e1x ,e2x ,e3x ,
492 . e1y ,e2y ,e3y ,e1z ,e2z ,e3z )
493c
494 DO i=jft,jlt
495 ecos(i) = e1x(i)*e1x0(i)+e1y(i)*e1y0(i)+e1z(i)*e1z0(i)
496 aa = max(zero,one-ecos(i)*ecos(i))
497 esin(i) = sqrt(aa)
498 bb = e1x(i)*e2x0(i)+e1y(i)*e2y0(i)+e1z(i)*e2z0(i)
499 IF (bb >zero) esin(i) = -esin(i)
500 ENDDO
501 DO i=jft,jlt
502 e1x(i) = e1x0(i)
503 e1y(i) = e1y0(i)
504 e1z(i) = e1z0(i)
505 e2x(i) = e2x0(i)
506 e2y(i) = e2y0(i)
507 e2z(i) = e2z0(i)
508 e3x(i) = e3x0(i)
509 e3y(i) = e3y0(i)
510 e3z(i) = e3z0(i)
511 ENDDO
512c-----------
513 RETURN
subroutine cdkevec3(jft, jlt, area, x1, x2, x3, y1, y2, y3, z1, z2, z3, e1x, e2x, e3x, e1y, e2y, e3y, e1z, e2z, e3z)
Definition cdkevec3.F:38
#define max(a, b)
Definition macros.h:21

◆ c3pxpyi()

subroutine c3pxpyi ( integer jft,
integer jlt,
integer ismstr,
px1g,
py1g,
py2g,
px1,
py1,
py2,
x2l,
x3l,
y3l,
x1g,
x2g,
x3g,
y1g,
y2g,
y3g,
z1g,
z2g,
z3g,
e1x,
e2x,
e3x,
e1y,
e2y,
e3y,
e1z,
e2z,
e3z )

Definition at line 263 of file c3epsini.F.

270C-----------------------------------------------
271C I m p l i c i t T y p e s
272C-----------------------------------------------
273#include "implicit_f.inc"
274C-----------------------------------------------
275C G l o b a l P a r a m e t e r s
276C-----------------------------------------------
277#include "mvsiz_p.inc"
278C-----------------------------------------------
279C D u m m y A r g u m e n t s
280C-----------------------------------------------
281 INTEGER JFT, JLT, ISMSTR
282C REAL
283 my_real
284 . px1(*), py1(*), py2(*),
285 . px1g(*), py1g(*), py2g(*),
286 . x2l(*),x3l(*),y3l(*),
287 . x1g(mvsiz), x2g(mvsiz), x3g(mvsiz),
288 . y1g(mvsiz), y2g(mvsiz), y3g(mvsiz),
289 . z1g(mvsiz), z2g(mvsiz), z3g(mvsiz),
290 . e1x(mvsiz), e1y(mvsiz), e1z(mvsiz),
291 . e2x(mvsiz), e2y(mvsiz), e2z(mvsiz),
292 . e3x(mvsiz), e3y(mvsiz), e3z(mvsiz)
293C-----------------------------------------------
294C L o c a l V a r i a b l e s
295C-----------------------------------------------
296 INTEGER I
297 my_real x21g(mvsiz), y21g(mvsiz), z21g(mvsiz),
298 . x31g(mvsiz), y31g(mvsiz), z31g(mvsiz)
299C=======================================================================
300 IF (ismstr/=3)THEN
301 DO i=jft,jlt
302 x21g(i)=x2g(i)-x1g(i)
303 y21g(i)=y2g(i)-y1g(i)
304 z21g(i)=z2g(i)-z1g(i)
305 x31g(i)=x3g(i)-x1g(i)
306 y31g(i)=y3g(i)-y1g(i)
307 z31g(i)=z3g(i)-z1g(i)
308 ENDDO
309C
310 DO i=jft,jlt
311 y3l(i)=e2x(i)*x31g(i)+e2y(i)*y31g(i)+e2z(i)*z31g(i)
312 x3l(i)=e1x(i)*x31g(i)+e1y(i)*y31g(i)+e1z(i)*z31g(i)
313 x2l(i)=e1x(i)*x21g(i)+e1y(i)*y21g(i)+e1z(i)*z21g(i)
314 ENDDO
315C
316 DO i=jft,jlt
317 px1(i)=-half * y3l(i)
318 py1(i)= half *(x3l(i)-x2l(i))
319 py2(i)=-half * x3l(i)
320 ENDDO
321C
322 ELSE
323C
324 DO i=jft,jlt
325 px1(i) = px1g(i)
326 py1(i) = py1g(i)
327 py2(i) = py2g(i)
328 ENDDO
329C
330 ENDIF
331C
332 RETURN

◆ shtroto3()

subroutine shtroto3 ( integer jft,
integer jlt,
ecos,
esin,
gstr,
integer nel )

Definition at line 520 of file c3epsini.F.

521C-----------------------------------------------
522C I m p l i c i t T y p e s
523C-----------------------------------------------
524#include "implicit_f.inc"
525C-----------------------------------------------
526C G l o b a l P a r a m e t e r s
527C-----------------------------------------------
528#include "mvsiz_p.inc"
529C-----------------------------------------------
530C D u m m y A r g u m e n t s
531C-----------------------------------------------
532 INTEGER JFT, JLT,ISMSTR,NEL
533C REAL
534 my_real
535 . gstr(nel,8),ecos(mvsiz),esin(mvsiz)
536C-----------------------------------------------
537C L o c a l V a r i a b l e s
538C-----------------------------------------------
539 INTEGER I,J
540C REAL
541 my_real
542 . m2(mvsiz),n2(mvsiz),mn(mvsiz),cm(4),mn2(mvsiz),t1,t2,t3
543C-----------------------------------------------
544 DO i=jft,jlt
545 m2(i)= ecos(i)*ecos(i)
546 n2(i)= esin(i)*esin(i)
547 mn(i)= ecos(i)*esin(i)
548 mn2(i)= two*mn(i)
549 ENDDO
550C------Exy :2*exy
551 DO i=jft,jlt
552 t1 = gstr(i,3)*mn(i)
553 cm(1)=m2(i)*gstr(i,1)+n2(i)*gstr(i,2)-t1
554 cm(2)=n2(i)*gstr(i,1)+m2(i)*gstr(i,2)+t1
555 cm(3)=(gstr(i,1)-gstr(i,2))*mn2(i)+gstr(i,3)*(m2(i)-n2(i))
556 gstr(i,1)=cm(1)
557 gstr(i,2)=cm(2)
558 gstr(i,3)=cm(3)
559 ENDDO
560C
561 RETURN