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

Go to the source code of this file.

Functions/Subroutines

subroutine sfor_n2stria2 (xc, yc, zc, xc1, yc1, zc1, xc2, yc2, zc2, xc3, yc3, zc3, x1, x2, x3, y1, y2, y3, z1, z2, z3, for_t1, for_t2, for_t3, x4, x5, x6, y4, y5, y6, z4, z5, z6, for_t4, for_t5, for_t6, forc_n1, forc_n2, forc_n3, forc_n, stif, stif0, fqmax, ifctl, ll, penmin, penref, marge, vcx, vcy, vcz, vxc1, vyc1, vzc1, vxc2, vyc2, vzc2, vxc3, vyc3, vzc3, vx1, vx2, vx3, vy1, vy2, vy3, vz1, vz2, vz3, vx4, vx5, vx6, vy4, vy5, vy6, vz4, vz5, vz6, ifc1, nel, e_distor, dt1)

Function/Subroutine Documentation

◆ sfor_n2stria2()

subroutine sfor_n2stria2 ( intent(in) xc,
intent(in) yc,
intent(in) zc,
intent(in) xc1,
intent(in) yc1,
intent(in) zc1,
intent(in) xc2,
intent(in) yc2,
intent(in) zc2,
intent(in) xc3,
intent(in) yc3,
intent(in) zc3,
double precision, dimension(mvsiz), intent(in) x1,
double precision, dimension(mvsiz), intent(in) x2,
double precision, dimension(mvsiz), intent(in) x3,
double precision, dimension(mvsiz), intent(in) y1,
double precision, dimension(mvsiz), intent(in) y2,
double precision, dimension(mvsiz), intent(in) y3,
double precision, dimension(mvsiz), intent(in) z1,
double precision, dimension(mvsiz), intent(in) z2,
double precision, dimension(mvsiz), intent(in) z3,
intent(inout) for_t1,
intent(inout) for_t2,
intent(inout) for_t3,
double precision, dimension(mvsiz), intent(in) x4,
double precision, dimension(mvsiz), intent(in) x5,
double precision, dimension(mvsiz), intent(in) x6,
double precision, dimension(mvsiz), intent(in) y4,
double precision, dimension(mvsiz), intent(in) y5,
double precision, dimension(mvsiz), intent(in) y6,
double precision, dimension(mvsiz), intent(in) z4,
double precision, dimension(mvsiz), intent(in) z5,
double precision, dimension(mvsiz), intent(in) z6,
intent(inout) for_t4,
intent(inout) for_t5,
intent(inout) for_t6,
intent(inout) forc_n1,
intent(inout) forc_n2,
intent(inout) forc_n3,
intent(inout) forc_n,
intent(inout) stif,
intent(in) stif0,
intent(in) fqmax,
integer, intent(out) ifctl,
intent(in) ll,
intent(in) penmin,
intent(in) penref,
intent(in) marge,
intent(in) vcx,
intent(in) vcy,
intent(in) vcz,
intent(in) vxc1,
intent(in) vyc1,
intent(in) vzc1,
intent(in) vxc2,
intent(in) vyc2,
intent(in) vzc2,
intent(in) vxc3,
intent(in) vyc3,
intent(in) vzc3,
intent(in) vx1,
intent(in) vx2,
intent(in) vx3,
intent(in) vy1,
intent(in) vy2,
intent(in) vy3,
intent(in) vz1,
intent(in) vz2,
intent(in) vz3,
intent(in) vx4,
intent(in) vx5,
intent(in) vx6,
intent(in) vy4,
intent(in) vy5,
intent(in) vy6,
intent(in) vz4,
intent(in) vz5,
intent(in) vz6,
integer, dimension(mvsiz), intent(in) ifc1,
integer, intent(in) nel,
intent(inout) e_distor,
intent(in) dt1 )

Definition at line 31 of file sfor_n2stria2.F.

60C-----------------------------------------------
61C I m p l i c i t T y p e s
62C-----------------------------------------------
63#include "implicit_f.inc"
64C-----------------------------------------------
65C G l o b a l P a r a m e t e r s
66C-----------------------------------------------
67#include "mvsiz_p.inc"
68C-----------------------------------------------
69C D u m m y A r g u m e n t s
70C-----------------------------------------------
71 INTEGER, INTENT (IN) :: NEL
72 INTEGER, INTENT (OUT) :: IFCTL
73 INTEGER, DIMENSION(MVSIZ), INTENT (IN) :: IFC1
74 DOUBLE PRECISION, DIMENSION(MVSIZ), INTENT (IN) ::
75 . X1, X2, X3,
76 . Y1, Y2, Y3,
77 . Z1, Z2, Z3,
78 . X4, X5, X6,
79 . Y4, Y5, Y6,
80 . Z4, Z5, Z6
81 my_real, DIMENSION(MVSIZ), INTENT (IN) :: stif0,ll,
82 . xc, yc, zc,
83 . xc1, yc1, zc1,
84 . xc2, yc2, zc2,
85 . xc3, yc3, zc3
86 my_real, DIMENSION(MVSIZ), INTENT (IN) ::
87 . vcx, vcy, vcz,
88 . vxc1, vyc1, vzc1,
89 . vxc2, vyc2, vzc2,
90 . vxc3, vyc3, vzc3,
91 . vx1, vx2, vx3,
92 . vy1, vy2, vy3,
93 . vz1, vz2, vz3,
94 . vx4, vx5, vx6,
95 . vy4, vy5, vy6,
96 . vz4, vz5, vz6
97 my_real, DIMENSION(MVSIZ), INTENT (IN) :: penmin,penref,marge
98 my_real, DIMENSION(MVSIZ), INTENT (INOUT) :: stif
99 my_real, DIMENSION(MVSIZ,3), INTENT (INOUT) :: forc_n,
100 . forc_n1,forc_n2,forc_n3,
101 . for_t1, for_t2, for_t3,
102 . for_t4, for_t5, for_t6
103 my_real, INTENT (IN) :: fqmax,dt1
104 my_real, DIMENSION(NEL), INTENT (INOUT) :: e_distor
105C-----------------------------------------------
106C C o m m o n B l o c k s
107C-----------------------------------------------
108C
109C-----------------------------------------------
110C L o c a l V a r i a b l e s
111C-----------------------------------------------
112 INTEGER I,J,IFCTL1,IEDGE,IFC2(MVSIZ),NIMPA
113C 12
114 my_real
115 . fkt(nel),dx,dy,dz,dcj_0,dcj
116 my_real, DIMENSION(NEL) ::
117 . xs1, xs2, xs3,
118 . ys1, ys2, ys3,
119 . zs1, zs2, zs3,
120 . xs4, xs5, xs6,
121 . ys4, ys5, ys6,
122 . zs4, zs5, zs6
123C----------------------------
124 fkt(1:nel) = one
125 ifc2(1:nel) = ifc1(1:nel)
126 CALL ssort_n3(xc , yc , zc ,
127 . x1, x2, x3,
128 . y1, y2, y3,
129 . z1, z2, z3,
130 . marge, stif0, ifc2,
131 . nel)
132 ifctl = 0
133 ifctl1 = 0
134 DO i=1,nel
135 IF (ifc2(i)==0) cycle
136 ifctl1=1
137 END DO
138C
139 IF (ifctl1==1) THEN
140 xs1(1:nel) = x1(1:nel)
141 xs2(1:nel) = x2(1:nel)
142 xs3(1:nel) = x3(1:nel)
143 xs4(1:nel) = x4(1:nel)
144 xs5(1:nel) = x5(1:nel)
145 xs6(1:nel) = x6(1:nel)
146 ys1(1:nel) = y1(1:nel)
147 ys2(1:nel) = y2(1:nel)
148 ys3(1:nel) = y3(1:nel)
149 ys4(1:nel) = y4(1:nel)
150 ys5(1:nel) = y5(1:nel)
151 ys6(1:nel) = y6(1:nel)
152 zs1(1:nel) = z1(1:nel)
153 zs2(1:nel) = z2(1:nel)
154 zs3(1:nel) = z3(1:nel)
155 zs4(1:nel) = z4(1:nel)
156 zs5(1:nel) = z5(1:nel)
157 zs6(1:nel) = z6(1:nel)
158C
159 nimpa = 0
160C------ 1,4,6
161 CALL sfor_n2s3(xc1, yc1, zc1,forc_n1,
162 . xs1, ys1, zs1, for_t1,
163 . xs4, ys4, zs4, for_t4,
164 . xs6, ys6, zs6, for_t6,
165 . stif0, ifc2, ifctl, penmin,
166 . penref, fkt, ll, fqmax ,
167 . vx1, vx4, vx6, vxc1 ,
168 . vy1, vy4, vy6, vyc1 ,
169 . vz1, vz4, vz6, vzc1 ,
170 . nel,e_distor, dt1)
171 nimpa = nimpa + ifctl
172C------ 2,5,4
173 CALL sfor_n2s3(xc2, yc2, zc2,forc_n2,
174 . xs2, ys2, zs2, for_t2,
175 . xs5, ys5, zs5, for_t5,
176 . xs4, ys4, zs4, for_t4,
177 . stif0, ifc2, ifctl, penmin,
178 . penref, fkt, ll, fqmax ,
179 . vx2, vx5, vx4, vxc2 ,
180 . vy2, vy5, vy4, vyc2 ,
181 . vz2, vz5, vz4, vzc2 ,
182 . nel,e_distor, dt1)
183 nimpa = nimpa + ifctl
184C------ 3,6,5
185 CALL sfor_n2s3(xc3, yc3, zc3,forc_n3,
186 . xs3, ys3, zs3, for_t3,
187 . xs6, ys6, zs6, for_t6,
188 . xs5, ys5, zs5, for_t5,
189 . stif0, ifc2, ifctl, penmin,
190 . penref, fkt, ll, fqmax ,
191 . vx3, vx6, vx5, vxc3 ,
192 . vy3, vy6, vy5, vyc3 ,
193 . vz3, vz6, vz5, vzc3 ,
194 . nel,e_distor, dt1)
195 nimpa = nimpa + ifctl
196C------ 4,5,6
197 CALL sfor_n2s3( xc, yc, zc, forc_n,
198 . xs4, ys4, zs4, for_t4,
199 . xs5, ys5, zs5, for_t5,
200 . xs6, ys6, zs6, for_t6,
201 . stif0, ifc2, ifctl, penmin,
202 . penref, fkt, ll, fqmax ,
203 . vx4, vx5, vx6, vcx ,
204 . vy4, vy5, vy6, vcy ,
205 . vz4, vz5, vz6, vcz ,
206 . nel,e_distor, dt1)
207 nimpa = nimpa + ifctl
208C------
209 DO i=1,nel
210 IF ( fkt(i) > one) THEN
211 stif(i) = max(stif(i),fkt(i)*stif0(i))
212 ifctl = 1
213 END IF
214 ENDDO
215 END IF
216C
217 RETURN
#define my_real
Definition cppsort.cpp:32
#define max(a, b)
Definition macros.h:21
subroutine sfor_n2s3(xi, yi, zi, forc_n, x1, y1, z1, for_t1, x2, y2, z2, for_t2, x3, y3, z3, for_t3, stif, ifc1, ifctl, penmin, penref, fktmax, ll, fqmax, vx1, vx2, vx3, vxi, vy1, vy2, vy3, vyi, vz1, vz2, vz3, vzi, nel, e_distor, dt1)
Definition sfor_n2s3.F:40
subroutine ssort_n3(xi, yi, zi, x1, x2, x3, y1, y2, y3, z1, z2, z3, marge, stif, ifc1, nel)
Definition ssort_n3.F:34