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

Go to the source code of this file.

Functions/Subroutines

subroutine c3curv3 (jft, jlt, vrl1, vrl2, vrl3, ixtg, wxy, ismstr, kxx, kyy, kxy, px1, py1, py2, eyz, ezx, e1x, e1y, e1z, e2x, e2y, e2z, e3x, e3y, e3z)

Function/Subroutine Documentation

◆ c3curv3()

subroutine c3curv3 ( integer jft,
integer jlt,
vrl1,
vrl2,
vrl3,
integer, dimension(nixtg,*) ixtg,
wxy,
integer ismstr,
kxx,
kyy,
kxy,
px1,
py1,
py2,
eyz,
ezx,
e1x,
e1y,
e1z,
e2x,
e2y,
e2z,
e3x,
e3y,
e3z )

Definition at line 31 of file c3curv3.F.

36 use element_mod , only : nixtg
37C-----------------------------------------------
38C I m p l i c i t T y p e s
39C-----------------------------------------------
40#include "implicit_f.inc"
41C-----------------------------------------------
42C G l o b a l P a r a m e t e r s
43C-----------------------------------------------
44#include "mvsiz_p.inc"
45C-----------------------------------------------
46C D u m m y A r g u m e n t s
47C-----------------------------------------------
48 INTEGER JFT, JLT,IXTG(NIXTG,*),ISMSTR
49 my_real vrl1(mvsiz,3), vrl2(mvsiz,3), vrl3(mvsiz,3),wxy(*),
50 . e1x(mvsiz), e1y(mvsiz), e1z(mvsiz), e2x(mvsiz),
51 . e2y(mvsiz), e2z(mvsiz), e3x(mvsiz), e3y(mvsiz),
52 . e3z(mvsiz), ezx(mvsiz), eyz(mvsiz),
53 . px1(mvsiz), py1(mvsiz), py2(mvsiz),
54 . kxx(mvsiz), kyy(mvsiz), kxy(mvsiz)
55C-----------------------------------------------
56C L o c a l V a r i a b l e s
57C-----------------------------------------------
58 INTEGER I
59 my_real rx1(mvsiz), rx2(mvsiz), rx3(mvsiz),
60 . ry1(mvsiz), ry2(mvsiz), ry3(mvsiz)
61 my_real rx12t,rx13t,rx23t,ry12t,ry13t,ry23t,rxavt,ryavt
62C=======================================================================
63 DO i=jft,jlt
64 rx1(i)=e1x(i)*vrl1(i,1)+e1y(i)*vrl1(i,2)+e1z(i)*vrl1(i,3)
65 ry1(i)=e2x(i)*vrl1(i,1)+e2y(i)*vrl1(i,2)+e2z(i)*vrl1(i,3)
66 ry2(i)=e2x(i)*vrl2(i,1)+e2y(i)*vrl2(i,2)+e2z(i)*vrl2(i,3)
67 rx2(i)=e1x(i)*vrl2(i,1)+e1y(i)*vrl2(i,2)+e1z(i)*vrl2(i,3)
68 rx3(i)=e1x(i)*vrl3(i,1)+e1y(i)*vrl3(i,2)+e1z(i)*vrl3(i,3)
69 ry3(i)=e2x(i)*vrl3(i,1)+e2y(i)*vrl3(i,2)+e2z(i)*vrl3(i,3)
70 ENDDO
71C
72 DO i=jft,jlt
73 rx12t = rx1(i) - rx2(i)
74 rx13t = rx1(i) - rx3(i)
75 rx23t = rx2(i) - rx3(i)
76C
77 kyy(i)=-py1(i) * rx13t - py2(i) * rx23t
78 kxy(i)= px1(i) * rx12t
79C
80 ry12t = ry1(i) - ry2(i)
81 ry13t = ry1(i) - ry3(i)
82 ry23t = ry2(i) - ry3(i)
83C
84 kxx(i) = px1(i) * ry12t
85 kxy(i) = py1(i) * ry13t + py2(i) * ry23t - kxy(i)
86C
87 ryavt = px1(i) * (
88 . px1(i) * (-rx1(i)+rx2(i))
89 . + (two*py1(i)+three*py2(i)) * ry1(i)
90 . + (three*py1(i)+two*py2(i)) * ry2(i)
91
92 . + ( py1(i) + py2(i) ) * ry3(i) )
93 rxavt = -px1(i) * (
94 . + (two*py1(i)+py2(i)) * rx1(i)
95 . + (py1(i)+two*py2(i)) * rx2(i)
96 . + three*(py1(i)+py2(i)) * rx3(i) )
97 . + py1(i) * (py1(i)+two*py2(i)) * ry1(i)
98 . - py2(i) * (two*py1(i)+py2(i)) * ry2(i)
99 . + ( py2(i)**2 - py1(i)**2 ) * ry3(i)
100C
101 ezx(i) = ezx(i) + ryavt * third
102 eyz(i) = eyz(i) + rxavt * third
103 ENDDO
104c
105 IF (ismstr==10) THEN
106 DO i=jft,jlt
107 rx12t = rx1(i) - rx2(i)
108 ry13t = ry1(i) - ry3(i)
109 ry23t = ry2(i) - ry3(i)
110C
111 wxy(i) = py1(i) * ry13t + py2(i) * ry23t + px1(i) * rx12t
112 ENDDO
113 ENDIF
114c-----------
115 RETURN
#define my_real
Definition cppsort.cpp:32