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

Go to the source code of this file.

Functions/Subroutines

subroutine sctorth3 (jft, jlt, icstr, nel, rx, ry, rz, sx, sy, sz, tx, ty, tz, e1x, e1y, e1z, e2x, e2y, e2z, e3x, e3y, e3z, g1x, g1y, g1z, g2x, g2y, g2z, g3x, g3y, g3z, gama, irep)

Function/Subroutine Documentation

◆ sctorth3()

subroutine sctorth3 ( integer jft,
integer jlt,
integer icstr,
integer nel,
rx,
ry,
rz,
sx,
sy,
sz,
tx,
ty,
tz,
e1x,
e1y,
e1z,
e2x,
e2y,
e2z,
e3x,
e3y,
e3z,
g1x,
g1y,
g1z,
g2x,
g2y,
g2z,
g3x,
g3y,
g3z,
gama,
integer, intent(in) irep )

Definition at line 29 of file sctorth3.F.

39C-----------------------------------------------
40C I m p l i c i t T y p e s
41C-----------------------------------------------
42#include "implicit_f.inc"
43C-----------------------------------------------
44C G l o b a l P a r a m e t e r s
45C-----------------------------------------------
46#include "mvsiz_p.inc"
47C-----------------------------------------------
48C D u m m y A r g u m e n t s
49C-----------------------------------------------
50 INTEGER, INTENT(IN) :: IREP
51 INTEGER JFT, JLT,ICSTR,NEL
52C REAL
54 . rx(*) ,ry(*) ,rz(*) ,sx(*) ,sy(*) ,sz(*) ,tx(*) ,ty(*) ,tz(*),
55 . e1x(*),e1y(*),e1z(*),e2x(*),e2y(*),e2z(*),e3x(*),e3y(*),e3z(*),
56 . g1x(*),g1y(*),g1z(*),
57 . g2x(*),g2y(*),g2z(*),g3x(*),g3y(*),g3z(*),gama(nel,6)
58C-----------------------------------------------
59C C o m m o n B l o c k s
60C-----------------------------------------------
61C-----------------------------------------------
62C L o c a l V a r i a b l e s
63C-----------------------------------------------
64 INTEGER I
65C REAL
66 my_real
67 . v1,v2,v3,vr,vs,aa,bb,suma,cpn(mvsiz),spn(mvsiz)
68C-----------------------------------------------
69 IF(irep == 0) THEN
70 cpn(jft:jlt) = gama(jft:jlt,1)
71 spn(jft:jlt) = gama(jft:jlt,2)
72 ELSE
73 SELECT CASE (icstr)
74 CASE (1)
75 DO i=jft,jlt
76 aa = gama(i,1)
77 bb = gama(i,2)
78 v1 = aa*rx(i) + bb*sx(i)
79 v2 = aa*ry(i) + bb*sy(i)
80 v3 = aa*rz(i) + bb*sz(i)
81 vr=v1*e2x(i)+v2*e2y(i)+v3*e2z(i)
82 vs=v1*e3x(i)+v2*e3y(i)+v3*e3z(i)
83 suma=sqrt(vr*vr + vs*vs)
84 suma=one/max(em20,suma)
85 cpn(i) = vr*suma
86 spn(i) = vs*suma
87 ENDDO
88 CASE (100)
89 DO i=jft,jlt
90 aa = gama(i,1)
91 bb = gama(i,2)
92 v1 = aa*sx(i) + bb*tx(i)
93 v2 = aa*sy(i) + bb*ty(i)
94 v3 = aa*sz(i) + bb*tz(i)
95 vr=v1*e3x(i)+v2*e3y(i)+v3*e3z(i)
96 vs=v1*e1x(i)+v2*e1y(i)+v3*e1z(i)
97 suma=sqrt(vr*vr + vs*vs)
98 suma=one/max(em20,suma)
99 cpn(i) = vr*suma
100 spn(i) = vs*suma
101 ENDDO
102 CASE (10)
103 DO i=jft,jlt
104 aa = gama(i,1)
105 bb = gama(i,2)
106 v1 = aa*tx(i) + bb*rx(i)
107 v2 = aa*ty(i) + bb*ry(i)
108 v3 = aa*tz(i) + bb*rz(i)
109 vr=v1*e1x(i)+v2*e1y(i)+v3*e1z(i)
110 vs=v1*e2x(i)+v2*e2y(i)+v3*e2z(i)
111 suma=sqrt(vr*vr + vs*vs)
112 suma=one/max(em20,suma)
113 cpn(i) = vr*suma
114 spn(i) = vs*suma
115 ENDDO
116 END SELECT
117 ENDIF
118C
119 SELECT CASE (icstr)
120 CASE (1)
121 g1x(jft:jlt)=zero
122 g1y(jft:jlt)=cpn(jft:jlt)
123 g1z(jft:jlt)=spn(jft:jlt)
124 g2x(jft:jlt)=zero
125 g2y(jft:jlt)=-spn(jft:jlt)
126 g2z(jft:jlt)=cpn(jft:jlt)
127 g3x(jft:jlt)=one
128 g3y(jft:jlt)=zero
129 g3z(jft:jlt)=zero
130 CASE (100)
131 g1x(jft:jlt)=spn(jft:jlt)
132 g1y(jft:jlt)=zero
133 g1z(jft:jlt)=cpn(jft:jlt)
134 g2x(jft:jlt)=cpn(jft:jlt)
135 g2y(jft:jlt)=zero
136 g2z(jft:jlt)=-spn(jft:jlt)
137 g3x(jft:jlt)=zero
138 g3y(jft:jlt)=one
139 g3z(jft:jlt)=zero
140 CASE (10)
141 g1x(jft:jlt)=cpn(jft:jlt)
142 g1y(jft:jlt)=spn(jft:jlt)
143 g1z(jft:jlt)=zero
144 g2x(jft:jlt)=-spn(jft:jlt)
145 g2y(jft:jlt)=cpn(jft:jlt)
146 g2z(jft:jlt)= zero
147 g3x(jft:jlt)= zero
148 g3y(jft:jlt)= zero
149 g3z(jft:jlt)= one
150 END SELECT
151C----------
152 RETURN
#define my_real
Definition cppsort.cpp:32
#define max(a, b)
Definition macros.h:21