OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
scforc3.F
Go to the documentation of this file.
1Copyright> OpenRadioss
2Copyright> Copyright (C) 1986-2025 Altair Engineering Inc.
3Copyright>
4Copyright> This program is free software: you can redistribute it and/or modify
5Copyright> it under the terms of the GNU Affero General Public License as published by
6Copyright> the Free Software Foundation, either version 3 of the License, or
7Copyright> (at your option) any later version.
8Copyright>
9Copyright> This program is distributed in the hope that it will be useful,
10Copyright> but WITHOUT ANY WARRANTY; without even the implied warranty of
11Copyright> MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12Copyright> GNU Affero General Public License for more details.
13Copyright>
14Copyright> You should have received a copy of the GNU Affero General Public License
15Copyright> along with this program. If not, see <https://www.gnu.org/licenses/>.
16Copyright>
17Copyright>
18Copyright> Commercial Alternative: Altair Radioss Software
19Copyright>
20Copyright> As an alternative to this open-source version, Altair also offers Altair Radioss
21Copyright> software under a commercial license. Contact Altair to discuss further if the
22Copyright> commercial version may interest you: https://www.altair.com/radioss/.
23!||====================================================================
24!|| scforc3 ../engine/source/elements/thickshell/solidec/scforc3.F
25!||--- called by ------------------------------------------------------
26!|| forint ../engine/source/elements/forint.F
27!||--- calls -----------------------------------------------------
28!|| csmall3 ../engine/source/elements/solid/solide/csmall3.F
29!|| mmain ../engine/source/materials/mat_share/mmain.F90
30!|| s8csigp3 ../engine/source/elements/thickshell/solide8c/s8csigp3.F
31!|| s8for_distor ../engine/source/elements/solid/solide/s8for_distor.F
32!|| s8get_x3 ../engine/source/elements/solid/solide/s8get_x3.F
33!|| s8sav3 ../engine/source/elements/solid/solide/s8sav3.F
34!|| scdefc3 ../engine/source/elements/thickshell/solidec/scdefc3.F
35!|| scdefo3 ../engine/source/elements/thickshell/solidec/scdefo3.F
36!|| scderi3 ../engine/source/elements/thickshell/solidec/scderi3.F
37!|| scfint3 ../engine/source/elements/thickshell/solidec/scfint3.F
38!|| scfint_reg ../engine/source/elements/thickshell/solidec/scfint_reg.F
39!|| schour3_1 ../engine/source/elements/thickshell/solidec/schour3_1.F
40!|| scordef3 ../engine/source/elements/thickshell/solidec/scordef3.F
41!|| scroto_sig ../engine/source/elements/thickshell/solidec/scroto_sig.F
42!|| sctherm ../engine/source/elements/thickshell/solidec/sctherm.F
43!|| scumu3 ../engine/source/elements/solid/solide/scumu3.F
44!|| scumu3p ../engine/source/elements/solid/solide/scumu3p.F
45!|| scumualpha ../engine/source/elements/thickshell/solidec/scumualpha.F
46!|| sczero3 ../engine/source/elements/thickshell/solidec/sczero3.F
47!|| sdistor_ini ../engine/source/elements/solid/solide/sdistror_ini.F90
48!|| sdlen3 ../engine/source/elements/solid/solide/sdlen3.F
49!|| sdlensh ../engine/source/elements/thickshell/solidec/sdlensh.F
50!|| sdlensh2 ../engine/source/elements/thickshell/solidec/sdlensh2.F
51!|| sfillopt ../engine/source/elements/solid/solide/sfillopt.F
52!|| sgetdir3 ../engine/source/elements/thickshell/solidec/sgetdir3.F
53!|| sgparav3 ../engine/source/elements/solid/solide/sgparav3.F
54!|| shour_ctl ../engine/source/elements/solid/solidez/shour_ctl.F90
55!|| smallb3 ../engine/source/elements/solid/solide/smallb3.F
56!|| srbilan ../engine/source/elements/solid/solide/srbilan.F
57!|| srcoor3 ../engine/source/elements/solid/solide/srcoor3.F
58!|| srho3 ../engine/source/elements/solid/solide/srho3.F
59!|| srrota3 ../engine/source/elements/solid/solide/srrota3.F
60!|| sstra3 ../engine/source/elements/solid/solide/sstra3.F
61!|| tshgeodel3 ../engine/source/elements/thickshell/solidec/tshgeodel3.F
62!||--- uses -----------------------------------------------------
63!|| ale_connectivity_mod ../common_source/modules/ale/ale_connectivity_mod.F
64!|| dt_mod ../engine/source/modules/dt_mod.F
65!|| elbufdef_mod ../common_source/modules/mat_elem/elbufdef_mod.F90
66!|| element_mod ../common_source/modules/elements/element_mod.F90
67!|| glob_therm_mod ../common_source/modules/mat_elem/glob_therm_mod.F90
68!|| mat_elem_mod ../common_source/modules/mat_elem/mat_elem_mod.F90
69!|| mmain_mod ../engine/source/materials/mat_share/mmain.F90
70!|| nlocal_reg_mod ../common_source/modules/nlocal_reg_mod.F
71!|| output_mod ../common_source/modules/output/output_mod.F90
72!|| sdistor_ini_mod ../engine/source/elements/solid/solide/sdistror_ini.F90
73!|| sensor_mod ../common_source/modules/sensor_mod.F90
74!|| shour_ctl_mod ../engine/source/elements/solid/solidez/shour_ctl.F90
75!|| table_mod ../engine/share/modules/table_mod.F
76!|| timer_mod ../engine/source/system/timer_mod.F90
77!||====================================================================
78 SUBROUTINE scforc3(TIMERS, OUTPUT, ELBUF_TAB,NG ,
79 1 PM ,GEO ,IXS ,X ,
80 2 A ,V ,MS ,W ,FLUX ,
81 3 FLU1 ,VEUL ,FV ,ALE_CONNECT ,IPARG ,
82 4 TF ,NPF ,BUFMAT ,PARTSAV ,NLOC_DMG ,
83 5 DT2T ,NELTST ,ITYPTST ,STIFN ,FSKY ,
84 6 IADS ,OFFSET ,EANI ,IPARTS ,
85 7 F11 ,F21 ,F31 ,F12 ,F22 ,
86 8 F32 ,F13 ,F23 ,F33 ,F14 ,
87 9 F24 ,F34 ,F15 ,F25 ,F35 ,
88 A F16 ,F26 ,F36 ,F17 ,F27 ,
89 B F37 ,F18 ,F28 ,F38 ,NEL ,
90 C ICP ,ICSIG ,NVC ,
91 D IPM ,ISTRAIN ,TEMP ,FTHE ,FTHESKY ,
92 E IEXPAN ,IGEO ,GRESAV ,GRTH ,IGRTH ,
93 F MSSA ,DMELS ,TABLE ,XDP ,VOLN ,
94 G CONDN ,CONDNSKY,ITASK ,IOUTPRT ,MAT_ELEM ,
95 H H3D_STRAIN,DT,SNPC ,STF,SBUFMAT,SVIS,NSVOIS,IDTMINS,
96 I IRESP ,IDEL7NG ,IDEL7NOK,MAXFUNC,IMON_MAT,
97 J USERL_AVAIL, GLOB_THERM, impl_s, idyna,SENSORS)
98C-----------------------------------------------
99C M o d u l e s
100C-----------------------------------------------
101 USE timer_mod
102 USE output_mod, only : output_
103 USE mmain_mod
104 USE table_mod
105 USE mat_elem_mod
108 USE dt_mod
109 USE elbufdef_mod
110 USE sdistor_ini_mod, ONLY : sdistor_ini
111 USE shour_ctl_mod, ONLY : shour_ctl
112 use glob_therm_mod
113 use sensor_mod
114 use element_mod , only : nixs
115C-----------------------------------------------
116C I m p l i c i t T y p e s
117C-----------------------------------------------
118#include "implicit_f.inc"
119C-----------------------------------------------
120C G l o b a l P a r a m e t e r s
121C-----------------------------------------------
122#include "mvsiz_p.inc"
123C-----------------------------------------------
124C C o m m o n B l o c k s
125C-----------------------------------------------
126#include "com01_c.inc"
127#include "com08_c.inc"
128#include "vect01_c.inc"
129#include "parit_c.inc"
130#include "param_c.inc"
131#include "scr18_c.inc"
132#include "com04_c.inc"
133C-----------------------------------------------
134C D u m m y A r g u m e n t s
135C-----------------------------------------------
136 TYPE(timer_), INTENT(INOUT) :: TIMERS
137 TYPE(OUTPUT_), INTENT(INOUT) :: OUTPUT
138 INTEGER, INTENT(IN) :: SNPC
139 INTEGER, INTENT(IN) :: STF
140 INTEGER, INTENT(IN) :: SBUFMAT
141 INTEGER, INTENT(IN) :: NSVOIS
142 INTEGER, INTENT(IN) :: IDTMINS
143 INTEGER ,INTENT(IN) :: IRESP
144 INTEGER ,INTENT(IN) :: IDEL7NG
145 INTEGER ,INTENT(INOUT) :: IDEL7NOK
146 INTEGER ,INTENT(IN) :: MAXFUNC
147 INTEGER, INTENT(IN) :: IMPL_S
148 INTEGER, INTENT(IN) :: IDYNA
149 INTEGER, INTENT(IN) :: USERL_AVAIL
150 INTEGER, INTENT(IN) :: IMON_MAT
151 INTEGER IXS(NIXS,*),IPARG(NPARG,NGROUP),NPF(*),IADS(8,*),
152 . IPARTS(*), IPM(NPROPMI,*),IGEO(NPROPGI,*),GRTH(*),
153 . IGRTH(*),ITASK,IOUTPRT
154 INTEGER NELTST,ITYPTST,OFFSET,ICP,ICSIG,NVC,NEL,ISTRAIN,IEXPAN,NG,H3D_STRAIN
155 DOUBLE PRECISION
156 . xdp(3,*)
157 my_real
158 . dt2t
159 my_real
160 . pm(npropm,*), x(*), a(*), v(3,*), ms(*), w(*),
161 . flux(6,*),geo(npropg,*),
162 . flu1(*), veul(*), fv(*), tf(*), bufmat(*),
163 . partsav(*),stifn(*), fsky(*),eani(*),
164 . f11(mvsiz),f21(mvsiz),f31(mvsiz),
165 . f12(mvsiz),f22(mvsiz),f32(mvsiz),
166 . f13(mvsiz),f23(mvsiz),f33(mvsiz),
167 . f14(mvsiz),f24(mvsiz),f34(mvsiz),
168 . f15(mvsiz),f25(mvsiz),f35(mvsiz),
169 . f16(mvsiz),f26(mvsiz),f36(mvsiz),
170 . f17(mvsiz),f27(mvsiz),f37(mvsiz),
171 . f18(mvsiz),f28(mvsiz),f38(mvsiz),
172 . temp(*),fthe(*), fthesky(*),gresav(*), mssa(*), dmels(*), voln(mvsiz),
173 . condn(*),condnsky(*)
174 my_real, DIMENSION(MVSIZ,6), INTENT(INOUT) :: svis
175 TYPE(ttable) TABLE(*)
176 TYPE (ELBUF_STRUCT_), TARGET, DIMENSION(NGROUP) :: ELBUF_TAB
177 TYPE (NLOCAL_STR_) , TARGET :: NLOC_DMG
178 TYPE(t_ale_connectivity), INTENT(IN) :: ALE_CONNECT
179 TYPE (MAT_ELEM_) ,INTENT(INOUT) :: MAT_ELEM
180 TYPE(DT_), INTENT(INOUT) :: DT
181 type (glob_therm_) ,intent(inout) :: glob_therm
182 type (sensors_),INTENT(INOUT) :: SENSORS
183C-----------------------------------------------
184C L o c a l V a r i a b l e s
185C-----------------------------------------------
186 INTEGER I,J,ILAY,IR,IS,IT,NF1,IFLAG,L_PLA,L_EPSD,
187 . PID,MTN0,IPTHK,IPPOS,IPMAT,NLYMAX,MID,IPANG,IBID,NLAY,IMAT,
188 . JJ(6),SZ_IX,CURRENT_LAYER
189 INTEGER MXT0(MVSIZ),MX
190C-----
191 INTEGER MXT(MVSIZ),NGL(MVSIZ),NGEO(MVSIZ),IBIDV(1)
192
193 DOUBLE PRECISION
194 . xd1(mvsiz), xd2(mvsiz), xd3(mvsiz), xd4(mvsiz),
195 . xd5(mvsiz), xd6(mvsiz), xd7(mvsiz), xd8(mvsiz),
196 . yd1(mvsiz), yd2(mvsiz), yd3(mvsiz), yd4(mvsiz),
197 . yd5(mvsiz), yd6(mvsiz), yd7(mvsiz), yd8(mvsiz),
198 . zd1(mvsiz), zd2(mvsiz), zd3(mvsiz), zd4(mvsiz),
199 . zd5(mvsiz), zd6(mvsiz), zd7(mvsiz), zd8(mvsiz),voldp(mvsiz)
200
201 my_real
202 . vd2(mvsiz) , dvol(mvsiz),deltax(mvsiz),
203 . vis(mvsiz) , qvis(mvsiz), cxx(mvsiz) ,
204 . s1(mvsiz) , s2(mvsiz) , s3(mvsiz) ,
205 . s4(mvsiz) , s5(mvsiz) , s6(mvsiz) ,
206 . dxx(mvsiz) , dyy(mvsiz) , dzz(mvsiz) ,
207 . d4(mvsiz) , d5(mvsiz) , d6(mvsiz) ,
208 . jac1(mvsiz), jac2(mvsiz), jac3(mvsiz),
209 . jac4(mvsiz), jac5(mvsiz), jac6(mvsiz),
210 . vdx(mvsiz) , vdy(mvsiz) , vdz(mvsiz),ssp_eq(mvsiz),aire(mvsiz),
211 . conde(mvsiz)
212C-----
213C
214 my_real
215 . sti(mvsiz) ,gama(mvsiz,6),
216 . wxx(mvsiz) , wyy(mvsiz) , wzz(mvsiz)
217C
218 my_real
219 . muvoid(mvsiz) ! used for SPH
220C-----
221C
222 INTEGER NC1(MVSIZ), NC2(MVSIZ), NC3(MVSIZ), NC4(MVSIZ),
223 . NC5(MVSIZ), NC6(MVSIZ), NC7(MVSIZ), NC8(MVSIZ)
224 INTEGER IOFFS,G_PLA,G_EPSD,NN_DEL,IPRES,ISCTL,ISTAB(MVSIZ)
225 my_real
226 . OFFS(MVSIZ)
227 my_real
228 . OFF(MVSIZ) , RHOO(MVSIZ),RHOM(MVSIZ),OFFG(MVSIZ) ,
229 . X1(MVSIZ), X2(MVSIZ), X3(MVSIZ), X4(MVSIZ),
230 . X5(MVSIZ), X6(MVSIZ), X7(MVSIZ), X8(MVSIZ),
231 . Y1(MVSIZ), Y2(MVSIZ), Y3(MVSIZ), Y4(MVSIZ),
232 . Y5(MVSIZ), Y6(MVSIZ), Y7(MVSIZ), Y8(MVSIZ),
233 . z1(mvsiz), z2(mvsiz), z3(mvsiz), z4(mvsiz),
234 . z5(mvsiz), z6(mvsiz), z7(mvsiz), z8(mvsiz),
235 . vx1(mvsiz),vx2(mvsiz),vx3(mvsiz),vx4(mvsiz),
236 . vx5(mvsiz),vx6(mvsiz),vx7(mvsiz),vx8(mvsiz),
237 . vy1(mvsiz),vy2(mvsiz),vy3(mvsiz),vy4(mvsiz),
238 . vy5(mvsiz),vy6(mvsiz),vy7(mvsiz),vy8(mvsiz),
239 . vz1(mvsiz),vz2(mvsiz),vz3(mvsiz),vz4(mvsiz),
240 . vz5(mvsiz),vz6(mvsiz),vz7(mvsiz),vz8(mvsiz),
241 . px1(mvsiz),px2(mvsiz),px3(mvsiz),px4(mvsiz),
242 . px5(mvsiz),px6(mvsiz),px7(mvsiz),px8(mvsiz),
243 . py1(mvsiz),py2(mvsiz),py3(mvsiz),py4(mvsiz),
244 . py5(mvsiz),py6(mvsiz),py7(mvsiz),py8(mvsiz),
245 . pz1(mvsiz),pz2(mvsiz),pz3(mvsiz),pz4(mvsiz),
246 . pz5(mvsiz),pz6(mvsiz),pz7(mvsiz),pz8(mvsiz),
247 . px1h1(mvsiz),px2h1(mvsiz),px3h1(mvsiz),px4h1(mvsiz),
248 . px1h2(mvsiz),px2h2(mvsiz),px3h2(mvsiz),px4h2(mvsiz),
249 . px1h3(mvsiz),px2h3(mvsiz),px3h3(mvsiz),px4h3(mvsiz),
250 . px1h4(mvsiz),px2h4(mvsiz),px3h4(mvsiz),px4h4(mvsiz),
251 . hgx1(mvsiz),hgy2(mvsiz),hgz1(mvsiz),hgz2(mvsiz),
252 .
253 .
254 .
255 .
256 .
257 .
258 . vgxa(mvsiz),vgya(mvsiz),vgza(mvsiz), vga2(mvsiz),
259 . xgxa(mvsiz),xgya(mvsiz),xgza(mvsiz),
260 . xgxya(mvsiz),xgyza(mvsiz),xgzxa(mvsiz),
261 . xgxa2(mvsiz),xgya2(mvsiz),xgza2(mvsiz)
262 my_real
263 . dxy(mvsiz),dyx(mvsiz),
264 . dyz(mvsiz),dzy(mvsiz),
265 . dzx(mvsiz),dxz(mvsiz),
266 . r11(mvsiz),r12(mvsiz),r13(mvsiz),
267 . r21(mvsiz),r22(mvsiz),r23(mvsiz),
268 . r31(mvsiz),r32(mvsiz),r33(mvsiz),
269 . n1x(mvsiz), n2x(mvsiz), n3x(mvsiz),
270 . n1y(mvsiz), n2y(mvsiz), n3y(mvsiz),
271 . n1z(mvsiz), n2z(mvsiz), n3z(mvsiz),
272 . n4x(mvsiz), n5x(mvsiz), n6x(mvsiz),
273 . n4y(mvsiz), n5y(mvsiz), n6y(mvsiz),
274 . n4z(mvsiz), n5z(mvsiz), n6z(mvsiz),
275 . sigym(mvsiz),nu(mvsiz),volg(mvsiz),sigy(mvsiz),
276 . rx0(mvsiz),ry0(mvsiz),sx0(mvsiz),sy0(mvsiz),
277 . dcxx(mvsiz),dcxy(mvsiz),dcxz(mvsiz),dcyx(mvsiz),dcyy(mvsiz),
278 . dcyz(mvsiz),dczx(mvsiz),dczy(mvsiz),dczz(mvsiz),dc4(mvsiz),
279 . dc5(mvsiz),dc6(mvsiz),vzl(mvsiz),
280 . dhxx(mvsiz),dhxy(mvsiz),dhxz(mvsiz),dhyx(mvsiz),dhyy(mvsiz),
281 . dhyz(mvsiz),dhzx(mvsiz),dhzy(mvsiz),dhzz(mvsiz),dh4(mvsiz),
282 . dh5(mvsiz),dh6(mvsiz),eintm(mvsiz),ddhv(mvsiz),einto(mvsiz),
283 . sigzm(mvsiz),volm(mvsiz),mm(mvsiz,2),usb(mvsiz),et(mvsiz),
284 . r1_free(mvsiz),r3_free(mvsiz),
285 . tempel(mvsiz),them(mvsiz,8),die(mvsiz),
286 . stin(mvsiz),dsv(mvsiz),bid(mvsiz),conden(mvsiz),dti
287 my_real
288 . nu1(mvsiz),fac(mvsiz),divde(mvsiz),
289 . alpha_e(mvsiz),llsh(mvsiz),c1,e0(mvsiz),area(mvsiz)
290 INTEGER SZ_R1_FREE
291 DOUBLE PRECISION
292 . FACDP
293 my_real, dimension(mvsiz) :: fheat
294C-----
295 TYPE(G_BUFEL_) ,POINTER :: GBUF
296 TYPE(L_BUFEL_) ,POINTER :: LBUF
297C-----
298 PARAMETER (NLYMAX = 200,ipmat = 100,ipang = 200)
299 my_real
300 . dir(mvsiz,2),sign(nel,6),shf(mvsiz),zt,wt,
301 . rx(mvsiz), ry(mvsiz), rz(mvsiz),
302 . sx(mvsiz), sy(mvsiz), sz(mvsiz),
303 . tx(mvsiz), ty(mvsiz), tz(mvsiz),amu(mvsiz)
304 INTEGER INLOC,L_NLOC,IPOS(8),INOD(8)
305 my_real, DIMENSION(:,:), ALLOCATABLE :: VAR_REG
306 my_real, DIMENSION(:), POINTER :: dnl
307 my_real :: sti_c(mvsiz),ll(mvsiz),fld(mvsiz),
308 . cns2,fqmax,dn
309C-----
310 my_real
311 . w_gauss(9,9),a_gauss(9,9),w_newton(9,9),a_newton(9,9)
312 DATA w_gauss /
313 1 2. ,0. ,0. ,
314 1 0. ,0. ,0. ,
315 1 0. ,0. ,0. ,
316 2 1. ,1. ,0. ,
317 2 0. ,0. ,0. ,
318 2 0. ,0. ,0. ,
319 3 0.555555555555556,0.888888888888889,0.555555555555556,
320 3 0. ,0. ,0. ,
321 3 0. ,0. ,0. ,
322 4 0.347854845137454,0.652145154862546,0.652145154862546,
323 4 0.347854845137454,0. ,0. ,
324 4 0. ,0. ,0. ,
325 5 0.236926885056189,0.478628670499366,0.568888888888889,
326 5 0.478628670499366,0.236926885056189,0. ,
327 5 0. ,0. ,0. ,
328 6 0.171324492379170,0.360761573048139,0.467913934572691,
329 6 0.467913934572691,0.360761573048139,0.171324492379170,
330 6 0. ,0. ,0. ,
331 7 0.129484966168870,0.279705391489277,0.381830050505119,
332 7 0.417959183673469,0.381830050505119,0.279705391489277,
333 7 0.129484966168870,0. ,0. ,
334 8 0.101228536290376,0.222381034453374,0.313706645877887,
335 8 0.362683783378362,0.362683783378362,0.313706645877887,
336 8 0.222381034453374,0.101228536290376,0. ,
337 9 0.081274388361574,0.180648160694857,0.260610696402935,
338 9 0.312347077040003,0.330239355001260,0.312347077040003,
339 9 0.260610696402935,0.180648160694857,0.081274388361574/
340C-----
341 DATA a_gauss /
342 1 0. ,0. ,0. ,
343 1 0. ,0. ,0. ,
344 1 0. ,0. ,0. ,
345 2 -.577350269189626,0.577350269189626,0. ,
346 2 0. ,0. ,0. ,
347 2 0. ,0. ,0. ,
348 3 -.774596669241483,0. ,0.774596669241483,
349 3 0. ,0. ,0. ,
350 3 0. ,0. ,0. ,
351 4 -.861136311594053,-.339981043584856,0.339981043584856,
352 4 0.861136311594053,0. ,0. ,
353 4 0. ,0. ,0. ,
354 5 -.906179845938664,-.538469310105683,0. ,
355 5 0.538469310105683,0.906179845938664,0. ,
356 5 0. ,0. ,0. ,
357 6 -.932469514203152,-.661209386466265,-.238619186083197,
358 6 0.238619186083197,0.661209386466265,0.932469514203152,
359 6 0. ,0. ,0. ,
360 7 -.949107912342759,-.741531185599394,-.405845151377397,
361 7 0. ,0.405845151377397,0.741531185599394,
362 7 0.949107912342759,0. ,0. ,
363 8 -.960289856497536,-.796666477413627,-.525532409916329,
364 8 -.183434642495650,0.183434642495650,0.525532409916329,
365 8 0.796666477413627,0.960289856497536,0. ,
366 9 -.968160239507626,-.836031107326636,-.613371432700590,
367 9 -.324253423403809,0. ,0.324253423403809,
368 9 0.613371432700590,0.836031107326636,0.968160239507626/
369 DATA w_newton /
370 1 2. ,0. ,0. ,
371 1 0. ,0. ,0. ,
372 1 0. ,0. ,0. ,
373 2 1. ,1. ,0. ,
374 2 0. ,0. ,0. ,
375 2 0. ,0. ,0. ,
376 3 0.5 ,1. ,0.5 ,
377 3 0. ,0. ,0. ,
378 3 0. ,0. ,0. ,
379 4 0.166666666666667,0.833333333333333,0.833333333333333,
380 4 0.166666666666667,0. ,0. ,
381 4 0. ,0. ,0. ,
382 5 0.25 ,0.5 ,0.5 ,
383 5 0.5 ,0.25 ,0. ,
384 5 0. ,0. ,0. ,
385 6 0.066666666666667,0.37847496 ,0.55485838 ,
386 6 0.55485838 ,0.37847496 ,0.066666666666667,
387 6 0. ,0. ,0. ,
388 7 0.04761904 ,0.27682604 ,0.43174538 ,
389 7 0.48761904 ,0.43174538 ,0.27682604 ,
390 7 0.04761904 ,0. ,0. ,
391 8 0.03571428 ,0.21070422 ,0.34112270 ,
392 8 0.41245880 ,0.41245880 ,0.34112270 ,
393 8 0.21070422 ,0.03571428 ,0. ,
394 9 0.027777777777778,0.1654953616 ,0.2745387126 ,
395 9 0.3464285110 ,0.3715192744 ,0.3464285110 ,
396 9 0.2745387126 ,0.1654953616 ,0.027777777777778/
397 DATA a_newton /
398 1 0. ,0. ,0. ,
399 1 0. ,0. ,0. ,
400 1 0. ,0. ,0. ,
401 2 -1. ,1. ,0. ,
402 2 0. ,0. ,0. ,
403 2 0. ,0. ,0. ,
404 3 -1. ,0. ,1. ,
405 3 0. ,0. ,0. ,
406 3 0. ,0. ,0. ,
407 4 -1. ,-.44721360 ,0.44721360 ,
408 4 1. ,0. ,0. ,
409 4 0. ,0. ,0. ,
410 5 -1. ,-.5 ,0. ,
411 5 0.5 , 1. ,0. ,
412 5 0. ,0. ,0. ,
413 6 -1. ,-.76505532 ,-.28523152 ,
414 6 0.28523152 ,0.76505532 , 1. ,
415 6 0. ,0. ,0. ,
416 7 -1. ,-.83022390 ,-.46884879 ,
417 7 0. ,0.46884879 ,0.83022390 ,
418 7 1. ,0. ,0. ,
419 8 -1. ,-.87174015 ,-.59170018 ,
420 8 -.20929922 ,0.20929922 ,0.59170018 ,
421 8 0.87174015 , 1. ,0. ,
422 9 -1. ,-.8997579954 ,-.6771862795 ,
423 9 -.3631174638 ,0. ,0.3631174638 ,
424 9 0.6771862795 ,0.8997579954 , 1. /
425C-----------------------------------------------
426C S o u r c e L i n e s
427C=======================================================================
428 sz_ix=numelq+numels+nsvois
429 sz_r1_free=mvsiz
430 gbuf => elbuf_tab(ng)%GBUF
431 nlay = elbuf_tab(ng)%NLAY
432 ir = 1
433 is = 1
434 it = 1
435 ipthk = 0
436 ippos = 0
437 mtn0= 0
438
439 tempel(:) = zero
440 fheat(:) = zero
441 inloc = iparg(78,ng)
442 ALLOCATE(var_reg(nel,nlay))
443!
444 DO j=1,6
445 jj(j) = nel*(j-1)
446 ENDDO
447!
448C-----------
449 nf1=nft+1
450C-----
451 IF (igtyp /= 22) THEN
452 isorthg = 0
453 END IF
454C-----------
455 ibid = 0
456 ibidv= 0
457C-----------
458 IF (isorth > 0) THEN
459 CALL sgparav3(
460 1 8, x, ixs(1,nf1),rx,
461 2 ry, rz, sx, sy,
462 3 sz, tx, ty, tz,
463 4 nel)
464 ENDIF
465C
466C Gather nodal variables and compute intrinsic rotations
467 CALL srcoor3(x,ixs(1,nf1),v ,w ,gbuf%GAMA,gama ,
468 . x1, x2, x3, x4, x5, x6, x7, x8,
469 . y1, y2, y3, y4, y5, y6, y7, y8,
470 . z1, z2, z3, z4, z5, z6, z7, z8,
471 . vx1, vx2, vx3, vx4, vx5, vx6, vx7, vx8,
472 . vy1, vy2, vy3, vy4, vy5, vy6, vy7, vy8,
473 . vz1, vz2, vz3, vz4, vz5, vz6, vz7, vz8,
474 . vd2,vis,gbuf%OFF,offg,gbuf%SMSTR,gbuf%RHO,rhoo,
475 . r11, r12, r13, r21, r22, r23, r31, r32, r33,
476 . nc1,nc2,nc3,nc4,nc5,nc6,nc7,nc8,ngl,mxt,ngeo,
477 . ioutprt, vgxa, vgya, vgza, vga2,
478 . xd1, xd2, xd3, xd4, xd5, xd6, xd7, xd8,
479 . yd1, yd2, yd3, yd4, yd5, yd6, yd7, yd8,
480 . zd1, zd2, zd3, zd4, zd5, zd6, zd7, zd8,
481 . xdp, bid, bid, bid, nel, xgxa, xgya, xgza,
482 . xgxa2,xgya2,xgza2,xgxya,xgyza,xgzxa,iparg(1,ng),
483 . gbuf%GAMA_R)
484C
485 nn_del = 0
486 pid = ngeo(1)
487 IF (geo(190,pid)+geo(191,pid)+geo(192,pid)+geo(192,pid)>zero)
488 . nn_del=8
489 IF (nn_del ==0 .AND. dt%IDEL_BRICK>0) nn_del=8
490 mx = mxt(1)
491 ipres = mat_elem%MAT_PARAM(mx)%IPRES
492 isctl = igeo(97,pid)
493 DO i=1,nel
494 sigy(i) = ep30
495 sigym(i) = ep30
496 sigzm(i) = zero
497 mm(i,1) = zero
498 mm(i,2) = sigy(i)
499 volm(i) = zero
500 nu(i) = min(half,pm(21,mx))
501 usb(i) = 0.1/pm(32,mx)
502 stin(i)= zero
503 dhxz(i)= zero
504 dhyz(i)= zero
505 conden(i)= zero
506 c1 =pm(32,mxt(i))
507 e0(i) =three*(one-two*nu(i))*c1
508 ENDDO
509 IF (icp == 1) THEN
510 DO i=1,nel
511 nu1(i)=half
512 ENDDO
513 ELSEIF (icp == 2) THEN
514 CALL s8csigp3(gbuf%SIG,e0 ,gbuf%PLA,fac,gbuf%G_PLA,nel)
515 DO i=1,nel
516 nu1(i)=nu(i)+(half-nu(i))*fac(i)
517 ENDDO
518 ELSE
519 DO i=1,nel
520 nu1(i) =nu(i)
521 ENDDO
522 ENDIF
523 CALL scderi3(
524 1 offg, voln, ngl, xd1,
525 2 xd2, xd3, xd4, xd5,
526 3 xd6, xd7, xd8, yd1,
527 4 yd2, yd3, yd4, yd5,
528 5 yd6, yd7, yd8, zd1,
529 6 zd2, zd3, zd4, zd5,
530 7 zd6, zd7, zd8, px1,
531 8 px2, px3, px4, py1,
532 9 py2, py3, py4, pz1,
533 a pz2, pz3, pz4, px1h1,
534 b px1h2, px1h3, px1h4, px2h1,
535 c px2h2, px2h3, px2h4, px3h1,
536 d px3h2, px3h3, px3h4, px4h1,
537 e px4h2, px4h3, px4h4, jac1,
538 f jac2, jac3, jac4, jac5,
539 g jac6, rx0, ry0, sx0,
540 h sy0, vzl, volg, gbuf%SMSTR,
541 i gbuf%OFF, nel, ismstr)
542 CALL sdlen3(
543 1 volg, deltax, x1, x2,
544 2 x3, x4, x5, x6,
545 3 x7, x8, y1, y2,
546 4 y3, y4, y5, y6,
547 5 y7, y8, z1, z2,
548 6 z3, z4, z5, z6,
549 7 z7, z8, n1x, n2x,
550 8 n3x, n4x, n5x, n6x,
551 9 n1y, n2y, n3y, n4y,
552 a n5y, n6y, n1z, n2z,
553 b n3z, n4z, n5z, n6z,
554 c nel, mtn, jale, jeul)
555 IF (ntsheg > 0 .AND.isctl==0) THEN
556 CALL sdlensh(voln,llsh,area ,
557 . x1, x2, x3, x4, x5, x6, x7, x8,
558 . y1, y2, y3, y4, y5, y6, y7, y8,
559 . z1, z2, z3, z4, z5, z6, z7, z8, nel)
560 alpha_e(1:nel) = one
561 DO i=1,nel
562 IF (gbuf%IDT_TSH(i)<=0) cycle
563 facdp = 1.343*llsh(i)/deltax(i)
564 alpha_e(i) = facdp*facdp
565 deltax(i)=max(llsh(i),deltax(i))
566 ENDDO
567 END IF
568 CALL scdefc3(
569 1 px1, px2, px3, px4,
570 2 py1, py2, py3, py4,
571 3 pz1, pz2, pz3, pz4,
572 4 vx1, vx2, vx3, vx4,
573 5 vx5, vx6, vx7, vx8,
574 6 vy1, vy2, vy3, vy4,
575 7 vy5, vy6, vy7, vy8,
576 8 vz1, vz2, vz3, vz4,
577 9 vz5, vz6, vz7, vz8,
578 a dcxx, dcxy, dcxz, dcyx,
579 b dcyy, dcyz, dczx, dczy,
580 c dczz, dc4, dc5, dc6,
581 d wxx, wyy, wzz, dhxx,
582 e dhxy, dhyx, dhyy, dhzx,
583 f dhzy, dhzz, dh4, dh5,
584 g dh6, px1h1, px1h2, px2h1,
585 h px2h2, px3h1, px3h2, px4h1,
586 i px4h2, hgx1, hgy2, hgz1,
587 j hgz2, rx0, ry0, sx0,
588 k sy0, nu1, ddhv, nel)
589 g_pla = gbuf%G_PLA
590 g_epsd = gbuf%G_EPSD
591 CALL sczero3(
592 . f11, f21, f31, f12, f22, f32, f13, f23,
593 . f33, f14, f24, f34, f15, f25, f35, f16,
594 . f26, f36, f17, f27, f37, f18, f28, f38,
595 . gbuf%SIG,eintm,rhom,gbuf%QVIS,gbuf%PLA,
596 . gbuf%EPSD,g_pla,g_epsd,nel)
597C ------------------------------------------------------------------------------
598C Update reference configuration (possible future change to small strain option)
599C Total strain option doesn't change the reference configuration
600C ------------------------------------------------------------------------------
601 IF (ismstr <= 3.OR.(ismstr==4.AND.jlag>0)) THEN
602 CALL s8sav3(
603 1 gbuf%OFF, gbuf%SMSTR,xd1, xd2,
604 2 xd3, xd4, xd5, xd6,
605 3 xd7, xd8, yd1, yd2,
606 4 yd3, yd4, yd5, yd6,
607 5 yd7, yd8, zd1, zd2,
608 6 zd3, zd4, zd5, zd6,
609 7 zd7, zd8, nel)
610 END IF
611c
612 IF (isorth > 0) THEN
613 IF (igtyp == 21) THEN
614 CALL sgetdir3(nel, rx,ry,rz,tx,ty,tz,
615 . r11,r21,r31,r12,r22,r32,gbuf%GAMA,dir,irep)
616 ENDIF
617 IF (igtyp == 22) THEN
618 ipthk = ipang+nlymax
619 ippos = ipthk+nlymax
620 mtn0=mtn
621 DO i=1,nel
622 mxt0(i)=mxt(i)
623 shf(i)=geo(38,ngeo(i))
624 ENDDO
625 ENDIF
626 ENDIF
627C-------------------------------------
628C Uniform stress through the thickness
629C-------------------------------------
630 DO ilay=1,nlay
631 lbuf => elbuf_tab(ng)%BUFLY(ilay)%LBUF(ir,is,it)
632 IF (igtyp == 22) THEN
633 mid=igeo(ipmat+ilay,pid)
634 mtn=nint(pm(19,mid))
635 ENDIF
636 DO i=1,nel
637 sigzm(i) = sigzm(i) + lbuf%VOL(i)*lbuf%SIG(jj(3)+i)
638 volm(i) = volm(i) + lbuf%VOL(i)
639 ENDDO
640 ENDDO
641C-------------------------------------------
642 IF (dt1 == zero) THEN
643 dti =zero
644 ELSE
645 dti = one/dt1
646 ENDIF
647C-------------------------------------------
648C Element temperature
649C-------------------------------------------
650 IF(jthe < 0) THEN
651 DO i=1,nel
652 tempel(i) = one_over_8 *( temp(nc1(i)) + temp(nc2(i))
653 . + temp(nc3(i)) + temp(nc4(i))
654 . + temp(nc5(i)) + temp(nc6(i))
655 . + temp(nc7(i)) + temp(nc8(i)))
656 gbuf%TEMP(i) = tempel(i)
657 ENDDO
658 ENDIF
659 ioffs=0
660 DO i=1,nel
661 offs(i) = ep20
662 ENDDO
663 IF(jthe<0) them(1:nel,1:8) =zero
664c
665c===========================================================================
666c Computation of the non-local variable at Gauss point from nodal d.o.fs
667c===========================================================================
668 IF (inloc > 0) THEN
669 l_nloc = nloc_dmg%L_NLOC
670 dnl => nloc_dmg%DNL(1:l_nloc) ! DNL = non local variable increment
671 DO ilay=1,nlay
672 DO i=1,nel
673 inod(1) = nloc_dmg%IDXI(nc1(i))
674 inod(2) = nloc_dmg%IDXI(nc2(i))
675 inod(3) = nloc_dmg%IDXI(nc3(i))
676 inod(4) = nloc_dmg%IDXI(nc4(i))
677 inod(5) = nloc_dmg%IDXI(nc5(i))
678 inod(6) = nloc_dmg%IDXI(nc6(i))
679 inod(7) = nloc_dmg%IDXI(nc7(i))
680 inod(8) = nloc_dmg%IDXI(nc8(i))
681 DO j = 1, 8
682 ipos(j) = nloc_dmg%POSI(inod(j))+ilay-1
683 ENDDO
684 var_reg(i,ilay) = dnl(ipos(1)) + dnl(ipos(2)) + dnl(ipos(3)) +
685 . dnl(ipos(4)) + dnl(ipos(5)) + dnl(ipos(6)) +
686 . dnl(ipos(7)) + dnl(ipos(8))
687 var_reg(i,ilay) = var_reg(i,ilay)*one_over_8
688 ENDDO
689 ENDDO
690 ENDIF
691c===========================================================================
692c
693C-------------------------------------------------
694C Loop on integration points through the thickness
695C-------------------------------------------------
696 DO ilay=1,nlay
697 lbuf => elbuf_tab(ng)%BUFLY(ilay)%LBUF(ir,is,it)
698C
699 IF (igtyp == 22) THEN
700 zt = geo(ippos+ilay,pid)
701 wt = geo(ipthk+ilay,pid)
702 mid=igeo(ipmat+ilay,pid)
703 mtn=nint(pm(19,mid))
704 DO i=1,nel
705 mxt(i)=mid
706 ENDDO
707 ELSE
708 zt = a_gauss(ilay,nlay)
709 wt = w_gauss(ilay,nlay)
710 ENDIF
711 CALL scdefo3(
712 1 dxx, dxy, dxz, dyx,
713 2 dyy, dyz, dzx, dzy,
714 3 dzz, d4, d5, d6,
715 4 dcxx, dcxy, dcxz, dcyx,
716 5 dcyy, dcyz, dczx, dczy,
717 6 dczz, dc4, dc5, dc6,
718 7 dhxx, dhxy, dhxz, dhyx,
719 8 dhyy, dhyz, dhzx, dhzy,
720 9 dhzz, dh4, dh5, dh6,
721 a zt, wt, vzl, voln,
722 b volg, lbuf%VOL, ddhv, lbuf%SIG,
723 c sigzm, volm, usb, lbuf%EINT,
724 d off, offg, dti, gbuf%OFF,
725 e dsv, lbuf%VOL0DP,voldp, ipres,
726 f nel )
727 DO i=1,nel
728 einto(i) = lbuf%EINT(i)
729 rhoo(i) = lbuf%RHO(i)
730 ENDDO
731 IF (isorth > 0) THEN
732 IF (igtyp == 22)
733 . CALL sgetdir3(nel,rx,ry,rz,tx,ty,tz,
734 . r11,r21,r31,r12,r22,r32,
735 . lbuf%GAMA,dir,irep)
736 CALL scordef3(nel,dxx,dyy,dzz,d4,d5,d6,dir)
737 IF (igtyp == 22) THEN
738 DO i=1,nel
739 d5(i)=shf(i)*d5(i)
740 d6(i)=shf(i)*d6(i)
741 ENDDO
742 ENDIF
743 ENDIF
744
745 divde(1:nel) = dt1*(dxx(1:nel)+ dyy(1:nel)+ dzz(1:nel))+dsv(1:nel)
746 CALL srho3(
747 1 pm, lbuf%VOL, lbuf%RHO, lbuf%EINT,
748 2 divde, flux(1,nf1),flu1(nf1), voln,
749 3 dvol, ngl, mxt, off,
750 4 0, gbuf%TAG22, voldp, lbuf%VOL0DP,
751 5 amu, gbuf%OFF, nel, mtn,
752 6 jale, ismstr, jeul, jlag)
753
754C-----------------------------
755C Gather stresses
756C-----------------------------
757 CALL csmall3(lbuf%SIG,s1,s2,s3,s4,s5,s6,
758 . gbuf%OFF,off,nel)
759C------------------------------------------------------
760C Compute new stresses according to constitutive laws
761C Compute time step DT2T
762C------------------------------------------------------
763 current_layer=ilay
764 CALL mmain(timers, output,
765 1 elbuf_tab, ng, pm, geo,
766 2 ale_connect, ixs, iparg,
767 3 v, tf, npf, bufmat,
768 4 sti, x, dt2t, neltst,
769 5 ityptst, offset, nel, w,
770 6 off, ngeo, mxt, ngl,
771 7 voln, vd2, dvol, deltax,
772 8 vis, qvis, cxx, s1,
773 9 s2, s3, s4, s5,
774 a s6, dxx, dyy, dzz,
775 b d4, d5, d6, wxx,
776 c wyy, wzz, jac1, jac2,
777 d jac3, jac4, jac5, jac6,
778 e vdx, vdy, vdz, muvoid,
779 f ssp_eq, aire, sigy, et,
780 g r1_free, lbuf%PLA, r3_free, amu,
781 h dxx, dxy, dxz, dyx,
782 i dyy, dyz, dzx, dzy,
783 j dzz, ipm, gama, bid,
784 k bid, bid, bid, bid,
785 l bid, bid, istrain, tempel,
786 m die, iexpan, current_layer,mssa,
787 n dmels, ir, is, it,
788 o table, bid, bid, bid,
789 p bid, iparg(1,ng), igeo, conde,
790 q itask, nloc_dmg, var_reg(1,ilay), mat_elem,
791 r h3d_strain, jplasol, jsph, sz_r1_free,
792 * snpc, stf, sbufmat, glob_therm,
793 * svis, sz_ix, iresp,
794 * n2d, th_strain, ngroup, tt,
795 . dt1, ntable, numelq, nummat,
796 . numgeo, numnod, numels,
797 . idel7nok, idtmin, maxfunc,
798 . imon_mat, userl_avail, impl_s,
799 . idyna, dt, fheat ,sensors, opt_mtn=mtn,opt_jcvt=jcvt,
800 . opt_isorth=isorth,opt_isorthg=isorthg)
801C
802 DO i=1,nel
803 sigym(i) = min(sigym(i),sigy(i))
804 stin(i) = stin(i)+sti(i)
805 ENDDO
806C
807 IF (glob_therm%NODADT_THERM == 1) THEN
808 DO i=1,nel
809 conden(i)= conden(i)+ conde(i)
810 ENDDO
811 ENDIF
812 IF (istrain == 1) THEN
813 CALL sstra3(
814 1 dxx, dyy, dzz, d4,
815 2 d5, d6, lbuf%STRA,wxx,
816 3 wyy, wzz, off, nel,
817 4 jcvt)
818 ENDIF
819C----------------------------
820C Internal forces
821C----------------------------
822 l_pla = elbuf_tab(ng)%BUFLY(ilay)%L_PLA
823 l_epsd = elbuf_tab(ng)%BUFLY(ilay)%L_EPSD
824 IF (isorth > 0) THEN
825 CALL scroto_sig(nel,lbuf%SIG,sign,dir)
826!! SCROTO() temporary replaced by (the same) SCROTO_SIG() in order not to affect
827!! the other multidimensional buffer ARRAYS which are still not modified
828 CALL scfint3(sign,
829 . px1, px2, px3, px4,
830 . py1, py2, py3, py4,
831 . pz1, pz2, pz3, pz4,
832 . px5, px6, px7, px8,
833 . py5, py6, py7, py8,
834 . pz5, pz6, pz7, pz8,
835 . f11,f21,f31,f12,f22,f32,f13,f23,f33,f14,f24,f34,
836 . f15,f25,f35,f16,f26,f36,f17,f27,f37,f18,f28,f38,
837 . voln,qvis,
838 . px1h1, px1h2, px2h1, px2h2,
839 . px3h1, px3h2, px4h1, px4h2,
840 . rx0, ry0, sx0, sy0,
841 . lbuf%EINT,lbuf%RHO,lbuf%QVIS,lbuf%PLA,lbuf%EPSD,gbuf%EPSD,
842 . gbuf%SIG,eintm,einto,rhom,gbuf%QVIS,gbuf%PLA,
843 . nu1,zt ,wt ,volg,mm,off,
844 . lbuf%VOL,gbuf%VOL,l_pla,l_epsd,nel,svis,
845 . gbuf%WPLA, lbuf%WPLA, gbuf%G_WPLA )
846 ELSE
847 CALL scfint3(lbuf%SIG,
848 . px1, px2, px3, px4,
849 . py1, py2, py3, py4,
850 . pz1, pz2, pz3, pz4,
851 . px5, px6, px7, px8,
852 . py5, py6, py7, py8,
853 . pz5, pz6, pz7, pz8,
854 . f11,f21,f31,f12,f22,f32,f13,f23,f33,f14,f24,f34,
855 . f15,f25,f35,f16,f26,f36,f17,f27,f37,f18,f28,f38,
856 . voln,qvis,
857 . px1h1, px1h2, px2h1, px2h2,
858 . px3h1, px3h2, px4h1, px4h2,
859 . rx0, ry0, sx0, sy0,
860 . lbuf%EINT,lbuf%RHO,lbuf%QVIS,lbuf%PLA,lbuf%EPSD,gbuf%EPSD,
861 . gbuf%SIG,eintm,einto,rhom,gbuf%QVIS,gbuf%PLA,
862 . nu1,a_gauss(ilay,nlay),w_gauss(ilay,nlay),volg,mm,off,
863 . lbuf%VOL,gbuf%VOL,l_pla,l_epsd,nel,svis,
864 . gbuf%WPLA, lbuf%WPLA, gbuf%G_WPLA )
865 ENDIF
866C-------------------------
867C Finite element heat transfert
868C--------------------------
869 IF (jthe < 0) THEN
870 imat = mxt(1)
871 IF (mat_elem%MAT_PARAM(imat)%HEAT_FLAG == 1) THEN
872 CALL sctherm(
873 1 pm, imat, voln, nc1,
874 2 nc2, nc3, nc4, nc5,
875 3 nc6, nc7, nc8, px1,
876 4 px2, px3, px4, py1,
877 5 py2, py3, py4, pz1,
878 6 pz2, pz3, pz4, dt1,
879 7 temp, tempel, fheat, them,
880 8 gbuf%OFF,lbuf%OFF,nel,glob_therm%THEACCFACT)
881 ELSE
882 CALL sctherm(
883 1 pm, imat, voln, nc1,
884 2 nc2, nc3, nc4, nc5,
885 3 nc6, nc7, nc8, px1,
886 4 px2, px3, px4, py1,
887 5 py2, py3, py4, pz1,
888 6 pz2, pz3, pz4, dt1,
889 7 temp, tempel, die, them,
890 8 gbuf%OFF,lbuf%OFF,nel,glob_therm%THEACCFACT)
891 END IF
892 ENDIF
893 DO i=1,nel
894 offg(i)=min(offg(i),off(i))
895 IF (lbuf%OFF(i) > one .AND. gbuf%OFF(i) == one) THEN
896 offs(i) = min(lbuf%OFF(i),offs(i))
897 ioffs = 1
898 ENDIF
899 ENDDO
900C-----------------------------
901 ENDDO ! ILAY=1,NLAY
902C-----------------------------
903c
904c===========================================================================
905c Computation of the internal non-local forces
906c===========================================================================
907 IF (inloc > 0) THEN
908 ! Computation of thickshell area
909 CALL sdlensh(voln,llsh,area ,
910 . x1, x2, x3, x4, x5, x6, x7, x8,
911 . y1, y2, y3, y4, y5, y6, y7, y8,
912 . z1, z2, z3, z4, z5, z6, z7, z8, nel)
913 ! Non-local internal forces
914 CALL scfint_reg(
915 1 nloc_dmg ,var_reg ,nel ,off ,
916 2 volg ,nc1 ,nc2 ,nc3 ,
917 3 nc4 ,nc5 ,nc6 ,nc7 ,
918 4 nc8 ,px1 ,px2 ,px3 ,
919 5 px4 ,py1 ,py2 ,py3 ,
920 6 py4 ,pz1 ,pz2 ,pz3 ,
921 7 pz4 ,mxt(lft) ,itask ,dt2t ,
922 8 gbuf%VOL ,nft ,nlay ,w_gauss ,
923 9 a_gauss ,area ,elbuf_tab(ng)%NLOCTS(1,1))
924 ENDIF
925c===========================================================================
926c
927 IF (ioffs == 1)THEN
928 DO i=1,nel
929 IF (offs(i)<=two) gbuf%OFF(i)=offs(i)
930 END DO
931 DO ilay=1,nlay
932 lbuf => elbuf_tab(ng)%BUFLY(ilay)%LBUF(ir,is,it)
933 IF (igtyp == 22) THEN
934 mid=igeo(ipmat+ilay,pid)
935 mtn=nint(pm(19,mid))
936 ENDIF
937 DO i=1,nel
938 IF (gbuf%OFF(i) > one) lbuf%OFF(i) = gbuf%OFF(i)
939 ENDDO
940 ENDDO ! ILAY=1,NLAY
941 ENDIF
942 DO i=1,nel
943 gbuf%RHO(i) = rhom(i)
944 END DO
945C-----------------------------
946 IF (igtyp == 22) THEN
947 mtn = mtn0 !is MTN0 always initialized here? (initialization only for ISORTH>0)
948 DO i=1,nel
949 mxt(i)=mxt0(i)
950 ENDDO
951 ENDIF
952 IF ( nn_del> 0) THEN
953 CALL sdlensh2(volg,llsh,area ,
954 . x1, x2, x3, x4, x5, x6, x7, x8,
955 . y1, y2, y3, y4, y5, y6, y7, y8,
956 . z1, z2, z3, z4, z5, z6, z7, z8,nel)
957 CALL tshgeodel3(ngl,gbuf%OFF,volg,area,gbuf%VOL,
958 . llsh,geo(1,pid),nn_del,dt,nel )
959 ENDIF
960C-----------------------------
961C Small strain
962C-----------------------------
963 CALL smallb3(
964 1 gbuf%OFF,offg, nel, ismstr)
965C-----------------------------
966C Anti hourglass forces
967C-----------------------------
968 IF (isctl > 0) THEN
969 dn = geo(13,pid)
970 CALL shour_ctl(
971 . pm, gbuf%RHO, offg, vx1,
972 . vx2, vx3, vx4, vx5,
973 . vx6, vx7, vx8, vy1,
974 . vy2, vy3, vy4, vy5,
975 . vy6, vy7, vy8, vz1,
976 . vz2, vz3, vz4, vz5,
977 . vz6, vz7, vz8, f11,
978 . f21, f31, f12, f22,
979 . f32, f13, f23, f33,
980 . f14, f24, f34, f15,
981 . f25, f35, f16, f26,
982 . f36, f17, f27, f37,
983 . f18, f28, f38, px1h1,
984 . px1h2, px1h3, px2h1, px2h2,
985 . px2h3, px3h1, px3h2, px3h3,
986 . px4h1, px4h2, px4h3, volg,
987 . gbuf%HOURG, mtn, dt1 , mxt,
988 . cxx, gbuf%EINT, npropm, nummat,
989 . gbuf%VOL, dn , stin, nel )
990!
991 gbuf%EINT(1:nel) = gbuf%EINT(1:nel) + eintm(1:nel)
992 ELSE
993 CALL schour3_1(
994 1 pm, gbuf%RHO, offg, vx1,
995 2 vx2, vx3, vx4, vx5,
996 3 vx6, vx7, vx8, vy1,
997 4 vy2, vy3, vy4, vy5,
998 5 vy6, vy7, vy8, vz1,
999 6 vz2, vz3, vz4, vz5,
1000 7 vz6, vz7, vz8, f11,
1001 8 f21, f31, f12, f22,
1002 9 f32, f13, f23, f33,
1003 a f14, f24, f34, f15,
1004 b f25, f35, f16, f26,
1005 c f36, f17, f27, f37,
1006 d f18, f28, f38, px1h1,
1007 e px1h2, px1h3, px1h4, px2h1,
1008 f px2h2, px2h3, px2h4, px3h1,
1009 g px3h2, px3h3, px3h4, px4h1,
1010 h px4h2, px4h3, px4h4, hgx1,
1011 i hgy2, hgz1, hgz2, volg,
1012 j mxt, cxx, ngeo, geo,
1013 k gbuf%HOURG,rx0, ry0, sx0,
1014 l sy0, jac5, gbuf%EINT, eintm,
1015 m gbuf%VOL, sigym, gbuf%SIG, mm,
1016 n nu, gbuf%PLA, icp, nel,
1017 o mtn, nlay)
1018 END IF
1019C--------------------------------------
1020C Balance per part in case of print out
1021C--------------------------------------
1022 iflag = mod(ncycle,ncpri)
1023 IF(ioutprt>0)THEN
1024 CALL srbilan(partsav,gbuf%EINT,gbuf%RHO,gbuf%RK ,gbuf%VOL,
1025 . vgxa ,vgya ,vgza ,vga2 ,volg ,
1026 . iparts ,gresav ,grth ,igrth ,gbuf%OFF,
1027 . iexpan ,gbuf%EINTTH,gbuf%FILL, xgxa, xgya, xgza,
1028 . xgxa2,xgya2,xgza2,xgxya,xgyza,xgzxa,itask,iparg(1,ng),sensors,
1029 . nel,gbuf%G_WPLA,gbuf%WPLA)
1030 ENDIF
1031C
1032C----------------------------
1033C Covected frame to global frame
1034C----------------------------
1035 CALL srrota3(
1036 1 r11, r21, r31, r12,
1037 2 r22, r32, r13, r23,
1038 3 r33, f11, f12, f13,
1039 4 f14, f15, f16, f17,
1040 5 f18, f21, f22, f23,
1041 6 f24, f25, f26, f27,
1042 7 f28, f31, f32, f33,
1043 8 f34, f35, f36, f37,
1044 9 f38, nel)
1045C----------------------------
1046C distortion control
1047C----------------------------
1048 IF (isctl > 0) THEN
1049 alpha_e(1:nel) = one ! incompatibale
1050 CALL sdistor_ini(
1051 1 nel ,sti_c ,npropm ,nummat ,
1052 2 ismstr ,mxt ,istab ,pm ,
1053 3 gbuf%SIG ,gbuf%RHO ,cxx ,offg ,
1054 4 gbuf%OFF ,ll ,voln ,fld ,
1055 5 cns2 ,fqmax )
1056! all in global system
1057 CALL s8get_x3(
1058 . nc1, nc2, nc3, nc4,
1059 . nc5, nc6, nc7, nc8,
1060 . x1, x2, x3, x4,
1061 . x5, x6, x7, x8,
1062 . y1, y2, y3, y4,
1063 . y5, y6, y7, y8,
1064 . z1, z2, z3, z4,
1065 . z5, z6, z7, z8,
1066 . x, xdp, numnod, nel )
1067 DO i=1,nel
1068 vx1(i)=v(1,nc1(i))
1069 vy1(i)=v(2,nc1(i))
1070 vz1(i)=v(3,nc1(i))
1071 vx2(i)=v(1,nc2(i))
1072 vy2(i)=v(2,nc2(i))
1073 vz2(i)=v(3,nc2(i))
1074 vx3(i)=v(1,nc3(i))
1075 vy3(i)=v(2,nc3(i))
1076 vz3(i)=v(3,nc3(i))
1077 vx4(i)=v(1,nc4(i))
1078 vy4(i)=v(2,nc4(i))
1079 vz4(i)=v(3,nc4(i))
1080 vx5(i)=v(1,nc5(i))
1081 vy5(i)=v(2,nc5(i))
1082 vz5(i)=v(3,nc5(i))
1083 vx6(i)=v(1,nc6(i))
1084 vy6(i)=v(2,nc6(i))
1085 vz6(i)=v(3,nc6(i))
1086 vx7(i)=v(1,nc7(i))
1087 vy7(i)=v(2,nc7(i))
1088 vz7(i)=v(3,nc7(i))
1089 vx8(i)=v(1,nc8(i))
1090 vy8(i)=v(2,nc8(i))
1091 vz8(i)=v(3,nc8(i))
1092 ENDDO
1093 CALL s8for_distor(
1094 . x1, x2, x3, x4,
1095 . x5, x6, x7, x8,
1096 . y1, y2, y3, y4,
1097 . y5, y6, y7, y8,
1098 . z1, z2, z3, z4,
1099 . z5, z6, z7, z8,
1100 . vx1, vx2, vx3, vx4,
1101 . vx5, vx6, vx7, vx8,
1102 . vy1, vy2, vy3, vy4,
1103 . vy5, vy6, vy7, vy8,
1104 . vz1, vz2, vz3, vz4,
1105 . vz5, vz6, vz7, vz8,
1106 . f11, f12, f13, f14,
1107 . f15, f16, f17, f18,
1108 . f21, f22, f23, f24,
1109 . f25, f26, f27, f28,
1110 . f31, f32, f33, f34,
1111 . f35, f36, f37, f38,
1112 . stin, sti_c, fld , cns2,
1113 . ll , istab, fqmax, nel,
1114 . gbuf%EINT_DISTOR, dt1)
1115 ENDIF
1116C----------------------------
1117 IF(nfilsol/=0) CALL sfillopt(
1118 1 gbuf%FILL,sti, f11, f21,
1119 2 f31, f12, f22, f32,
1120 3 f13, f23, f33, f14,
1121 4 f24, f34, f15, f25,
1122 5 f35, f16, f26, f36,
1123 6 f17, f27, f37, f18,
1124 7 f28, f38, nel)
1125C----------------------------
1126C Assemble internal forces
1127C----------------------------
1128 IF(iparit == 0)THEN
1129 CALL scumu3(
1130 1 gbuf%OFF,a, nc1, nc2,
1131 2 nc3, nc4, nc5, nc6,
1132 3 nc7, nc8, stifn, stin,
1133 4 f11, f21, f31, f12,
1134 5 f22, f32, f13, f23,
1135 6 f33, f14, f24, f34,
1136 7 f15, f25, f35, f16,
1137 8 f26, f36, f17, f27,
1138 9 f37, f18, f28, f38,
1139 a nvc, bid, bid, bid,
1140 b bid, bid, bid, bid,
1141 c bid, bid, bid, bid,
1142 d bid, bid, bid, bid,
1143 e bid, bid, bid, bid,
1144 f bid, bid, bid, bid,
1145 g bid, bid, bid, bid,
1146 h them, fthe, condn, conden,
1147 i nel, jthe, isrot, ipartsph,glob_therm%NODADT_THERM)
1148 ELSE
1149 CALL scumu3p(
1150 1 gbuf%OFF,stin, fsky, fsky,
1151 2 iads, f11, f21, f31,
1152 3 f12, f22, f32, f13,
1153 4 f23, f33, f14, f24,
1154 5 f34, f15, f25, f35,
1155 6 f16, f26, f36, f17,
1156 7 f27, f37, f18, f28,
1157 8 f38, nc1, nc2, nc3,
1158 9 nc4, nc5, nc6, nc7,
1159 a nc8, bid, bid, bid,
1160 b bid, bid, bid, bid,
1161 c bid, bid, bid, bid,
1162 d bid, bid, bid, bid,
1163 e bid, bid, bid, bid,
1164 f bid, bid, bid, bid,
1165 g bid, bid, bid, bid,
1166 h them, fthesky, condnsky,conden,
1167 i nel, nft, jthe, isrot,
1168 j ipartsph,glob_therm%NODADT_THERM)
1169 ENDIF
1170 IF (ntsheg > 0)
1171 + CALL scumualpha(
1172 1 gbuf%OFF,alpha_e, nc1, nc2,
1173 2 nc3, nc4, nc5, nc6,
1174 3 nc7, nc8, nel)
1175C-----------
1176 IF (ALLOCATED(var_reg)) DEALLOCATE(var_reg)
1177 RETURN
1178 END
#define my_real
Definition cppsort.cpp:32
subroutine csmall3(sig, s1, s2, s3, s4, s5, s6, offg, off, nel)
Definition csmall3.F:36
subroutine area(d1, x, x2, y, y2, eint, stif0)
#define min(a, b)
Definition macros.h:20
#define max(a, b)
Definition macros.h:21
subroutine mmain(pm, elbuf_str, ix, nix, x, geo, iparg, nel, skew, bufmat, ipart, ipartel, nummat, matparam, imat, ipm, ngl, pid, npf, tf, mfxx, mfxy, mfxz, mfyx, mfyy, mfyz, mfzx, mfzy, mfzz, rx, ry, rz, sx, sy, sz, gama, voln, dvol, s1, s2, s3, s4, s5, s6, dxx, dyy, dzz, d4, d5, d6, wxx, wyy, wzz)
Definition mmain.F:43
subroutine s8csigp3(sig, e0, defp, fac, g_pla, nel)
Definition s8csigp3.F:32
subroutine s8for_distor(x1, x2, x3, x4, x5, x6, x7, x8, y1, y2, y3, y4, y5, y6, y7, y8, z1, z2, z3, z4, z5, z6, z7, z8, vx1, vx2, vx3, vx4, vx5, vx6, vx7, vx8, vy1, vy2, vy3, vy4, vy5, vy6, vy7, vy8, vz1, vz2, vz3, vz4, vz5, vz6, vz7, vz8, f11, f12, f13, f14, f15, f16, f17, f18, f21, f22, f23, f24, f25, f26, f27, f28, f31, f32, f33, f34, f35, f36, f37, f38, sti, sti_c, fld, mu, ll, istab, fqmax, nel, e_distor, dt1)
subroutine s8get_x3(nc1, nc2, nc3, nc4, nc5, nc6, nc7, nc8, x1, x2, x3, x4, x5, x6, x7, x8, y1, y2, y3, y4, y5, y6, y7, y8, z1, z2, z3, z4, z5, z6, z7, z8, x, xdp, numnod, nel)
Definition s8get_x3.F:42
subroutine s8sav3(offg, sav, xd1, xd2, xd3, xd4, xd5, xd6, xd7, xd8, yd1, yd2, yd3, yd4, yd5, yd6, yd7, yd8, zd1, zd2, zd3, zd4, zd5, zd6, zd7, zd8, nel)
Definition s8sav3.F:41
subroutine scdefc3(px1, px2, px3, px4, py1, py2, py3, py4, pz1, pz2, pz3, pz4, vx1, vx2, vx3, vx4, vx5, vx6, vx7, vx8, vy1, vy2, vy3, vy4, vy5, vy6, vy7, vy8, vz1, vz2, vz3, vz4, vz5, vz6, vz7, vz8, dxx, dxy, dxz, dyx, dyy, dyz, dzx, dzy, dzz, d4, d5, d6, wxx, wyy, wzz, dhxx, dhxy, dhyx, dhyy, dhzx, dhzy, dhzz, dh4, dh5, dh6, px1h1, px1h2, px2h1, px2h2, px3h1, px3h2, px4h1, px4h2, hgx1, hgy2, hgz1, hgz2, rx0, ry0, sx0, sy0, nu, ddhv, nel)
Definition scdefc3.F:49
subroutine scdefo3(dxx, dxy, dxz, dyx, dyy, dyz, dzx, dzy, dzz, d4, d5, d6, dcxx, dcxy, dcxz, dcyx, dcyy, dcyz, dczx, dczy, dczz, dc4, dc5, dc6, dhxx, dhxy, dhxz, dhyx, dhyy, dhyz, dhzx, dhzy, dhzz, dh4, dh5, dh6, zi, wi, vzl, vol, volg, volo, ddhv, sig, sigzm, volm, usb, eint, off, offg, dti, offs, dvc, vol0dp, voldp, ipres, nel)
Definition scdefo3.F:45
subroutine scfint3(sig, px1, px2, px3, px4, py1, py2, py3, py4, pz1, pz2, pz3, pz4, px5, px6, px7, px8, py5, py6, py7, py8, pz5, pz6, pz7, pz8, f11, f21, f31, f12, f22, f32, f13, f23, f33, f14, f24, f34, f15, f25, f35, f16, f26, f36, f17, f27, f37, f18, f28, f38, vol, qvis, px1h1, px1h2, px2h1, px2h2, px3h1, px3h2, px4h1, px4h2, rx0, ry0, sx0, sy0, eint, rho, q, eplas, epsd, epsdm, sigm, eintm, einto, rhom, qm, eplasm, nu, zi, wi, volg, mm, off, vol0, vol0g, g_pla, g_epsd, nel, svis, g_wpla, l_wpla, g_wpla_flag)
Definition scfint3.F:46
subroutine scfint_reg(nloc_dmg, var_reg, nel, off, vol, nc1, nc2, nc3, nc4, nc5, nc6, nc7, nc8, px1, px2, px3, px4, py1, py2, py3, py4, pz1, pz2, pz3, pz4, imat, itask, dt2t, vol0, nft, nlay, ws, as, area, bufnlts)
Definition scfint_reg.F:41
subroutine scforc3(timers, output, elbuf_tab, ng, pm, geo, ixs, x, a, v, ms, w, flux, flu1, veul, fv, ale_connect, iparg, tf, npf, bufmat, partsav, nloc_dmg, dt2t, neltst, ityptst, stifn, fsky, iads, offset, eani, iparts, f11, f21, f31, f12, f22, f32, f13, f23, f33, f14, f24, f34, f15, f25, f35, f16, f26, f36, f17, f27, f37, f18, f28, f38, nel, icp, icsig, nvc, ipm, istrain, temp, fthe, fthesky, iexpan, igeo, gresav, grth, igrth, mssa, dmels, table, xdp, voln, condn, condnsky, itask, ioutprt, mat_elem, h3d_strain, dt, snpc, stf, sbufmat, svis, nsvois, idtmins, iresp, idel7ng, idel7nok, maxfunc, imon_mat, userl_avail, glob_therm, impl_s, idyna, sensors)
Definition scforc3.F:98
subroutine schour3_1(pm, rho, off, vx1, vx2, vx3, vx4, vx5, vx6, vx7, vx8, vy1, vy2, vy3, vy4, vy5, vy6, vy7, vy8, vz1, vz2, vz3, vz4, vz5, vz6, vz7, vz8, f11, f21, f31, f12, f22, f32, f13, f23, f33, f14, f24, f34, f15, f25, f35, f16, f26, f36, f17, f27, f37, f18, f28, f38, px1h1, px1h2, px1h3, px1h4, px2h1, px2h2, px2h3, px2h4, px3h1, px3h2, px3h3, px3h4, px4h1, px4h2, px4h3, px4h4, hgx1, hgy2, hgz1, hgz2, vol, mat, cxx, pid, geo, fhour, rx0, ry0, sx0, sy0, aj5, eint, eintm, vol0, sigy, sig0, mm, nu, defp, icp, nel, mtn, nlay)
Definition schour3_1.F:53
subroutine sczero3(rhog, sigg, eintg, nel)
Definition scinit3.F:535
subroutine sdlensh(nel, llsh, x1, x2, x3, x4, x5, x6, x7, x8, y1, y2, y3, y4, y5, y6, y7, y8, z1, z2, z3, z4, z5, z6, z7, z8)
Definition scinit3.F:574
subroutine scordef3(nel, dxx, dyy, dzz, d4, d5, d6, dir)
Definition scordef3.F:33
subroutine scroto_sig(nel, sig, sign, dir)
Definition scroto_sig.F:30
subroutine sctherm(pm, imat, vol, nc1, nc2, nc3, nc4, nc5, nc6, nc7, nc8, px1, px2, px3, px4, py1, py2, py3, py4, pz1, pz2, pz3, pz4, dt1, tempnc, tel, heat, fphi, offg, off, nel, theaccfact)
Definition sctherm.F:37
subroutine scumu3(offg, e, nc1, nc2, nc3, nc4, nc5, nc6, nc7, nc8, stifn, sti, f11, f21, f31, f12, f22, f32, f13, f23, f33, f14, f24, f34, f15, f25, f35, f16, f26, f36, f17, f27, f37, f18, f28, f38, nvc, ar, fr_wave, fr_wav, mx1, my1, mz1, mx2, my2, mz2, mx3, my3, mz3, mx4, my4, mz4, mx5, my5, mz5, mx6, my6, mz6, mx7, my7, mz7, mx8, my8, mz8, them, fthe, condn, conde, nel, jthe, isrot, ipartsph, nodadt_therm)
Definition scumu3.F:55
subroutine scumu3p(offg, sti, fsky, fskyv, iads, f11, f21, f31, f12, f22, f32, f13, f23, f33, f14, f24, f34, f15, f25, f35, f16, f26, f36, f17, f27, f37, f18, f28, f38, nc1, nc2, nc3, nc4, nc5, nc6, nc7, nc8, ar, fr_wave, fr_wav, mx1, my1, mz1, mx2, my2, mz2, mx3, my3, mz3, mx4, my4, mz4, mx5, my5, mz5, mx6, my6, mz6, mx7, my7, mz7, mx8, my8, mz8, them, fthesky, condnsky, conde, nel, nft, jthe, isrot, ipartsph, nodadt_therm)
Definition scumu3p.F:56
subroutine scumualpha(offg, alpha_e, nc1, nc2, nc3, nc4, nc5, nc6, nc7, nc8, nel)
Definition scumualpha.F:35
subroutine sdlensh2(voln, llsh, area, x1, x2, x3, x4, x5, x6, x7, x8, y1, y2, y3, y4, y5, y6, y7, y8, z1, z2, z3, z4, z5, z6, z7, z8, nel)
Definition sdlensh2.F:37
subroutine sfillopt(fill, sti, f11, f21, f31, f12, f22, f32, f13, f23, f33, f14, f24, f34, f15, f25, f35, f16, f26, f36, f17, f27, f37, f18, f28, f38, nel)
Definition sfillopt.F:43
subroutine sgetdir3(nel, rx, ry, rz, tx, ty, tz, e1x, e1y, e1z, e2x, e2y, e2z, dir, dirb, irep)
Definition sgetdir3.F:31
subroutine sgparav3(npe, x, ixs, rx, ry, rz, sx, sy, sz, tx, ty, tz, nel)
Definition sgparav3.F:37
subroutine smallb3(offg, off, nel, ismstr)
Definition smallb3.F:45
subroutine srbilan(partsav, eint, rho, rk, vol, vxa, vya, vza, va2, vnew, iparts, gresav, grth, igrth, off, iexpan, eintth, fill, xx, yy, zz, xx2, yy2, zz2, xy, yz, zx, itask, iparg, sensors, nel, g_wpla, wpla)
Definition srbilan.F:45
subroutine sstra3(dxx, dyy, dzz, d4, d5, d6, strain, wxx, wyy, wzz, off, nel, jcvt)
Definition sstra3.F:47
subroutine sdlen3(x1, x2, x3, x4, x5, x6, x7, x8, y1, y2, y3, y4, y5, y6, y7, y8, z1, z2, z3, z4, z5, z6, z7, z8, deltax, voln)
Definition sdlen3.F:41
subroutine srcoor3(x, xrefs, ixs, geo, mxt, ngeo, ngl, jhbe, ix1, ix2, ix3, ix4, ix5, ix6, ix7, ix8, x1, x2, x3, x4, x5, x6, x7, x8, y1, y2, y3, y4, y5, y6, y7, y8, z1, z2, z3, z4, z5, z6, z7, z8, rx, ry, rz, sx, sy, sz, tx, ty, tz, e1x, e1y, e1z, e2x, e2y, e2z, e3x, e3y, e3z, f1x, f1y, f1z, f2x, f2y, f2z, temp0, temp, nintemp, xd1, xd2, xd3, xd4, xd5, xd6, xd7, xd8, yd1, yd2, yd3, yd4, yd5, yd6, yd7, yd8, zd1, zd2, zd3, zd4, zd5, zd6, zd7, zd8)
Definition srcoor3.F:52
subroutine srho3(pm, volo, rhon, eint, dxx, dyy, dzz, voln, dvol, mat)
Definition srho3.F:31
subroutine srrota3(r11, r12, r13, r21, r22, r23, r31, r32, r33, x1, x2, x3, x4, x5, x6, x7, x8, y1, y2, y3, y4, y5, y6, y7, y8, z1, z2, z3, z4, z5, z6, z7, z8)
Definition srrota3.F:33
subroutine scderi3(nel, vol, jeul, veul, geo, vzl, vzq, ngl, ngeo, x1, x2, x3, x4, x5, x6, x7, x8, y1, y2, y3, y4, y5, y6, y7, y8, z1, z2, z3, z4, z5, z6, z7, z8, det)
Definition scderi3.F:37
subroutine tshgeodel3(ngl, offg, volg, area, volg0, l_sh, geo, nnod, dt, nel)
Definition tshgeodel3.F:36