OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
sforc3.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!|| sforc3 ../engine/source/elements/solid/solide/sforc3.F
25!||--- called by ------------------------------------------------------
26!|| alemain ../engine/source/ale/alemain.F
27!|| forint ../engine/source/elements/forint.F
28!||--- calls -----------------------------------------------------
29!|| aleflow ../engine/source/ale/porous/aleflow.F
30!|| alefvm_epsdot ../engine/source/ale/alefvm/alefvm_epsdot.F
31!|| alefvm_freset ../engine/source/ale/alefvm/alefvm_freset.F
32!|| alefvm_gravity ../engine/source/ale/alefvm/alefvm_gravity.F
33!|| alefvm_gravity_int22 ../engine/source/ale/alefvm/alefvm_gravity_int22.F
34!|| alefvm_stress ../engine/source/ale/alefvm/alefvm_stress.F
35!|| alefvm_stress_int22 ../engine/source/ale/alefvm/alefvm_stress_int22.f
36!|| alefvm_tfext ../engine/source/ale/alefvm/alefvm_tfext.F
37!|| amass3 ../engine/source/elements/solid/solide/amass3.F
38!|| amass3f ../engine/source/elements/solid/solide/amass3f.F
39!|| amass3p ../engine/source/elements/solid/solide/amass3p.F
40!|| amass3pf ../engine/source/elements/solid/solide/amass3pf.F
41!|| amomt3 ../engine/source/elements/solid/solide/amomt3.F
42!|| boltst ../engine/source/elements/solid/solide/boltst.F
43!|| check_off_ale ../engine/source/elements/solid/solide/check_off_ale.F
44!|| deltax22 ../engine/source/interfaces/int22/deltax22.F
45!|| emomt3b ../engine/source/elements/solid/solide/emomt3b.F
46!|| epxle3 ../engine/source/elements/solid/solide/epxle3.F
47!|| fcumu3 ../engine/source/elements/solid/solide/fcumu3.F
48!|| fcumu3p ../engine/source/elements/solid/solide/fcumu3p.F
49!|| fdefo3 ../engine/source/elements/solid/solide/fdefo3.F
50!|| fderi3 ../engine/source/elements/solid/solide/fderi3.F
51!|| fdlen3 ../engine/source/elements/solid/solide/fdlen3.F
52!|| fe_close ../engine/source/elements/solid/solide/fe_close.F
53!|| ffint3 ../engine/source/elements/solid/solide/ffint3.F
54!|| fhvis3 ../engine/source/elements/solid/solide/fhvis3.F
55!|| frho3 ../engine/source/elements/solid/solide/frho3.F
56!|| mmain ../engine/source/materials/mat_share/mmain.F90
57!|| mod_close ../engine/source/elements/solid/solide/mod_close.f
58!|| s11defo3 ../engine/source/elements/solid/solide/s11defo3.F
59!|| s11fx3 ../engine/source/elements/solid/solide/s11fx3.F
60!|| s8for_distor ../engine/source/elements/solid/solide/s8for_distor.F
61!|| s8get_x3 ../engine/source/elements/solid/solide/s8get_x3.F
62!|| s8sav12 ../engine/source/elements/solid/solide/s8sav12.f
63!|| s8sav3 ../engine/source/elements/solid/solide/s8sav3.F
64!|| s8savsr3 ../engine/source/elements/solid/solide/s8savsr3.F
65!|| s8upd11t12 ../engine/source/elements/solid/solide/s8upd11t12.F
66!|| s_hg5 ../engine/source/elements/solid/solide/s_hg5.F
67!|| sbilan ../engine/source/elements/solid/solide/sbilan.F
68!|| scoor3 ../engine/source/elements/solid/solide/scoor3.F
69!|| scoor3_fvm ../engine/source/ale/alefvm/scoor3_fvm.F
70!|| scoor_cp2sp ../engine/source/elements/solid/solidez/scoor_cp2sp.F
71!|| scumu3 ../engine/source/elements/solid/solide/scumu3.F
72!|| scumu3p ../engine/source/elements/solid/solide/scumu3p.f
73!|| sdefo3 ../engine/source/elements/solid/solide/sdefo3.f
74!|| sdefot3 ../engine/source/elements/solid/solide/sdefot3.F
75!|| sderi3 ../engine/source/elements/solid/solide/sderi3.F
76!|| sderit3 ../engine/source/elements/solid/solide/sderit3.F
77!|| sderito3 ../engine/source/elements/solid/solide/sderito3.F
78!|| sdistor_ini ../engine/source/elements/solid/solide/sdistror_ini.f90
79!|| sdlen3 ../engine/source/elements/solid/solide/sdlen3.F
80!|| sdlenmax ../engine/source/elements/solid/solide/sdlenmax.F
81!|| sfillopt ../engine/source/elements/solid/solide/sfillopt.F
82!|| sfint3 ../engine/source/elements/solid/solide/sfint3.F
83!|| sfint3b ../engine/source/elements/solid/solide/sfint3b.F
84!|| sfint_reg ../engine/source/elements/solid/solide/sfint_reg.F
85!|| sgcoor3 ../engine/source/elements/solid/solide/sgcoor3.f
86!|| sgeodel3 ../engine/source/elements/solid/solide/sgeodel3.F
87!|| shvis3 ../engine/source/elements/solid/solide/shvis3.F
88!|| smalla3 ../engine/source/elements/solid/solide/smalla3.f
89!|| smallb3 ../engine/source/elements/solid/solide/smallb3.F
90!|| smallgeo3 ../engine/source/elements/solid/solide/smallgeo3.F
91!|| sordef12 ../engine/source/elements/solid/solidez/sordef12.F
92!|| sordeft12 ../engine/source/elements/solid/solidez/sordeft12.F
93!|| sordeft3 ../engine/source/elements/solid/solidez/sordeft3.F
94!|| srbilan ../engine/source/elements/solid/solide/srbilan.F
95!|| srcoor12 ../engine/source/elements/solid/solide/srcoor12.F
96!|| srcoor3 ../engine/source/elements/solid/solide/srcoor3.f
97!|| srho3 ../engine/source/elements/solid/solide/srho3.f
98!|| srmalla11 ../engine/source/elements/solid/solide/srmalla11.F
99!|| srmalla3 ../engine/source/elements/solid/solide/srmall3.F
100!|| srota3 ../engine/source/elements/solid/solide/srota3.F
101!|| sroto12_sig ../engine/source/elements/solid/solidez/sroto12_sig.F
102!|| srrota3 ../engine/source/elements/solid/solide/srrota3.F
103!|| srrotadp ../engine/source/elements/solid/solide/srrotadp.F
104!|| sstra3 ../engine/source/elements/solid/solide/sstra3.F
105!|| startime ../engine/source/system/timer_mod.F90
106!|| stherm ../engine/source/elements/solid/solide/stherm.F
107!|| stoptime ../engine/source/system/timer_mod.F90
108!|| voln22 ../engine/source/interfaces/int22/voln22.F
109!||--- uses -----------------------------------------------------
110!|| ale_connectivity_mod ../common_source/modules/ale/ale_connectivity_mod.f
111!|| ale_mod ../common_source/modules/ale/ale_mod.f
112!|| dt_mod ../engine/source/modules/dt_mod.F
113!|| elbufdef_mod ../common_source/modules/mat_elem/elbufdef_mod.F90
114!|| glob_therm_mod ../common_source/modules/mat_elem/glob_therm_mod.F90
115!|| mat_elem_mod ../common_source/modules/mat_elem/mat_elem_mod.F90
116!|| mmain_mod ../engine/source/materials/mat_share/mmain.F90
117!|| nlocal_reg_mod ../common_source/modules/nlocal_reg_mod.F
118!|| output_mod ../common_source/modules/output/output_mod.F90
119!|| sdistor_ini_mod ../engine/source/elements/solid/solide/sdistror_ini.F90
120!|| sensor_mod ../common_source/modules/sensor_mod.F90
121!|| table_mod ../engine/share/modules/table_mod.F
122!|| timer_mod ../engine/source/system/timer_mod.F90
123!||====================================================================
124 SUBROUTINE sforc3(TIMERS, OUTPUT,
125 1 ELBUF_TAB, NG, PM, GEO,
126 2 IXS, X, NV46, A,
127 3 V, MS, W, FLUX,
128 4 FLU1, VEUL, FV, ALE_CONNECT,
129 5 IPARG, TF, NPF, BUFMAT,
130 6 PARTSAV, ITAB, DT2T, NELTST,
131 7 ITYPTST, STIFN, FSKY, IADS,
132 8 OFFSET, EANI, IPARTS, F11,
133 9 F21, F31, F12, F22,
134 A F32, F13, F23, F33,
135 B F14, F24, F34, F15,
136 C F25, F35, F16, F26,
137 D F36, F17, F27, F37,
138 E F18, F28, F38, NEL,
139 F FSKYM, MSNF, ISKY, FSKYI,
140 G NVC, IPM, IGEO, AR,
141 H VR, IN, FR_WAVE, DR,
142 I BUFVOIS, ITASK, QMV, ISTRAIN,
143 J TEMP, FTHE, FTHESKY, IEXPAN,
144 K GRESAV, GRTH, IGRTH, MSSA,
145 L DMELS, TABLE, PHI1, PHI2,
146 M VF, AF, DF, WF,
147 N FFSKY, AFGLOB, MSF, IPARG1,
148 O XDP, POR, ICONTACT, IFOAM,
149 P VOLN, CONDN, CONDNSKY, AGRAV,
150 Q IGRV, LGRAV, SENSORS, SKEW,
151 R NALE, D, IOUTPRT, NLOC_DMG,
152 S MAT_ELEM, H3D_STRAIN, DT, IDEL7NOK,NSVOIS,
153 T SZ_BUFVOIS, SNPC,STF,SBUFMAT,SVIS,IDTMINS,IRESP,
154 U IDEL7NG, MAXFUNC, USERL_AVAIL, GLOB_THERM,
155 V impl_s, idyna, WFEXT)
156C-----------------------------------------------
157C M o d u l e s
158C-----------------------------------------------
159 USE timer_mod
160 USE output_mod, ONLY : output_
161 USE mmain_mod
162 USE table_mod
163 USE mat_elem_mod
166 USE sensor_mod
167 USE ale_mod
168 USE dt_mod
169 USE elbufdef_mod
170 USE sdistor_ini_mod, ONLY : sdistor_ini
171 use glob_therm_mod
172C-----------------------------------------------
173C I m p l i c i t T y p e s
174C-----------------------------------------------
175#include "implicit_f.inc"
176C-----------------------------------------------
177C G l o b a l P a r a m e t e r s
178C-----------------------------------------------
179#include "mvsiz_p.inc"
180C-----------------------------------------------
181C C o m m o n B l o c k s
182C-----------------------------------------------
183#include "vect01_c.inc"
184#include "com01_c.inc"
185#include "com04_c.inc"
186#include "com08_c.inc"
187#include "scr03_c.inc"
188#include "scr06_c.inc"
189#include "parit_c.inc"
190#include "param_c.inc"
191#include "timeri_c.inc"
192#include "inter22.inc"
193#include "scr18_c.inc"
194#include "comlock.inc"
195C-----------------------------------------------
196C D u m m y A r g u m e n t s
197C-----------------------------------------------
198 TYPE(timer_) ,INTENT(INOUT) :: TIMERS
199 TYPE(output_), INTENT(INOUT) :: OUTPUT
200 INTEGER, INTENT(IN) :: SNPC
201 INTEGER, INTENT(IN) :: SZ_BUFVOIS
202 INTEGER, INTENT(IN) :: NSVOIS
203 INTEGER, INTENT(IN) :: STF
204 INTEGER, INTENT(IN) :: SBUFMAT
205 INTEGER, INTENT(INOUT) :: IDEL7NOK
206 INTEGER, INTENT(IN) :: IDTMINS
207 INTEGER ,INTENT(IN) :: IRESP
208 INTEGER ,INTENT(IN) :: IDEL7NG
209 INTEGER ,INTENT(IN) :: MAXFUNC
210 INTEGER, INTENT(IN) :: IMPL_S
211 INTEGER, INTENT(IN) :: IDYNA
212 INTEGER, INTENT(IN) :: USERL_AVAIL
213 INTEGER, DIMENSION(*), INTENT(IN) :: IPARG,IPARTS,NPF,NALE
214 INTEGER,INTENT(IN) :: NG,NEL
215 INTEGER IXS(NIXS,NUMELS), IADS(8,*),IPM(NPROPMI,NUMMAT),
216 . IGEO(NPROPGI,*),GRTH(*),IGRTH(*),IPARG1(*),IFOAM(*),
217 . ICONTACT(*),ISKY(*),ITAB(*)
218 INTEGER NELTST,ITYPTST,OFFSET,NVC,ITASK,
219 . ISTRAIN, IEXPAN, NV46,IOUTPRT,H3D_STRAIN
220
221 DOUBLE PRECISION :: XDP(3,*)
222
223 my_real, DIMENSION(MVSIZ,6), INTENT(INOUT) :: SVIS
224 my_real :: DT2T
225 my_real
226 . PM(NPROPM,NUMMAT), GEO(NPROPG,NUMGEO), X(*), A(*), V(3,*), MS(*), W(*),
227 . FLUX(6,*), FSKYM(*),
228 . FLU1(*), VEUL(*), FV(*), TF(*), BUFMAT(*),
229 . partsav(*),stifn(*), fsky(*),eani(*),
230 . f11(mvsiz),f21(mvsiz),f31(mvsiz),
231 . f12(mvsiz),f22(mvsiz),f32(mvsiz),
232 . f13(mvsiz),f23(mvsiz),f33(mvsiz),
233 . f14(mvsiz),f24(mvsiz),f34(mvsiz),
234 . f15(mvsiz),f25(mvsiz),f35(mvsiz),
235 . f16(mvsiz),f26(mvsiz),f36(mvsiz),
236 . f17(mvsiz),f27(mvsiz),f37(mvsiz),
237 . f18(mvsiz),f28(mvsiz),f38(mvsiz),
238 . temp(*), fthe(*),fthesky(*),gresav(*), mssa(*), dmels(*),
239 . phi1(*),phi2(*),vf(3,*) ,d(3,*),
240 . af(3,*), ffsky(3,*),df(3,*),wf(3,*),msf(*),afglob(3,*),
241 . por(*),voln(mvsiz), condn(*),condnsky(*)
242
243 my_real :: bufvois(6,*) ! Neighbour element numbers (ALE/CFD)
244 my_real :: msnf(*),ar(*),vr(3,*),in(*),fr_wave(*),dr(3,*),qmv(12,*)
245 TYPE (TTABLE) TABLE(*)
246 TYPE (ELBUF_STRUCT_), TARGET, DIMENSION(NGROUP) :: ELBUF_TAB
247 TYPE (NLOCAL_STR_) , TARGET :: NLOC_DMG
248 TYPE (MAT_ELEM_) ,INTENT(INOUT) :: MAT_ELEM
249
250 my_real :: p(mvsiz),fskyi(lskyi,nfskyi)
251
252 INTEGER :: IGRV(*), LGRAV(*)
253 my_real :: AGRAV(*),SKEW(LSKEW,*)
254 TYPE(t_ale_connectivity), INTENT(IN) :: ALE_CONNECT
255 TYPE (SENSORS_) ,INTENT(INOUT) :: SENSORS
256 TYPE (DT_), INTENT(INOUT) :: DT
257 type (glob_therm_) ,intent(inout) :: glob_therm
258
259 DOUBLE PRECISION,INTENT(INOUT) :: WFEXT
260C-----------------------------------------------
261C L o c a l V a r i a b l e s
262C-----------------------------------------------
263 INTEGER I,NF1,NUVAR,IBID,IPTR,IPTS,IPTT,ILAY,ITET,IFVM_SKIP,NNOD
264 INTEGER NBF1,NBF2,NBF3, IALEFVM_MAT
265 INTEGER MXT(MVSIZ),NGL(MVSIZ),NGEO(MVSIZ),INOD(8)
266 my_real VD2(MVSIZ) , DVOL(MVSIZ),DELTAX(MVSIZ),
267 . VIS(MVSIZ) , QVIS(MVSIZ), CXX(MVSIZ) ,
268 . S1(MVSIZ) , S2(MVSIZ) , S3(MVSIZ) ,
269 . S4(MVSIZ) , S5(MVSIZ) , S6(MVSIZ) ,
270 . B1(MVSIZ) , B2(MVSIZ) , B3(MVSIZ) ,
271 . B4(MVSIZ) , B5(MVSIZ) , B6(MVSIZ) ,
272 . DXX(MVSIZ) , DYY(MVSIZ) , DZZ(MVSIZ) ,
273 . D4(MVSIZ) , D5(MVSIZ) , D6(MVSIZ) ,
274 . jac1(mvsiz), jac2(mvsiz), jac3(mvsiz),
275 . jac4(mvsiz), jac5(mvsiz), jac6(mvsiz),
276 . vdx(mvsiz) , vdy(mvsiz) , vdz(mvsiz),ssp_eq(mvsiz),
277 . aire(mvsiz),fqvis(mvsiz), fcxx(mvsiz)
278 my_real, dimension(mvsiz) :: fheat
279C
280 my_real :: sti(mvsiz), wxx(mvsiz) , wyy(mvsiz) , wzz(mvsiz)
281 my_real :: muvoid(mvsiz) ! used in case of SPH
282 my_real :: sigy(mvsiz),et(mvsiz),r3_free(mvsiz)
283C
284C Connectivities
285 INTEGER NC1(MVSIZ), NC2(MVSIZ), NC3(MVSIZ), NC4(MVSIZ),
286 . nc5(mvsiz), nc6(mvsiz), nc7(mvsiz), nc8(mvsiz)
287C
288 DOUBLE PRECISION
289 . XD1(MVSIZ), XD2(MVSIZ), XD3(MVSIZ), XD4(MVSIZ),
290 . xd5(mvsiz), xd6(mvsiz), xd7(mvsiz), xd8(mvsiz),
291 . yd1(mvsiz), yd2(mvsiz), yd3(mvsiz), yd4(mvsiz),
292 . yd5(mvsiz), yd6(mvsiz), yd7(mvsiz), yd8(mvsiz),
293 . zd1(mvsiz), zd2(mvsiz), zd3(mvsiz), zd4(mvsiz),
294 . zd5(mvsiz), zd6(mvsiz), zd7(mvsiz), zd8(mvsiz),
295 . x0(mvsiz,8),y0(mvsiz,8),z0(mvsiz,8),voldp(mvsiz)
296C
297 my_real
298 . off(mvsiz) , rhoo(mvsiz),
299 . x1(mvsiz), x2(mvsiz), x3(mvsiz), x4(mvsiz),
300 . x5(mvsiz), x6(mvsiz), x7(mvsiz), x8(mvsiz),
301 . y1(mvsiz), y2(mvsiz), y3(mvsiz), y4(mvsiz),
302 . y5(mvsiz), y6(mvsiz), y7(mvsiz), y8(mvsiz),
303 . z1(mvsiz), z2(mvsiz), z3(mvsiz), z4(mvsiz),
304 . z5(mvsiz), z6(mvsiz), z7(mvsiz), z8(mvsiz),
305 . vx1(mvsiz),vx2(mvsiz),vx3(mvsiz),vx4(mvsiz),
306 . vx5(mvsiz),vx6(mvsiz),vx7(mvsiz),vx8(mvsiz),
307 . vy1(mvsiz),vy2(mvsiz),vy3(mvsiz),vy4(mvsiz),
308 . vy5(mvsiz),vy6(mvsiz),vy7(mvsiz),vy8(mvsiz),
309 . vz1(mvsiz),vz2(mvsiz),vz3(mvsiz),vz4(mvsiz),
310 . vz5(mvsiz),vz6(mvsiz),vz7(mvsiz),vz8(mvsiz),
311 . px1(mvsiz),px2(mvsiz),px3(mvsiz),px4(mvsiz),
312 . px5(mvsiz),px6(mvsiz),px7(mvsiz),px8(mvsiz),
313 . py1(mvsiz),py2(mvsiz),py3(mvsiz),py4(mvsiz),
314 . py5(mvsiz),py6(mvsiz),py7(mvsiz),py8(mvsiz),
315 . pz1(mvsiz),pz2(mvsiz),pz3(mvsiz),pz4(mvsiz),
316 . pz5(mvsiz),pz6(mvsiz),pz7(mvsiz),pz8(mvsiz),
317 . px1h1(mvsiz),px2h1(mvsiz),px3h1(mvsiz),px4h1(mvsiz),
318 . px1h2(mvsiz),px2h2(mvsiz),px3h2(mvsiz),px4h2(mvsiz),
319 . px1h3(mvsiz),px2h3(mvsiz),px3h3(mvsiz),px4h3(mvsiz),
320 . vdx1(mvsiz),vdx2(mvsiz),vdx3(mvsiz),vdx4(mvsiz),
321 . vdx5(mvsiz),vdx6(mvsiz),vdx7(mvsiz),vdx8(mvsiz),
322 . vdy1(mvsiz),vdy2(mvsiz),vdy3(mvsiz),vdy4(mvsiz),
323 . vdy5(mvsiz),vdy6(mvsiz),vdy7(mvsiz),vdy8(mvsiz),
324 . vdz1(mvsiz),vdz2(mvsiz),vdz3(mvsiz),vdz4(mvsiz),
325 . vdz5(mvsiz),vdz6(mvsiz),vdz7(mvsiz),vdz8(mvsiz),
326 . vgxa(mvsiz),vgya(mvsiz),vgza(mvsiz), vga2(mvsiz),
327 . dxy(mvsiz),dyx(mvsiz),dyz(mvsiz),
328 . dzy(mvsiz),dzx(mvsiz),dxz(mvsiz),
329 . r11(mvsiz),r12(mvsiz),r13(mvsiz),
330 . r21(mvsiz),r22(mvsiz),r23(mvsiz),
331 . r31(mvsiz),r32(mvsiz),r33(mvsiz),hh(mvsiz),gama(mvsiz,6),
332 . vx0(mvsiz,8),vy0(mvsiz,8),vz0(mvsiz,8),
333 . mfxx(mvsiz),mfxy(mvsiz),mfyx(mvsiz),
334 . mfyy(mvsiz),mfyz(mvsiz),mfzy(mvsiz),
335 . mfzz(mvsiz),mfzx(mvsiz),mfxz(mvsiz),
336 . dfe(mvsiz,3),sigf(mvsiz,6),offg0(mvsiz),
337 . xgxa(mvsiz),xgya(mvsiz),xgza(mvsiz),
338 . xgxya(mvsiz),xgyza(mvsiz),xgzxa(mvsiz),
339 . xgxa2(mvsiz),xgya2(mvsiz),xgza2(mvsiz)
340C
341 my_real
342 . vxr(mvsiz),vyr(mvsiz),vzr(mvsiz),fr_wav(mvsiz),
343 . tempel(mvsiz),them(mvsiz,8),die(mvsiz)
344C
345 my_real
346 . mx1(mvsiz),my1(mvsiz),mz1(mvsiz),
347 . mx2(mvsiz),my2(mvsiz),mz2(mvsiz),
348 . mx3(mvsiz),my3(mvsiz),mz3(mvsiz),
349 . mx4(mvsiz),my4(mvsiz),mz4(mvsiz),
350 . mx5(mvsiz),my5(mvsiz),mz5(mvsiz),
351 . mx6(mvsiz),my6(mvsiz),mz6(mvsiz),
352 . mx7(mvsiz),my7(mvsiz),mz7(mvsiz),
353 . mx8(mvsiz),my8(mvsiz),mz8(mvsiz)
354C
355 my_real
356 . n1x(mvsiz), n2x(mvsiz), n3x(mvsiz),
357 . n1y(mvsiz), n2y(mvsiz), n3y(mvsiz),
358 . n1z(mvsiz), n2z(mvsiz), n3z(mvsiz),
359 . n4x(mvsiz), n5x(mvsiz), n6x(mvsiz),
360 . n4y(mvsiz), n5y(mvsiz), n6y(mvsiz),
361 . n4z(mvsiz), n5z(mvsiz), n6z(mvsiz)
362C
363 my_real
364 . fvx1(mvsiz),fvx2(mvsiz),fvx3(mvsiz),fvx4(mvsiz),
365 . fvx5(mvsiz),fvx6(mvsiz),fvx7(mvsiz),fvx8(mvsiz),
366 . fvy1(mvsiz),fvy2(mvsiz),fvy3(mvsiz),fvy4(mvsiz),
367 . fvy5(mvsiz),fvy6(mvsiz),fvy7(mvsiz),fvy8(mvsiz),
368 . fvz1(mvsiz),fvz2(mvsiz),fvz3(mvsiz),fvz4(mvsiz),
369 . fvz5(mvsiz),fvz6(mvsiz),fvz7(mvsiz),fvz8(mvsiz),
370 . fvdx1(mvsiz),fvdx2(mvsiz),fvdx3(mvsiz),fvdx4(mvsiz),
371 . fvdx5(mvsiz),fvdx6(mvsiz),fvdx7(mvsiz),fvdx8(mvsiz),
372 . fvdy1(mvsiz),fvdy2(mvsiz),fvdy3(mvsiz),fvdy4(mvsiz),
373 . fvdy5(mvsiz),fvdy6(mvsiz),fvdy7(mvsiz),fvdy8(mvsiz),
374 . fvdz1(mvsiz),fvdz2(mvsiz),fvdz3(mvsiz),fvdz4(mvsiz),
375 . fvdz5(mvsiz),fvdz6(mvsiz),fvdz7(mvsiz),fvdz8(mvsiz),
376 . fdxx(mvsiz) ,fdxy(mvsiz) ,fdxz(mvsiz) ,fdyx(mvsiz),
377 . fdyy(mvsiz) ,fdyz(mvsiz) ,fdzx(mvsiz) ,fdzy(mvsiz),
378 . fdzz(mvsiz) ,fd4(mvsiz) ,fd5(mvsiz) ,fd6(mvsiz) ,
379 . fwxx(mvsiz) ,fwyy(mvsiz) ,fwzz(mvsiz) ,fvxr(mvsiz),
380 . fvyr(mvsiz) ,fvzr(mvsiz) ,fvoln(mvsiz),
381 . fvd2(mvsiz)
382C
383 my_real
384 . ff11(mvsiz),ff21(mvsiz),ff31(mvsiz),
385 . ff12(mvsiz),ff22(mvsiz),ff32(mvsiz),
386 . ff13(mvsiz),ff23(mvsiz),ff33(mvsiz),
387 . ff14(mvsiz),ff24(mvsiz),ff34(mvsiz),
388 . ff15(mvsiz),ff25(mvsiz),ff35(mvsiz),
389 . ff16(mvsiz),ff26(mvsiz),ff36(mvsiz),
390 . ff17(mvsiz),ff27(mvsiz),ff37(mvsiz),
391 . ff18(mvsiz),ff28(mvsiz),ff38(mvsiz),
392 . fvdx(mvsiz),fvdy(mvsiz),fvdz(mvsiz),
393 . frho0(mvsiz),alpha(mvsiz),
394 . fpx1h1(mvsiz),fpx1h2(mvsiz), fpx1h3(mvsiz),
395 . fpx2h1(mvsiz),fpx2h2(mvsiz), fpx2h3(mvsiz),
396 . fpx3h1(mvsiz),fpx3h2(mvsiz), fpx3h3(mvsiz),
397 . fpx4h1(mvsiz),fpx4h2(mvsiz), fpx4h3(mvsiz),
398 . fn1x(mvsiz), fn2x(mvsiz), fn3x(mvsiz),
399 . fn1y(mvsiz), fn2y(mvsiz), fn3y(mvsiz),
400 . fn1z(mvsiz), fn2z(mvsiz), fn3z(mvsiz),
401 . fn4x(mvsiz), fn5x(mvsiz), fn6x(mvsiz),
402 . fn4y(mvsiz), fn5y(mvsiz), fn6y(mvsiz),
403 . fn4z(mvsiz), fn5z(mvsiz), fn6z(mvsiz),
404 . fx1(mvsiz), fx2(mvsiz), fx3(mvsiz), fx4(mvsiz),
405 . fx5(mvsiz), fx6(mvsiz), fx7(mvsiz), fx8(mvsiz),
406 . fy1(mvsiz), fy2(mvsiz), fy3(mvsiz), fy4(mvsiz),
407 . fy5(mvsiz), fy6(mvsiz), fy7(mvsiz), fy8(mvsiz),
408 . fz1(mvsiz), fz2(mvsiz), fz3(mvsiz), fz4(mvsiz),
409 . fz5(mvsiz), fz6(mvsiz), fz7(mvsiz), fz8(mvsiz)
410C
411 my_real
412 . fpx1(mvsiz),fpx2(mvsiz),fpx3(mvsiz),fpx4(mvsiz),
413 . fpy1(mvsiz),fpy2(mvsiz),fpy3(mvsiz),fpy4(mvsiz),
414 . fpz1(mvsiz),fpz2(mvsiz),fpz3(mvsiz),fpz4(mvsiz),
415 . fdeltax(mvsiz) ,flux0(mvsiz,6),flu01(mvsiz)
416 my_real, DIMENSION(:), ALLOCATABLE :: var_reg
417 my_real :: nl_nbnod
418 my_real :: conde(mvsiz),amu(mvsiz),divde(mvsiz),l_max(mvsiz),
419 . sti_c(mvsiz),ll(mvsiz),fld(mvsiz),
420 . cns2,c1,caq,fqmax
421 my_real, DIMENSION(:), POINTER :: eint
422 my_real :: elem_mass
423 my_real :: sum_eps(9),sum_m,sum_vol
424 INTEGER :: NUM_ELEM_ALE
425C
426 TYPE(G_BUFEL_) ,POINTER :: GBUF
427 TYPE(L_BUFEL_) ,POINTER :: LBUF
428 TYPE(BUF_MAT_) ,POINTER :: MBUF
429C
430 INTEGER IALEFVM_FLG, IFVM22, IMAT, INLOC, L_NLOC, J, IPOS(8),PID,
431 . NN_DEL,ISCTL,ISTAB(MVSIZ)
432C
433 INTEGER IBOLTP,NBPRELD,ISM12_11 ! IBOLTP Flag Bolt Preloading
434 my_real, DIMENSION(:), POINTER :: BPRELD
435 my_real, DIMENSION(:), POINTER :: DNL
436 INTEGER SZ_IX
437C-----------------------------------------------
438C S o u r c e L i n e s
439C=======================================================================
440 GBUF => elbuf_tab(ng)%GBUF
441 lbuf => elbuf_tab(ng)%BUFLY(1)%LBUF(1,1,1)
442 mbuf => elbuf_tab(ng)%BUFLY(1)%MAT(1,1,1)
443 ism12_11 = elbuf_tab(ng)%BUFLY(1)%L_SIGL
444 inloc = iparg(78)
445 ALLOCATE(var_reg(nel))
446 tempel(:) = zero
447 fheat(:) = zero
448C
449 iboltp = iparg1(72) !IPARG(72,NG)
450 nbpreld = gbuf%G_BPRELD
451 bpreld =>gbuf%BPRELD(1:nbpreld*nel)
452C
453 sz_ix=numelq+numels+nsvois
454C
455 ibid = 0
456 nf1=nft+1
457C
458 IF (jcvt == 0) THEN
459C Gather nodal variables (coordinates, velocities) updated lagrangian formulation
460 ialefvm_mat = ipm(251,ixs(1,nf1))
461 IF(ialefvm_mat<=1)THEN
462C FEM velocity
463 CALL scoor3(x,ixs(1,nf1),v,w,gbuf%GAMA,gama,
464 . x1, x2, x3, x4, x5, x6, x7, x8,
465 . y1, y2, y3, y4, y5, y6, y7, y8,
466 . z1, z2, z3, z4, z5, z6, z7, z8,
467 . vx1, vx2, vx3, vx4, vx5, vx6, vx7, vx8,
468 . vy1, vy2, vy3, vy4, vy5, vy6, vy7, vy8,
469 . vz1, vz2, vz3, vz4, vz5, vz6, vz7, vz8,
470 . vdx1, vdx2, vdx3, vdx4, vdx5, vdx6, vdx7, vdx8,
471 . vdy1, vdy2, vdy3, vdy4, vdy5, vdy6, vdy7, vdy8,
472 . vdz1, vdz2, vdz3, vdz4, vdz5, vdz6, vdz7, vdz8,
473 . vdx,vdy,vdz,vd2,vis,gbuf%OFF,off,gbuf%SMSTR,gbuf%RHO,
474 . rhoo,nc1,nc2,nc3,nc4,nc5,nc6,nc7,nc8,ngl,mxt,ngeo,
475 . vr,vxr,vyr,vzr,fr_wave,fr_wav,
476 . xd1, xd2, xd3, xd4, xd5, xd6, xd7, xd8,
477 . yd1, yd2, yd3, yd4, yd5, yd6, yd7, yd8,
478 . zd1, zd2, zd3, zd4, zd5, zd6, zd7, zd8,
479 . xdp,iparg, ng , nel)
480 ELSE
481C FVM velocity
482 CALL scoor3_fvm(x,ixs(1,nf1),v,w,gama,
483 . x1, x2, x3, x4, x5, x6, x7, x8,
484 . y1, y2, y3, y4, y5, y6, y7, y8,
485 . z1, z2, z3, z4, z5, z6, z7, z8,
486 . vx1, vx2, vx3, vx4, vx5, vx6, vx7, vx8,
487 . vy1, vy2, vy3, vy4, vy5, vy6, vy7, vy8,
488 . vz1, vz2, vz3, vz4, vz5, vz6, vz7, vz8,
489 . vdx1, vdx2, vdx3, vdx4, vdx5, vdx6, vdx7, vdx8,
490 . vdy1, vdy2, vdy3, vdy4, vdy5, vdy6, vdy7, vdy8,
491 . vdz1, vdz2, vdz3, vdz4, vdz5, vdz6, vdz7, vdz8,
492 . vdx,vdy,vdz,vd2,vis,gbuf%OFF,off,gbuf%RHO,
493 . rhoo,nc1,nc2,nc3,nc4,nc5,nc6,nc7,nc8,ngl,mxt,ngeo,
494 . xd1, xd2 , xd3, xd4, xd5, xd6, xd7, xd8,
495 . yd1, yd2 , yd3, yd4, yd5, yd6, yd7, yd8,
496 . zd1, zd2 , zd3, zd4, zd5, zd6, zd7, zd8,
497 . xdp, iparg, ng , nel, gbuf%MOM,gbuf%TAG22)
498 ENDIF
499 ELSE
500C Gather nodal variables Belytschko co-rotational formulation
501 CALL srcoor3(x,ixs(1,nf1),v,w,gbuf%GAMA,gama,
502 . x1, x2, x3, x4, x5, x6, x7, x8,
503 . y1, y2, y3, y4, y5, y6, y7, y8,
504 . z1, z2, z3, z4, z5, z6, z7, z8,
505 . vx1, vx2, vx3, vx4, vx5, vx6, vx7, vx8,
506 . vy1, vy2, vy3, vy4, vy5, vy6, vy7, vy8,
507 . vz1, vz2, vz3, vz4, vz5, vz6, vz7, vz8,
508 . vd2,vis,gbuf%OFF,off,gbuf%SMSTR,gbuf%RHO,rhoo,
509 . r11, r12, r13, r21, r22, r23, r31, r32, r33,
510 . nc1,nc2,nc3,nc4,nc5,nc6,nc7,nc8,ngl,mxt,ngeo,
511 . ioutprt, vgxa, vgya, vgza, vga2,
512 . xd1, xd2, xd3, xd4, xd5, xd6, xd7, xd8,
513 . yd1, yd2, yd3, yd4, yd5, yd6, yd7, yd8,
514 . zd1, zd2, zd3, zd4, zd5, zd6, zd7, zd8,
515 . xdp, x0 , y0 , z0 , nel, xgxa, xgya, xgza,
516 . xgxa2,xgya2 ,xgza2 ,xgxya ,xgyza ,xgzxa,iparg1,
517 . gbuf%GAMA_R)
518 ENDIF ! JCVT == 0
519 nn_del = 0
520 pid = ngeo(1)
521 IF (geo(190,pid)+geo(191,pid)+geo(192,pid)+geo(192,pid)>zero)
522 . nn_del=8
523 IF (nn_del ==0 .AND. dt%IDEL_BRICK>0) nn_del=8
524C
525 isctl = igeo(97,pid)
526C
527 IF ((ismstr >= 10.AND.ismstr <= 12).AND.jlag > 0) THEN
528C Gather initial coordinates total strain formulation
529 CALL sgcoor3(
530 1 tt, 8, x, ixs(1,nf1),
531 2 x0, y0, z0, vx0,
532 3 vy0, vz0, gbuf%SMSTR,d,
533 4 gbuf%OFF, offg0, nel, xdp,
534 5 mtn, ismstr)
535C
536 IF (ismstr == 11) THEN
537 IF (jcvt /= 0) THEN
538 CALL srrotadp(
539 1 r11, r12, r13, r21,
540 2 r22, r23, r31, r32,
541 3 r33, x0(1,1), x0(1,2), x0(1,3),
542 4 x0(1,4), x0(1,5), x0(1,6), x0(1,7),
543 5 x0(1,8), y0(1,1), y0(1,2), y0(1,3),
544 6 y0(1,4), y0(1,5), y0(1,6), y0(1,7),
545 7 y0(1,8), z0(1,1), z0(1,2), z0(1,3),
546 8 z0(1,4), z0(1,5), z0(1,6), z0(1,7),
547 9 z0(1,8), nel)
548 CALL srrota3(
549 1 r11, r12, r13, r21,
550 2 r22, r23, r31, r32,
551 3 r33, vx0(1,1),vx0(1,2),vx0(1,3),
552 4 vx0(1,4),vx0(1,5),vx0(1,6),vx0(1,7),
553 5 vx0(1,8),vy0(1,1),vy0(1,2),vy0(1,3),
554 6 vy0(1,4),vy0(1,5),vy0(1,6),vy0(1,7),
555 7 vy0(1,8),vz0(1,1),vz0(1,2),vz0(1,3),
556 8 vz0(1,4),vz0(1,5),vz0(1,6),vz0(1,7),
557 9 vz0(1,8),nel)
558 ENDIF
559C Compute shape functions partial derivatives Pij total strain formulation
560 CALL sderit3(off,voln,ngl,
561 . x0(1,1), x0(1,2), x0(1,3), x0(1,4),
562 . x0(1,5), x0(1,6), x0(1,7), x0(1,8),
563 . y0(1,1), y0(1,2), y0(1,3), y0(1,4),
564 . y0(1,5), y0(1,6), y0(1,7), y0(1,8),
565 . z0(1,1), z0(1,2), z0(1,3), z0(1,4),
566 . z0(1,5), z0(1,6), z0(1,7), z0(1,8),
567 . px1, px2, px3, px4,
568 . py1, py2, py3, py4,
569 . pz1, pz2, pz3, pz4,
570 . px1h1, px1h2, px1h3,
571 . px2h1, px2h2, px2h3,
572 . px3h1, px3h2, px3h3,
573 . px4h1, px4h2, px4h3,
574 . jac1,jac2,jac3,
575 . jac4,jac5,jac6,
576 . nel,jhbe)
577 ELSE
578 IF (idtmin(1)==3.AND.ismstr == 12.AND.jcvt == 0.AND.ism12_11==0) THEN
579C Compute Rij local reference frame for ISMSTR=12 (OFFG>1)
580 CALL srcoor12(
581 1 gbuf%OFF,x, xdp, nc1,
582 2 nc2, nc3, nc4, nc5,
583 3 nc6, nc7, nc8, r11,
584 4 r12, r13, r21, r22,
585 5 r23, r31, r32, r33,
586 6 nel, jhbe)
587 END IF
588C Compute Pij in global system using inverse Jacobian matrix JAC_I for ISMSTR=10
589 CALL sderito3(off,voln,
590 . px1, px2, px3, px4,
591 . py1, py2, py3, py4,
592 . pz1, pz2, pz3, pz4,
593 . gbuf%JAC_I,nel)
594 END IF
595C Compute strain rates MFij total strain formulation
596 CALL sdefot3(
597 1 px1, px2, px3, px4,
598 2 py1, py2, py3, py4,
599 3 pz1, pz2, pz3, pz4,
600 4 vx0(1,1),vx0(1,2),vx0(1,3),vx0(1,4),
601 5 vx0(1,5),vx0(1,6),vx0(1,7),vx0(1,8),
602 6 vy0(1,1),vy0(1,2),vy0(1,3),vy0(1,4),
603 7 vy0(1,5),vy0(1,6),vy0(1,7),vy0(1,8),
604 8 vz0(1,1),vz0(1,2),vz0(1,3),vz0(1,4),
605 9 vz0(1,5),vz0(1,6),vz0(1,7),vz0(1,8),
606 a mfxx, mfxy, mfxz, mfyx,
607 b mfyy, mfyz, mfzx, mfzy,
608 c mfzz, nel)
609C
610 IF (jcvt /= 0 .AND.(ismstr == 10 .OR.ismstr == 12)) THEN
611 CALL sordeft3(lft,llt,mfxx, mfxy, mfxz, mfyx, mfyy, mfyz,
612 . mfzx, mfzy, mfzz,
613 . r11, r21, r31, r12, r22, r32, r13, r23, r33)
614 ELSEIF (idtmin(1)==3.AND.ismstr == 12.AND.jcvt==0.AND.ism12_11==0) THEN
615 CALL sordeft12(lft,llt,mfxx, mfxy, mfxz,
616 . mfyx, mfyy, mfyz,
617 . mfzx, mfzy, mfzz,
618 . r11, r21, r31, r12, r22, r32, r13, r23, r33,offg0)
619 END IF
620 ENDIF ! End total strain formulation
621C
622 IF(jale+jlag /= 0)THEN
623C Lagrangian or Arbitrary Euler Lagrange simulation
624 IF(jclose /= 0) THEN
625C ALE option /ALE/CLOSE
626 CALL mod_close(
627 1 geo, ngeo, x1, x2,
628 2 x3, x4, x5, x6,
629 3 x7, x8, y1, y2,
630 4 y3, y4, y5, y6,
631 5 y7, y8, z1, z2,
632 6 z3, z4, z5, z6,
633 7 z7, z8, hh, xd1,
634 8 xd2, xd3, xd4, xd5,
635 9 xd6, xd7, xd8, yd1,
636 a yd2, yd3, yd4, yd5,
637 b yd6, yd7, yd8, zd1,
638 c zd2, zd3, zd4, zd5,
639 d zd6, zd7, zd8, nel)
640 ENDIF
641C
642 IF (ismstr==11) THEN
643 CALL scoor_cp2sp(
644 1 x0, y0, z0, x1,
645 2 x2, x3, x4, x5,
646 3 x6, x7, x8, y1,
647 4 y2, y3, y4, y5,
648 5 y6, y7, y8, z1,
649 6 z2, z3, z4, z5,
650 7 z6, z7, z8, nel)
651 ELSE
652C Compute shape functions partial derivatives Pij
653 CALL sderi3(
654 1 off, voln, ngl, xd1,
655 2 xd2, xd3, xd4, xd5,
656 3 xd6, xd7, xd8, yd1,
657 4 yd2, yd3, yd4, yd5,
658 5 yd6, yd7, yd8, zd1,
659 6 zd2, zd3, zd4, zd5,
660 7 zd6, zd7, zd8, px1,
661 8 px2, px3, px4, py1,
662 9 py2, py3, py4, pz1,
663 a pz2, pz3, pz4, px1h1,
664 b px1h2, px1h3, px2h1, px2h2,
665 c px2h3, px3h1, px3h2, px3h3,
666 d px4h1, px4h2, px4h3, jac1,
667 e jac2, jac3, jac4, jac5,
668 f jac6, gbuf%SMSTR,gbuf%OFF, nel,
669 g voldp, jhbe, ismstr, jlag)
670 END IF
671C Compute characteristic length
672 CALL sdlen3(
673 1 voln, deltax, x1, x2,
674 2 x3, x4, x5, x6,
675 3 x7, x8, y1, y2,
676 4 y3, y4, y5, y6,
677 5 y7, y8, z1, z2,
678 6 z3, z4, z5, z6,
679 7 z7, z8, n1x, n2x,
680 8 n3x, n4x, n5x, n6x,
681 9 n1y, n2y, n3y, n4y,
682 a n5y, n6y, n1z, n2z,
683 b n3z, n4z, n5z, n6z,
684 c nel, mtn, jale, jeul)
685C
686 ELSEIF(jeul /= 0)THEN
687C Eulerian simulation
688 CALL epxle3(
689 1 gbuf%VOL,veul, x1, x2,
690 2 x3, x4, x5, x6,
691 3 x7, x8, y1, y2,
692 4 y3, y4, y5, y6,
693 5 y7, y8, z1, z2,
694 6 z3, z4, z5, z6,
695 7 z7, z8, px1, px2,
696 8 px3, px4, py1, py2,
697 9 py3, py4, pz1, pz2,
698 a pz3, pz4, px5, px6,
699 b px7, px8, py5, py6,
700 c py7, py8, pz5, pz6,
701 d pz7, pz8, px1h1, px1h2,
702 e px1h3, px2h1, px2h2, px2h3,
703 f px3h1, px3h2, px3h3, px4h1,
704 g px4h2, px4h3, voln, deltax,
705 h n1x, n2x, n3x, n4x,
706 i n5x, n6x, n1y, n2y,
707 j n3y, n4y, n5y, n6y,
708 k n1z, n2z, n3z, n4z,
709 l n5z, n6z, nel, nft,
710 m jhbe)
711C
712C SuperCell characteristic length for interface type 22
713 CALL deltax22(
714 1 gbuf%VOL, veul, voln, deltax,
715 2 gbuf%TAG22,ixs, lft, llt,
716 3 jale, jeul)
717 ENDIF
718C
719 IF(int22>0)THEN
720C SDERI3 is updating GBUF%VOL with uncut brick volume
721C One must have polyhedra maincell volume for interface type 22
722 IF(i22_aleul == 1)THEN
723 CALL voln22(
724 1 voln, gbuf%TAG22,ixs, lft,
725 2 llt, jale, jeul)
726 ENDIF
727 ENDIF
728C
729 IF(jale+jeul > 0 .AND. iparg1(64)==1)THEN
730C Compute strain rates Dij (silent boundary element)
731 CALL s11defo3(
732 1 pm, v, veul, x,
733 2 ixs, ale_connect,dxx, dxy,
734 3 dxz, dyx, dyy, dyz,
735 4 dzx, dzy, dzz, d4,
736 5 d5, d6, wxx, wyy,
737 6 wzz, bufmat, nel, nft,
738 7 ipm, nummat, numels+nsvois )
739 ELSE
740C Compute strain rates Dij
741 CALL sdefo3(
742 1 px1, px2, px3, px4,
743 2 py1, py2, py3, py4,
744 3 pz1, pz2, pz3, pz4,
745 4 px5, px6, px7, px8,
746 5 py5, py6, py7, py8,
747 6 pz5, pz6, pz7, pz8,
748 7 vx1, vx2, vx3, vx4,
749 8 vx5, vx6, vx7, vx8,
750 9 vy1, vy2, vy3, vy4,
751 a vy5, vy6, vy7, vy8,
752 b vz1, vz2, vz3, vz4,
753 c vz5, vz6, vz7, vz8,
754 d dxx, dxy, dxz, dyx,
755 e dyy, dyz, dzx, dzy,
756 f dzz, d4, d5, d6,
757 g wxx, wyy, wzz, vxr,
758 h vyr, vzr, nel,
759 i nft, ismstr, jeul, jhbe,
760 j jcvt, isrot)
761C
762 IF (idtmin(1)==3.AND.ismstr == 12.AND.ism12_11==0.AND.jcvt==0) THEN
763 CALL sordef12(lft,llt,dxx, dyy, dzz,
764 . d4, d5, d6,
765 . r11, r21, r31, r12, r22, r32, r13, r23, r33,gbuf%OFF)
766 ENDIF
767 ENDIF
768C
769 CALL s11fx3(
770 1 pm, flux(1,nf1),ale_connect,ixs,
771 2 ipm, bufmat, nel, nft,
772 3 jale, jeul , nummat, numels+nsvois)
773C
774 divde(1:nel) = dt1*(dxx(1:nel)+ dyy(1:nel)+ dzz(1:nel))
775C Compute new density
776 CALL srho3(
777 1 pm, gbuf%VOL, gbuf%RHO, gbuf%EINT,
778 2 divde, flux(1,nf1),flu1(nf1), voln,
779 3 dvol, ngl, mxt, off,
780 4 iparg1(64), gbuf%TAG22, voldp, lbuf%VOL0DP,
781 5 amu, gbuf%OFF, nel, mtn,
782 6 jale, ismstr, jeul, jlag)
783C
784 IF (ismstr == 12.AND.idtmin(1)==3.AND.ism12_11==0.AND.jcvt==0) THEN
785 CALL sroto12_sig(lft,llt,lbuf%SIG,nel,
786 . r11, r21, r31, r12, r22, r32, r13, r23, r33,offg0)
787 ENDIF
788C
789 IF (jcvt == 0) THEN
790C Jaumann objective stress tensor
791 CALL srota3(
792 1 gbuf%SIG,s1, s2, s3,
793 2 s4, s5, s6, wxx,
794 3 wyy, wzz, nel, mtn,
795 4 ismstr)
796C Small Strain formulation
797 CALL smalla3(
798 1 gbuf%SMSTR,gbuf%OFF, off, wxx,
799 2 wyy, wzz, nel, ismstr,
800 3 jlag)
801 ELSE
802C Stress tensor co-rotational formulation
803 CALL srmalla3(gbuf%SIG,s1,s2,s3,s4,s5,s6,
804 . gbuf%OFF,off,nel)
805C Small strain formulation
806 CALL srmalla11(
807 1 gbuf%SMSTR,gbuf%OFF, wxx, wyy,
808 2 wzz, r11, r12, r13,
809 3 r21, r22, r23, r31,
810 4 r32, r33, nel, ismstr)
811 ENDIF
812C
813 IF (ismstr <= 3.OR.(ismstr==4.AND.jlag>0)) THEN
814C Update the reference configuration (possible future change to small strain option)
815C Total strain option doesn't change the reference configuration
816 IF (jcvt /= 0.AND.isorth/=0 ) THEN
817 CALL s8savsr3(
818 1 gbuf%OFF, gbuf%SMSTR,x0, y0,
819 2 z0, nel)
820 ELSE
821 CALL s8sav3(
822 1 gbuf%OFF, gbuf%SMSTR,xd1, xd2,
823 2 xd3, xd4, xd5, xd6,
824 3 xd7, xd8, yd1, yd2,
825 4 yd3, yd4, yd5, yd6,
826 5 yd7, yd8, zd1, zd2,
827 6 zd3, zd4, zd5, zd6,
828 7 zd7, zd8, nel)
829 ENDIF
830 END IF
831C
832 IF (jthe < 0) THEN
833C Element Temperature
834 DO i=1,nel
835 tempel(i) = one_over_8 *( temp(nc1(i)) + temp(nc2(i))
836 . + temp(nc3(i)) + temp(nc4(i))
837 . + temp(nc5(i)) + temp(nc6(i))
838 . + temp(nc7(i)) + temp(nc8(i)))
839 ENDDO
840 ENDIF
841C
842c===========================================================================
843c Computation of the non-local variable at Gauss point from nodal d.o.fs
844c===========================================================================
845 IF (inloc > 0) THEN
846 l_nloc = nloc_dmg%L_NLOC !< Size of the non-local tables
847 dnl => nloc_dmg%DNL(1:l_nloc) !< Non-local variable increment
848 DO i=1,nel
849 ! Recover non-local d.o.fs position
850 inod(1:8) = 0
851 ipos(1:8) = 0
852 DO j = 1,elbuf_tab(ng)%NLOCS%NL_ISOLNOD(i)
853 inod(j) = nloc_dmg%IDXI(elbuf_tab(ng)%NLOCS%NL_SOLNOD(j,i))
854 ipos(j) = nloc_dmg%POSI(inod(j))
855 ENDDO
856 ! Computation of non-local variable at intg. point
857 var_reg(i) = zero
858 nl_nbnod = elbuf_tab(ng)%NLOCS%NL_ISOLNOD(i)
859 DO j = 1, elbuf_tab(ng)%NLOCS%NL_ISOLNOD(i)
860 var_reg(i) = var_reg(i) + dnl(ipos(j))/nl_nbnod
861 ENDDO
862 ENDDO
863 ENDIF
864c===========================================================================
865C
866 IF (jale == 3 .AND. jlag > 0) THEN
867C Law 77 internal gas flow of open cell solved with ALE formulation
868C AFGLOB ----> ZERO is not activated
869 CALL aleflow (
870 . pm ,mxt ,x ,
871 . mbuf ,nel ,
872 . ixs ,ale_connect ,vf ,afglob,
873 . wf ,dfe ,frho0 ,alpha ,
874 . nc1 ,nc2 ,nc3 ,nc4 ,nc5 ,nc6 ,
875 . nc7 ,nc8 ,fx1 ,fx2 ,fx3 ,fx4 ,
876 . fx5 ,fx6 ,fx7 ,fx8 ,fy1 ,fy2 ,
877 . fy3 ,fy4 ,fy5 ,fy6 ,fy7 ,fy8 ,
878 . fz1 ,fz2 ,fz3 ,fz4 ,fz5 ,fz6 ,
879 . fz7 ,fz8 ,phi1 ,phi2 ,flux0 ,flu01 ,
880 . fvx1 ,fvx2 ,fvx3 ,fvx4 ,fvx5 ,fvx6 ,
881 . fvx7 ,fvx8 ,fvy1 ,fvy2 ,fvy3 ,fvy4 ,
882 . fvy5 ,fvy6 ,fvy7 ,fvy8 ,fvz1 ,fvz2 ,
883 . fvz3 ,fvz4 ,fvz5 ,fvz6 ,fvz7 ,fvz8 ,
884 . fvdx1 ,fvdx2 ,fvdx3 ,fvdx4 ,fvdx5 ,fvdx6 ,
885 . fvdx7 ,fvdx8 ,fvdy1 ,fvdy2 ,fvdy3 ,fvdy4 ,
886 . fvdy5 ,fvdy6 ,fvdy7 ,fvdy8 ,fvdz1 ,fvdz2 ,
887 . fvdz3 ,fvdz4 ,fvdz5 ,fvdz6 ,fvdz7 ,fvdz8 ,
888 . fvdx ,fvdy ,fvdz ,fvd2 ,
889 . vx1 ,vx2 ,vx3 ,vx4 ,vx5 ,vx6 ,
890 . vx7 ,vx8 ,vy1 ,vy2 ,vy3 ,vy4 ,
891 . vy5 ,vy6 ,vy7 ,vy8 ,vz1 ,vz2 ,
892 . vz3 ,vz4 ,vz5 ,vz6 ,vz7 ,vz8 ,
893 . por ,icontact ,ifoam)
894C
895 CALL fderi3(
896 1 off, fvoln, ngl, fx1,
897 2 fx2, fx3, fx4, fx5,
898 3 fx6, fx7, fx8, fy1,
899 4 fy2, fy3, fy4, fy5,
900 5 fy6, fy7, fy8, fz1,
901 6 fz2, fz3, fz4, fz5,
902 7 fz6, fz7, fz8, fpx1,
903 8 fpx2, fpx3, fpx4, fpy1,
904 9 fpy2, fpy3, fpy4, fpz1,
905 a fpz2, fpz3, fpz4, fpx1h1,
906 b fpx1h2, fpx1h3, fpx2h1, fpx2h2,
907 c fpx2h3, fpx3h1, fpx3h2, fpx3h3,
908 d fpx4h1, fpx4h2, fpx4h3, nel,
909 e jhbe)
910C
911 CALL fdlen3(
912 1 fvoln, fdeltax, fx1, fx2,
913 2 fx3, fx4, fx5, fx6,
914 3 fx7, fx8, fy1, fy2,
915 4 fy3, fy4, fy5, fy6,
916 5 fy7, fy8, fz1, fz2,
917 6 fz3, fz4, fz5, fz6,
918 7 fz7, fz8, fn1x, fn2x,
919 8 fn3x, fn4x, fn5x, fn6x,
920 9 fn1y, fn2y, fn3y, fn4y,
921 a fn5y, fn6y, fn1z, fn2z,
922 b fn3z, fn4z, fn5z, fn6z,
923 c nel)
924C
925C Strain flow
926 CALL fdefo3(
927 1 fpx1, fpx2, fpx3, fpx4,
928 2 fpy1, fpy2, fpy3, fpy4,
929 3 fpz1, fpz2, fpz3, fpz4,
930 4 fvx1, fvx2, fvx3, fvx4,
931 5 fvx5, fvx6, fvx7, fvx8,
932 6 fvy1, fvy2, fvy3, fvy4,
933 7 fvy5, fvy6, fvy7, fvy8,
934 8 fvz1, fvz2, fvz3, fvz4,
935 9 fvz5, fvz6, fvz7, fvz8,
936 a fdxx, fdxy, fdxz, fdyx,
937 b fdyy, fdyz, fdzx, fdzy,
938 c fdzz, fd4, fd5, fd6,
939 d fwxx, fwyy, fwzz, fvxr,
940 e fvyr, fvzr, fqvis, nel,
941 f jhbe, jcvt, isrot)
942C
943 DO i=1,nel
944 fvoln(i) = alpha(i)*fvoln(i)
945 dfe(i,1) = dfe(i,1)*fvoln(i)
946 dfe(i,2) = dfe(i,2)*fvoln(i)
947 dfe(i,3) = dfe(i,3)*fvoln(i)
948 ENDDO
949C
950 CALL frho3(mbuf%VAR,frho0,fdxx, fdyy, fdzz,
951 . flux0,flu01,fvoln,ngl,mxt,off ,nel)
952 ENDIF ! JALE == 3 .AND. JLAG > 0
953C
954 ialefvm_mat = ipm(251,ixs(1,nf1))
955 IF (ialefvm_mat > 1) THEN
956C ALEFVM strain rates
957 CALL alefvm_epsdot(
958 1 ixs,
959 2 voln, n1x, n2x, n3x,
960 3 n4x, n5x, n6x, n1y,
961 4 n2y, n3y, n4y, n5y,
962 5 n6y, n1z, n2z, n3z,
963 6 n4z, n5z, n6z, dxx,
964 7 dyy, dzz, x, ipm,
965 8 nel)
966 ENDIF
967C
968 IF ((imon_mat==1).AND. itask == 0) CALL startime(timers,35)
969C
970 ilay = 1
971 iptr = 1
972 ipts = 1
973 iptt = 1
974C
975 IF(iboltp /= 0) THEN
976 IF(jcvt==0)
977 . CALL srota3(
978 1 bpreld(3*nel+1),b1, b2, b3,
979 2 b4, b5, b6, wxx,
980 3 wyy, wzz, nel, mtn,
981 4 ismstr)
982
983 CALL boltst(iptr ,bpreld,lbuf%SIG ,tt ,nel ,
984 . npt ,sensors%NSENSOR,sensors%SENSOR_TAB)
985 END IF
986C
987C Stress computation according to material laws
988C
989 CALL mmain(timers, output,
990 1 elbuf_tab, ng, pm, geo,
991 2 ale_connect, ixs, iparg,
992 3 v, tf, npf, bufmat,
993 4 sti, x, dt2t, neltst,
994 5 ityptst, offset, nel, w,
995 6 off, ngeo, mxt, ngl,
996 7 voln, vd2, dvol, deltax,
997 8 vis, qvis, cxx, s1,
998 9 s2, s3, s4, s5,
999 a s6, dxx, dyy, dzz,
1000 b d4, d5, d6, wxx,
1001 c wyy, wzz, jac1, jac2,
1002 d jac3, jac4, jac5, jac6,
1003 e vdx, vdy, vdz, muvoid,
1004 f ssp_eq, aire, sigy, et,
1005 g bufvois, lbuf%PLA, r3_free, amu,
1006 h mfxx, mfxy, mfxz, mfyx,
1007 i mfyy, mfyz, mfzx, mfzy,
1008 j mfzz, ipm, gama, fr_wav,
1009 k dxy, dyx, dyz, dzy,
1010 l dzx, dxz, istrain, tempel,
1011 m die, iexpan, ilay, mssa,
1012 n dmels, iptr, ipts, iptt,
1013 o table, fvd2, fdeltax, fcxx,
1014 p fqvis, iparg1, igeo, conde,
1015 q itask, nloc_dmg, var_reg, mat_elem,
1016 r h3d_strain, jplasol, jsph, sz_bufvois,
1017 t snpc, stf, sbufmat, glob_therm,
1018 . svis, sz_ix, iresp,
1019 . n2d, th_strain, ngroup, tt,
1020 . dt1, ntable, numelq, nummat,
1021 . numgeo, numnod, numels,
1022 . idel7nok, idtmin, maxfunc,
1023 . imon_mat, userl_avail, impl_s,
1024 . idyna, dt , fheat ,sensors)
1025C
1026 IF (ismstr == 12.AND.idtmin(1)==3) THEN
1027 IF (ism12_11==0.AND.jcvt==0) THEN
1028 CALL sroto12_sig(lft,llt,lbuf%SIG,nel,
1029 . r11, r12, r13, r21, r22, r23, r31, r32, r33,offg0)
1030C
1031 IF (istrain == 1) THEN
1032 CALL sordef12(lft,llt,dxx, dxy, dxz,
1033 . d4, d5, d6,
1034 . r11, r12, r13, r21, r22, r23, r31, r32, r33,offg0)
1035 ENDIF
1036 END IF
1037 ENDIF ! ISMSTR == 12.AND.IDTMIN(1)==3
1038C
1039 IF (istrain == 1) THEN
1040C Compute Strains for output
1041 CALL sstra3(
1042 1 dxx, dyy, dzz, d4,
1043 2 d5, d6, lbuf%STRA,wxx,
1044 3 wyy, wzz, off, nel,
1045 4 jcvt)
1046 ENDIF
1047 IF ((imon_mat==1).AND. itask == 0) CALL stoptime(timers,35)
1048C
1049 IF (nn_del >0) THEN
1050 CALL sdlenmax(l_max,
1051 1 x1, x2, x3, x4,
1052 2 x5, x6, x7, x8,
1053 3 y1, y2, y3, y4,
1054 4 y5, y6, y7, y8,
1055 5 z1, z2, z3, z4,
1056 6 z5, z6, z7, z8,
1057 7 nel)
1058 CALL sgeodel3(ngl,gbuf%OFF,voln,deltax,gbuf%VOL,geo(1,ngeo(1)),l_max,dt,nel,idel7nok )
1059 END IF
1060C Small Strain
1061 CALL smallb3(
1062 1 gbuf%OFF,off, nel, ismstr)
1063 itet = 0
1064 CALL smallgeo3(
1065 1 ngl, gbuf%OFF,voln, deltax,
1066 2 gbuf%VOL,itet, nel, ismstr,dt )
1067 IF (ismstr == 12.AND.idtmin(1)==3) THEN
1068 CALL s8sav12(
1069 1 gbuf%OFF, offg0, gbuf%SMSTR,x,
1070 2 xdp, nc1, nc2, nc3,
1071 3 nc4, nc5, nc6, nc7,
1072 4 nc8, nel, jcvt)
1073 IF (ism12_11>0 .AND. isorth == 0) THEN
1074 CALL s8upd11t12(gbuf%OFF,offg0 ,x ,xdp ,
1075 . nc1 ,nc2 ,nc3 ,nc4 ,nc5 ,nc6 ,nc7 ,nc8 ,
1076 . gbuf%JAC_I,gbuf%SIG,lbuf%SIGL ,nel )
1077 END IF
1078 ENDIF
1079C
1080 IF (jlag+jale+jeul == 0) THEN
1081C Energy balance thermal material
1082 IF (ioutprt>0)THEN
1083 IF (iparg1(64) == 1) THEN
1084 eint => elbuf_tab(ng)%GBUF%EINS(1:nel)
1085 ELSE
1086 eint => elbuf_tab(ng)%GBUF%EINT(1:nel)
1087 ENDIF
1088C
1089 IF (jcvt == 0) THEN
1090 ifvm22 = 0
1091 imat = ixs(1,lft+nft)
1092 ialefvm_flg = ipm(251,imat)
1093 IF(ialefvm_flg>=2)ifvm22 = 1
1094 CALL sbilan(partsav,eint,gbuf%RHO,gbuf%RK,gbuf%VOL,
1095 . vx1, vx2, vx3, vx4, vx5, vx6, vx7, vx8,
1096 . vy1, vy2, vy3, vy4, vy5, vy6, vy7, vy8,
1097 . vz1, vz2, vz3, vz4, vz5, vz6, vz7, vz8,
1098 . voln,iparts,gresav,grth,igrth, gbuf%OFF,
1099 . iexpan,gbuf%EINTTH,gbuf%FILL,gbuf%MOM,nel,ifvm22,
1100 . x1, x2, x3, x4, x5, x6, x7, x8,
1101 . y1, y2, y3, y4, y5, y6, y7, y8,
1102 . z1, z2, z3, z4, z5, z6, z7, z8,
1103 . itask,iparg1,sensors,gbuf%G_WPLA,gbuf%WPLA)
1104 ELSE
1105 CALL srbilan(partsav,eint,gbuf%RHO,gbuf%RK,gbuf%VOL,
1106 . vgxa, vgya, vgza, vga2, voln,iparts,
1107 . gresav,grth,igrth,gbuf%OFF,iexpan,gbuf%EINTTH,
1108 . gbuf%FILL,xgxa, xgya, xgza,
1109 . xgxa2,xgya2,xgza2,xgxya,xgyza,xgzxa,itask,iparg1,sensors,
1110 . nel,gbuf%G_WPLA,gbuf%WPLA)
1111 ENDIF
1112 ENDIF
1113 RETURN
1114 ENDIF
1115C
1116C Mass update
1117 IF (jale == 3 .AND. jlag == 1 .AND. ale%GLOBAL%INCOMP == 0) THEN ! law 77
1118 IF(iparit == 0)THEN
1119 CALL amass3f(
1120 1 msf, mbuf%VAR,fvoln, nc1,
1121 2 nc2, nc3, nc4, nc5,
1122 3 nc6, nc7, nc8, msnf,
1123 4 nvc, off, nel)
1124 ELSE
1125 CALL amass3pf(
1126 1 fskym, mbuf%VAR,fvoln, iads,
1127 2 off, nel, nft)
1128 ENDIF
1129 ELSEIF (jale+jeul > 0 .AND. ale%GLOBAL%INCOMP == 0)THEN
1130 IF(iparit == 0)THEN
1131 CALL amass3(
1132 1 ms, gbuf%RHO, veul(lveul*nft+44),gbuf%TAG22,
1133 2 voln, nc1, nc2, nc3,
1134 3 nc4, nc5, nc6, nc7,
1135 4 nc8, msnf, nvc, off,
1136 5 ixs, nel, jeul)
1137 ELSE
1138 CALL amass3p(
1139 1 fskym, gbuf%RHO, veul(lveul*nft+44),gbuf%TAG22,
1140 2 voln, iads, off, ixs,
1141 3 nel, nft, jeul)
1142 ENDIF
1143 ENDIF
1144C
1145 ialefvm_mat = ipm(251,ixs(1,nf1))
1146 ifvm_skip=0
1147 IF(ialefvm_mat > 1)ifvm_skip=1
1148
1149 !---------------------------------------------
1150 ! /ALE/GRID/FLOW-TRACKING - BUFFER UPDATED
1151 !---------------------------------------------
1152 ! this grid formulation needs an averaged tensor (E=GRAD U)
1153 IF(ale%GRID%NWALE == 7 .AND. jale == 1)THEN
1154 sum_eps(1:9) = zero
1155 sum_m = zero
1156 sum_vol = zero
1157 num_elem_ale = nel
1158 DO i=1,nel
1159 elem_mass = gbuf%RHO(i)*gbuf%VOL(i)
1160 sum_eps(1) = sum_eps(1) + elem_mass*dxx(i)
1161 sum_eps(2) = sum_eps(2) + elem_mass*dyy(i)
1162 sum_eps(3) = sum_eps(3) + elem_mass*dzz(i)
1163 sum_eps(4) = sum_eps(4) + elem_mass*dxy(i)
1164 sum_eps(5) = sum_eps(5) + elem_mass*dxz(i)
1165 sum_eps(6) = sum_eps(6) + elem_mass*dyz(i)
1166 sum_eps(7) = sum_eps(7) + elem_mass*dyx(i)
1167 sum_eps(8) = sum_eps(8) + elem_mass*dzx(i)
1168 sum_eps(9) = sum_eps(9) + elem_mass*dzy(i)
1169 sum_m = sum_m + elem_mass
1170 sum_vol = sum_vol + gbuf%VOL(i)
1171 ENDDO
1172#include "lockon.inc"
1173 ale%GRID%flow_tracking_data%EP(1) = ale%GRID%flow_tracking_data%EP(1) + sum_eps(1)
1174 ale%GRID%flow_tracking_data%EP(2) = ale%GRID%flow_tracking_data%EP(2) + sum_eps(2)
1175 ale%GRID%flow_tracking_data%EP(3) = ale%GRID%flow_tracking_data%EP(3) + sum_eps(3)
1176 ale%GRID%flow_tracking_data%EP(4) = ale%GRID%flow_tracking_data%EP(4) + sum_eps(4)
1177 ale%GRID%flow_tracking_data%EP(5) = ale%GRID%flow_tracking_data%EP(5) + sum_eps(5)
1178 ale%GRID%flow_tracking_data%EP(6) = ale%GRID%flow_tracking_data%EP(6) + sum_eps(6)
1179 ale%GRID%flow_tracking_data%EP(7) = ale%GRID%flow_tracking_data%EP(7) + sum_eps(7)
1180 ale%GRID%flow_tracking_data%EP(8) = ale%GRID%flow_tracking_data%EP(8) + sum_eps(8)
1181 ale%GRID%flow_tracking_data%EP(9) = ale%GRID%flow_tracking_data%EP(9) + sum_eps(9)
1182 ale%GRID%flow_tracking_data%SUM_M = ale%GRID%flow_tracking_data%SUM_M + sum_m
1183 ale%GRID%flow_tracking_data%SUM_VOL = ale%GRID%flow_tracking_data%SUM_VOL + sum_vol
1184 ale%GRID%flow_tracking_data%NUM_ELEM_ALE = ale%GRID%flow_tracking_data%NUM_ELEM_ALE + num_elem_ale
1185
1186#include "lockoff.inc"
1187 endif!(ALE%GRID%NWALE == 7)
1188
1189C
1190C Anti hourglass forces
1191 IF (iint==3) THEN
1192 CALL s_hg5(
1193 1 pm, gbuf%RHO, off, vx1,
1194 2 vx2, vx3, vx4, vx5,
1195 3 vx6, vx7, vx8, vy1,
1196 4 vy2, vy3, vy4, vy5,
1197 5 vy6, vy7, vy8, vz1,
1198 6 vz2, vz3, vz4, vz5,
1199 7 vz6, vz7, vz8, f11,
1200 8 f21, f31, f12, f22,
1201 9 f32, f13, f23, f33,
1202 a f14, f24, f34, f15,
1203 b f25, f35, f16, f26,
1204 c f36, f17, f27, f37,
1205 d f18, f28, f38, px1h1,
1206 e px1h2, px1h3, px2h1, px2h2,
1207 f px2h3, px3h1, px3h2, px3h3,
1208 g px4h1, px4h2, px4h3, voln,
1209 i gbuf%HOURG,partsav,iparts, nft,
1210 j mtn, jlag, eani , ngeo ,
1211 k ivector ,dt1 , mxt, geo,
1212 l nel, isctl, sti, cxx )
1213 ELSE
1214 CALL shvis3(
1215 1 pm, gbuf%RHO, off, vx1,
1216 2 vx2, vx3, vx4, vx5,
1217 3 vx6, vx7, vx8, vy1,
1218 4 vy2, vy3, vy4, vy5,
1219 5 vy6, vy7, vy8, vz1,
1220 6 vz2, vz3, vz4, vz5,
1221 7 vz6, vz7, vz8, f11,
1222 8 f21, f31, f12, f22,
1223 9 f32, f13, f23, f33,
1224 a f14, f24, f34, f15,
1225 b f25, f35, f16, f26,
1226 c f36, f17, f27, f37,
1227 d f18, f28, f38, px1h1,
1228 e px1h2, px1h3, px2h1, px2h2,
1229 f px2h3, px3h1, px3h2, px3h3,
1230 g px4h1, px4h2, px4h3, voln,
1231 h mxt, cxx, vis, vd2,
1232 i deltax, eani, ngeo, geo,
1233 j partsav, iparts, gbuf%OFF, gbuf%VOL,
1234 k iparg1, ifvm_skip,nel, nft,
1235 l mtn, ismstr, jlag, jhbe)
1236 END IF !(IINT==3) THEN
1237C
1238 IF (jale == 3) THEN ! law 77
1239 CALL fhvis3(
1240 1 pm, mbuf%VAR,off, fvx1,
1241 2 fvx2, fvx3, fvx4, fvx5,
1242 3 fvx6, fvx7, fvx8, fvy1,
1243 4 fvy2, fvy3, fvy4, fvy5,
1244 5 fvy6, fvy7, fvy8, fvz1,
1245 6 fvz2, fvz3, fvz4, fvz5,
1246 7 fvz6, fvz7, fvz8, ff11,
1247 8 ff21, ff31, ff12, ff22,
1248 9 ff32, ff13, ff23, ff33,
1249 a ff14, ff24, ff34, ff15,
1250 b ff25, ff35, ff16, ff26,
1251 c ff36, ff17, ff27, ff37,
1252 d ff18, ff28, ff38, fpx1h1,
1253 e fpx1h2, fpx1h3, fpx2h1, fpx2h2,
1254 f fpx2h3, fpx3h1, fpx3h2, fpx3h3,
1255 g fpx4h1, fpx4h2, fpx4h3, fvoln,
1256 h mxt, fcxx, vis, fvd2,
1257 i fdeltax, eani, ngeo, geo,
1258 j partsav, iparts, nel, nft,
1259 k jlag, jhbe)
1260C
1261 ENDIF
1262C
1263 IF (jclose /= 0)
1264 . CALL fe_close(
1265 1 hh, gbuf%RHO,voln, vx1,
1266 2 vx2, vx3, vx4, vx5,
1267 3 vx6, vx7, vx8, vy1,
1268 4 vy2, vy3, vy4, vy5,
1269 5 vy6, vy7, vy8, vz1,
1270 6 vz2, vz3, vz4, vz5,
1271 7 vz6, vz7, vz8, f11,
1272 8 f21, f31, f12, f22,
1273 9 f32, f13, f23, f33,
1274 a f14, f24, f34, f15,
1275 b f25, f35, f16, f26,
1276 c f36, f17, f27, f37,
1277 d f18, f28, f38, nel)
1278C
1279 ialefvm_mat = ipm(251,ixs(1,nf1))
1280 IF(ialefvm_mat <= 1)THEN
1281 IF (jale == 1 .OR. (jeul == 1.AND.integ8 == 0)) THEN
1282C ALE & Euler momentum transport forces
1283 CALL amomt3(
1284 1 pm, gbuf%RHO, voln, x1,
1285 2 x2, x3, x4, x5,
1286 3 x6, x7, x8, y1,
1287 4 y2, y3, y4, y5,
1288 5 y6, y7, y8, z1,
1289 6 z2, z3, z4, z5,
1290 7 z6, z7, z8, vx1,
1291 8 vx2, vx3, vx4, vx5,
1292 9 vx6, vx7, vx8, vy1,
1293 a vy2, vy3, vy4, vy5,
1294 b vy6, vy7, vy8, vz1,
1295 c vz2, vz3, vz4, vz5,
1296 d vz6, vz7, vz8, f11,
1297 e f21, f31, f12, f22,
1298 f f32, f13, f23, f33,
1299 g f14, f24, f34, f15,
1300 h f25, f35, f16, f26,
1301 i f36, f17, f27, f37,
1302 j f18, f28, f38, px1,
1303 k px2, px3, px4, py1,
1304 l py2, py3, py4, pz1,
1305 m pz2, pz3, pz4, dxx,
1306 n dxy, dxz, dyx, dyy,
1307 o dyz, dzx, dzy, dzz,
1308 p vdx1, vdx2, vdx3, vdx4,
1309 q vdx5, vdx6, vdx7, vdx8,
1310 r vdy1, vdy2, vdy3, vdy4,
1311 s vdy5, vdy6, vdy7, vdy8,
1312 t vdz1, vdz2, vdz3, vdz4,
1313 u vdz5, vdz6, vdz7, vdz8,
1314 v vdx, vdy, vdz, deltax,
1315 w vis, mxt, qmv, bufmat,
1316 x iparg1, ixs, gbuf%TAG22,nc1,
1317 y nc2, nc3, nc4, nc5,
1318 z nc6, nc7, nc8, nale,
1319 1 nel, nft, mtn, ipm)
1320C
1321 ELSEIF (jeul == 1 .AND. integ8 == 1) THEN
1322C SUPG and TG UPWIND not included
1323 CALL emomt3b(
1324 1 pm, gbuf%RHO, veul(lveul*nft+44),f11,
1325 2 f21, f31, f12, f22,
1326 3 f32, f13, f23, f33,
1327 4 f14, f24, f34, f15,
1328 5 f25, f35, f16, f26,
1329 6 f36, f17, f27, f37,
1330 7 f18, f28, f38, px1,
1331 8 px2, px3, px4, py1,
1332 9 py2, py3, py4, pz1,
1333 a pz2, pz3, pz4, px5,
1334 b px6, px7, px8, py5,
1335 c py6, py7, py8, pz5,
1336 d pz6, pz7, pz8, dxx,
1337 e dxy, dxz, dyx, dyy,
1338 f dyz, dzx, dzy, dzz,
1339 g vdx, vdy, vdz, mxt,
1340 h qmv, bufmat, vx1, vx2,
1341 i vx3, vx4, vx5, vx6,
1342 j vx7, vx8, vy1, vy2,
1343 k vy3, vy4, vy5, vy6,
1344 l vy7, vy8, vz1, vz2,
1345 m vz3, vz4, vz5, vz6,
1346 n vz7, vz8, iparg1, nel,
1347 o mtn, ipm)
1348 ENDIF
1349C
1350 IF(jeul+jale/=0) CALL check_off_ale(f11,f21,f31,f12,f22,
1351 1 f32,f13,f23,f33,f14,
1352 2 f24,f34,f15,f25,f35,
1353 3 f16,f26,f36,f17,f27,
1354 4 f37,f18,f28,f38,gbuf%OFF,
1355 5 lft,llt,nel)
1356C
1357 IF (jale == 3 )THEN
1358 CALL amomt3(
1359 1 pm, mbuf%VAR, fvoln, fx1,
1360 2 fx2, fx3, fx4, fx5,
1361 3 fx6, fx7, fx8, fy1,
1362 4 fy2, fy3, fy4, fy5,
1363 5 fy6, fy7, fy8, fz1,
1364 6 fz2, fz3, fz4, fz5,
1365 7 fz6, fz7, fz8, fvx1,
1366 8 fvx2, fvx3, fvx4, fvx5,
1367 9 fvx6, fvx7, fvx8, fvy1,
1368 a fvy2, fvy3, fvy4, fvy5,
1369 b fvy6, fvy7, fvy8, fvz1,
1370 c fvz2, fvz3, fvz4, fvz5,
1371 d fvz6, fvz7, fvz8, ff11,
1372 e ff21, ff31, ff12, ff22,
1373 f ff32, ff13, ff23, ff33,
1374 g ff14, ff24, ff34, ff15,
1375 h ff25, ff35, ff16, ff26,
1376 i ff36, ff17, ff27, ff37,
1377 j ff18, ff28, ff38, fpx1,
1378 k fpx2, fpx3, fpx4, fpy1,
1379 l fpy2, fpy3, fpy4, fpz1,
1380 m fpz2, fpz3, fpz4, fdxx,
1381 n fdxy, fdxz, fdyx, fdyy,
1382 o fdyz, fdzx, fdzy, fdzz,
1383 p fvdx1, fvdx2, fvdx3, fvdx4,
1384 q fvdx5, fvdx6, fvdx7, fvdx8,
1385 r fvdy1, fvdy2, fvdy3, fvdy4,
1386 s fvdy5, fvdy6, fvdy7, fvdy8,
1387 t fvdz1, fvdz2, fvdz3, fvdz4,
1388 u fvdz5, fvdz6, fvdz7, fvdz8,
1389 v fvdx, fvdy, fvdz, fdeltax,
1390 w vis, mxt, qmv, bufmat,
1391 x iparg1, ixs, gbuf%TAG22,nc1,
1392 y nc2, nc3, nc4, nc5,
1393 z nc6, nc7, nc8, nale,
1394 1 nel, nft, mtn, ipm)
1395 ENDIF
1396 ENDIF ! IALEFVM_MAT <= 1
1397C
1398 IF (ioutprt>0)THEN
1399C Energy, momentum, mass balance by part in case of print-out
1400 eint => elbuf_tab(ng)%GBUF%EINT(1:nel)
1401 IF (jcvt == 0) THEN
1402 ifvm22 = 0
1403 imat = ixs(1,lft+nft)
1404 ialefvm_flg = ipm(251,imat)
1405 IF(ialefvm_flg>=2)ifvm22 = 1
1406 CALL sbilan(partsav,eint,gbuf%RHO,gbuf%RK,gbuf%VOL,
1407 . vx1, vx2, vx3, vx4, vx5, vx6, vx7, vx8,
1408 . vy1, vy2, vy3, vy4, vy5, vy6, vy7, vy8,
1409 . vz1, vz2, vz3, vz4, vz5, vz6, vz7, vz8,
1410 . voln,iparts,gresav,grth,igrth,gbuf%OFF,
1411 . iexpan,gbuf%EINTTH,gbuf%FILL,gbuf%MOM,nel,ifvm22,
1412 . x1, x2, x3, x4, x5, x6, x7, x8,
1413 . y1, y2, y3, y4, y5, y6, y7, y8,
1414 . z1, z2, z3, z4, z5, z6, z7, z8,
1415 . itask,iparg1,sensors,gbuf%G_WPLA,gbuf%WPLA)
1416 ELSE
1417 CALL srbilan(partsav,eint ,gbuf%RHO,gbuf%RK,gbuf%VOL ,
1418 . vgxa ,vgya ,vgza ,vga2 ,voln ,
1419 . iparts ,gresav ,grth ,igrth ,gbuf%OFF ,
1420 . iexpan ,gbuf%EINTTH,gbuf%FILL,xgxa, xgya, xgza,
1421 . xgxa2,xgya2,xgza2,xgxya,xgyza,xgzxa,itask,iparg1,sensors,
1422 . nel,gbuf%G_WPLA,gbuf%WPLA)
1423 ENDIF
1424 ENDIF
1425C
1426C Compute nodal internal forces
1427 IF (isrot == 0)THEN
1428 CALL sfint3(
1429 1 gbuf%SIG,px1, px2, px3,
1430 2 px4, py1, py2, py3,
1431 3 py4, pz1, pz2, pz3,
1432 4 pz4, px5, px6, px7,
1433 5 px8, py5, py6, py7,
1434 6 py8, pz5, pz6, pz7,
1435 7 pz8, f11, f21, f31,
1436 8 f12, f22, f32, f13,
1437 9 f23, f33, f14, f24,
1438 a f34, f15, f25, f35,
1439 b f16, f26, f36, f17,
1440 c f27, f37, f18, f28,
1441 d f38, voln, qvis, n1x,
1442 e n2x, n3x, n4x, n5x,
1443 f n6x, n1y, n2y, n3y,
1444 g n4y, n5y, n6y, n1z,
1445 h n2z, n3z, n4z, n5z,
1446 i n6z, dfe, p, ixs,
1447 j nel, nft, jale, jeul,
1448 k svis)
1449 ELSE
1450 iisrot = 1
1451 CALL sfint3b(
1452 1 gbuf%SIG, lbuf%SIGD,x, nc1,
1453 2 nc2, nc3, nc4, nc5,
1454 3 nc6, nc7, nc8, px1,
1455 4 px2, px3, px4, py1,
1456 5 py2, py3, py4, pz1,
1457 6 pz2, pz3, pz4, px5,
1458 7 px6, px7, px8, py5,
1459 8 py6, py7, py8, pz5,
1460 9 pz6, pz7, pz8, f11,
1461 a f21, f31, f12, f22,
1462 b f32, f13, f23, f33,
1463 c f14, f24, f34, f15,
1464 d f25, f35, f16, f26,
1465 e f36, f17, f27, f37,
1466 f f18, f28, f38, voln,
1467 g qvis, dr, gbuf%RHO, cxx,
1468 h mx1, my1, mz1, mx2,
1469 i my2, mz2, mx3, my3,
1470 j mz3, mx4, my4, mz4,
1471 k mx5, my5, mz5, mx6,
1472 l my6, mz6, mx7, my7,
1473 m mz7, mx8, my8, mz8,
1474 n ixs, nel, ismstr, svis)
1475 ENDIF
1476C
1477 IF (jale == 3) THEN
1478C Flow internal forces
1479 nbf1 = nel*4
1480 nbf2 = nel + nbf1
1481 nbf3 = nel + nbf2
1482 DO i=1,nel
1483 sigf(i,1) = mbuf%VAR(nbf1 + i)
1484 sigf(i,2) = mbuf%VAR(nbf2 + i)
1485 sigf(i,3) = mbuf%VAR(nbf3 + i)
1486 sigf(i,4) = zero
1487 sigf(i,5) = zero
1488 sigf(i,6) = zero
1489 ENDDO
1490 CALL ffint3(
1491 1 sigf, dfe, fpx1, fpx2,
1492 2 fpx3, fpx4, fpy1, fpy2,
1493 3 fpy3, fpy4, fpz1, fpz2,
1494 4 fpz3, fpz4, ff11, ff21,
1495 5 ff31, ff12, ff22, ff32,
1496 6 ff13, ff23, ff33, ff14,
1497 7 ff24, ff34, ff15, ff25,
1498 8 ff35, ff16, ff26, ff36,
1499 9 ff17, ff27, ff37, ff18,
1500 a ff28, ff38, fvoln, fqvis,
1501 b fn1x, fn2x, fn3x, fn4x,
1502 c fn5x, fn6x, fn1y, fn2y,
1503 d fn3y, fn4y, fn5y, fn6y,
1504 e fn1z, fn2z, fn3z, fn4z,
1505 f fn5z, fn6z, llt)
1506 ENDIF
1507C
1508 ialefvm_mat = ipm(251,ixs(1,nf1))
1509 IF (ialefvm_mat > 1) THEN
1510C ALEFVM forces
1511C External forces work
1512 CALL alefvm_tfext(
1513 1 ixs, nv46 , gbuf%SIG, ale_connect,
1514 2 n1x, n2x, n3x, n4x, n5x, n6x,
1515 4 n1y, n2y, n3y, n4y, n5y, n6y,
1516 5 n1z, n2z, n3z, n4z, n5z, n6z,
1517 7 x, ipm, nale,
1518 8 w, p, nel, wfext)
1519C
1520C Initial forces
1521 CALL alefvm_freset(gbuf%TAG22)
1522C
1523C Gravity forces
1524 CALL alefvm_gravity(gbuf%VOL, ixs, gbuf%RHO)
1525 IF(int22/=0)THEN
1526 CALL alefvm_gravity_int22(gbuf%VOL, ixs, gbuf%RHO, gbuf%TAG22)
1527 ENDIF
1528C
1529C Internal forces
1530 CALL alefvm_stress(
1531 1 ixs, gbuf%SIG, qvis,
1532 2 n1x, n2x, n3x, n4x,
1533 3 n5x, n6x, n1y, n2y,
1534 4 n3y, n4y, n5y, n6y,
1535 5 n1z, n2z, n3z, n4z,
1536 6 n5z, n6z, x, ipm,
1537 7 gbuf%RHO, gbuf%VOL,
1538 8 nel, gbuf%MOM, lbuf%SSP, svis)
1539 IF(int22/=0)THEN
1541 1 ixs, gbuf%SIG, qvis,
1542 2 n1x, n2x, n3x, n4x, n5x, n6x,
1543 3 n1y, n2y, n3y, n4y, n5y, n6y,
1544 4 n1z, n2z, n3z, n4z, n5z, n6z,
1545 5 ipm, gbuf%RHO, gbuf%VOL, gbuf%TAG22,
1546 6 nel, gbuf%MOM, lbuf%SSP, svis)
1547 ENDIF
1548 ENDIF ! IALEFVM_MAT > 1
1549C
1550c===========================================================================
1551c Computation of the internal non-local forces
1552c===========================================================================
1553 IF (inloc > 0) THEN
1554 CALL sfint_reg(
1555 1 nloc_dmg ,var_reg ,nel ,off ,
1556 2 voln ,elbuf_tab(ng)%NLOCS,gbuf%VOL ,
1557 3 px1 ,px2 ,px3 ,px4 ,
1558 4 py1 ,py2 ,py3 ,py4 ,
1559 5 pz1 ,pz2 ,pz3 ,pz4 ,
1560 6 mxt(lft) ,itask ,dt2t ,nft )
1561 ENDIF
1562c===========================================================================
1563C
1564 IF (jthe < 0) THEN
1565C Finite element heat transfert forces
1566 imat = mxt(1)
1567 IF (mat_elem%MAT_PARAM(imat)%HEAT_FLAG == 1) THEN
1568 CALL stherm(
1569 1 pm, imat, voln, nc1,
1570 2 nc2, nc3, nc4, nc5,
1571 3 nc6, nc7, nc8, px1,
1572 4 px2, px3, px4, py1,
1573 5 py2, py3, py4, pz1,
1574 6 pz2, pz3, pz4, dt1,
1575 7 temp, tempel, fheat, them,
1576 8 gbuf%OFF,lbuf%OFF,partsav, iparts,
1577 9 gbuf%VOL,nel ,numnod ,glob_therm%THEACCFACT)
1578 ELSE
1579 CALL stherm(
1580 1 pm, imat, voln, nc1,
1581 2 nc2, nc3, nc4, nc5,
1582 3 nc6, nc7, nc8, px1,
1583 4 px2, px3, px4, py1,
1584 5 py2, py3, py4, pz1,
1585 6 pz2, pz3, pz4, dt1,
1586 7 temp, tempel, die, them,
1587 8 gbuf%OFF,lbuf%OFF,partsav, iparts,
1588 9 gbuf%VOL,nel ,numnod ,glob_therm%THEACCFACT)
1589 END IF
1590 ENDIF
1591C
1592 IF (jcvt /= 0) THEN
1593C Transform forces from convected frame to global frame
1594 CALL srrota3(
1595 1 r11, r21, r31, r12,
1596 2 r22, r32, r13, r23,
1597 3 r33, f11, f12, f13,
1598 4 f14, f15, f16, f17,
1599 5 f18, f21, f22, f23,
1600 6 f24, f25, f26, f27,
1601 7 f28, f31, f32, f33,
1602 8 f34, f35, f36, f37,
1603 9 f38, nel)
1604 IF(jale == 3) THEN
1605 CALL srrota3(
1606 1 r11, r21, r31, r12,
1607 2 r22, r32, r13, r23,
1608 3 r33, ff11, ff12, ff13,
1609 4 ff14, ff15, ff16, ff17,
1610 5 ff18, ff21, ff22, ff23,
1611 6 ff24, ff25, ff26, ff27,
1612 7 ff28, ff31, ff32, ff33,
1613 8 ff34, ff35, ff36, ff37,
1614 9 ff38, nel)
1615 ENDIF
1616 ENDIF
1617C----------------------------
1618C distortion control
1619C----------------------------
1620 IF (isctl > 0) THEN
1621 CALL sdistor_ini(
1622 1 nel ,sti_c ,npropm ,nummat ,
1623 2 ismstr ,mxt ,istab ,pm ,
1624 3 gbuf%SIG ,gbuf%RHO ,cxx ,off ,
1625 4 gbuf%OFF ,ll ,voln ,fld ,
1626 5 cns2 ,fqmax )
1627! x,v sould be in global sys
1628 IF (ismstr == 1.OR.ismstr >= 11.OR.jcvt > 0)
1629 . CALL s8get_x3(
1630 . nc1, nc2, nc3, nc4,
1631 . nc5, nc6, nc7, nc8,
1632 . x1, x2, x3, x4,
1633 . x5, x6, x7, x8,
1634 . y1, y2, y3, y4,
1635 . y5, y6, y7, y8,
1636 . z1, z2, z3, z4,
1637 . z5, z6, z7, z8,
1638 . x, xdp, numnod, nel )
1639 IF (jcvt > 0) THEN
1640 DO i=1,nel
1641 vx1(i)=v(1,nc1(i))
1642 vy1(i)=v(2,nc1(i))
1643 vz1(i)=v(3,nc1(i))
1644 vx2(i)=v(1,nc2(i))
1645 vy2(i)=v(2,nc2(i))
1646 vz2(i)=v(3,nc2(i))
1647 vx3(i)=v(1,nc3(i))
1648 vy3(i)=v(2,nc3(i))
1649 vz3(i)=v(3,nc3(i))
1650 vx4(i)=v(1,nc4(i))
1651 vy4(i)=v(2,nc4(i))
1652 vz4(i)=v(3,nc4(i))
1653 vx5(i)=v(1,nc5(i))
1654 vy5(i)=v(2,nc5(i))
1655 vz5(i)=v(3,nc5(i))
1656 vx6(i)=v(1,nc6(i))
1657 vy6(i)=v(2,nc6(i))
1658 vz6(i)=v(3,nc6(i))
1659 vx7(i)=v(1,nc7(i))
1660 vy7(i)=v(2,nc7(i))
1661 vz7(i)=v(3,nc7(i))
1662 vx8(i)=v(1,nc8(i))
1663 vy8(i)=v(2,nc8(i))
1664 vz8(i)=v(3,nc8(i))
1665 ENDDO
1666 END IF !(JCVT > 0) THEN
1667 CALL s8for_distor(
1668 . x1, x2, x3, x4,
1669 . x5, x6, x7, x8,
1670 . y1, y2, y3, y4,
1671 . y5, y6, y7, y8,
1672 . z1, z2, z3, z4,
1673 . z5, z6, z7, z8,
1674 . vx1, vx2, vx3, vx4,
1675 . vx5, vx6, vx7, vx8,
1676 . vy1, vy2, vy3, vy4,
1677 . vy5, vy6, vy7, vy8,
1678 . vz1, vz2, vz3, vz4,
1679 . vz5, vz6, vz7, vz8,
1680 . f11, f12, f13, f14,
1681 . f15, f16, f17, f18,
1682 . f21, f22, f23, f24,
1683 . f25, f26, f27, f28,
1684 . f31, f32, f33, f34,
1685 . f35, f36, f37, f38,
1686 . sti, sti_c, fld , cns2,
1687 . ll , istab, fqmax, nel,
1688 . gbuf%EINT_DISTOR, dt1)
1689 ENDIF
1690C
1691 IF(nfilsol/=0) CALL sfillopt(
1692 1 gbuf%FILL,sti, f11, f21,
1693 2 f31, f12, f22, f32,
1694 3 f13, f23, f33, f14,
1695 4 f24, f34, f15, f25,
1696 5 f35, f16, f26, f36,
1697 6 f17, f27, f37, f18,
1698 7 f28, f38, nel)
1699C
1700C Assemble internal forces
1701 IF(iparit == 0)THEN
1702 CALL scumu3(
1703 1 gbuf%OFF,a, nc1, nc2,
1704 2 nc3, nc4, nc5, nc6,
1705 3 nc7, nc8, stifn, sti,
1706 4 f11, f21, f31, f12,
1707 5 f22, f32, f13, f23,
1708 6 f33, f14, f24, f34,
1709 7 f15, f25, f35, f16,
1710 8 f26, f36, f17, f27,
1711 9 f37, f18, f28, f38,
1712 a nvc, ar, fr_wave, fr_wav,
1713 b mx1, my1, mz1, mx2,
1714 c my2, mz2, mx3, my3,
1715 d mz3, mx4, my4, mz4,
1716 e mx5, my5, mz5, mx6,
1717 f my6, mz6, mx7, my7,
1718 g mz7, mx8, my8, mz8,
1719 h them, fthe, condn, conde,
1720 i nel, jthe, isrot, ipartsph,glob_therm%NODADT_THERM)
1721 ELSE
1722 CALL scumu3p(
1723 1 gbuf%OFF,sti, fsky, fsky,
1724 2 iads, f11, f21, f31,
1725 3 f12, f22, f32, f13,
1726 4 f23, f33, f14, f24,
1727 5 f34, f15, f25, f35,
1728 6 f16, f26, f36, f17,
1729 7 f27, f37, f18, f28,
1730 8 f38, nc1, nc2, nc3,
1731 9 nc4, nc5, nc6, nc7,
1732 a nc8, ar, fr_wave, fr_wav,
1733 b mx1, my1, mz1, mx2,
1734 c my2, mz2, mx3, my3,
1735 d mz3, mx4, my4, mz4,
1736 e mx5, my5, mz5, mx6,
1737 f my6, mz6, mx7, my7,
1738 g mz7, mx8, my8, mz8,
1739 h them, fthesky, condnsky,conde,
1740 i nel, nft, jthe, isrot,
1741 j ipartsph,glob_therm%NODADT_THERM)
1742 ENDIF
1743C
1744 IF(jale == 3) THEN
1745 IF(iparit == 0 ) THEN
1746 CALL fcumu3(
1747 1 gbuf%OFF,af, nc1, nc2,
1748 2 nc3, nc4, nc5, nc6,
1749 3 nc7, nc8, stifn, sti,
1750 4 ff11, ff21, ff31, ff12,
1751 5 ff22, ff32, ff13, ff23,
1752 6 ff33, ff14, ff24, ff34,
1753 7 ff15, ff25, ff35, ff16,
1754 8 ff26, ff36, ff17, ff27,
1755 9 ff37, ff18, ff28, ff38,
1756 a nvc, nel)
1757
1758 ELSE
1759 CALL fcumu3p(
1760 1 gbuf%OFF,sti, ffsky, iads,
1761 2 ff11, ff21, ff31, ff12,
1762 3 ff22, ff32, ff13, ff23,
1763 4 ff33, ff14, ff24, ff34,
1764 5 ff15, ff25, ff35, ff16,
1765 6 ff26, ff36, ff17, ff27,
1766 7 ff37, ff18, ff28, ff38,
1767 8 nc1, nc2, nc3, nc4,
1768 9 nc5, nc6, nc7, nc8,
1769 a nel, nft)
1770 ENDIF
1771 ENDIF
1772C
1773 IF (ALLOCATED(var_reg)) DEALLOCATE(var_reg)
1774 RETURN
1775 END
subroutine aleflow(pm, mat, x, mbuf, nel, ixs, ale_connect, v, a, w, dfe, frho0, alpha, 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, phi1, phi2, flux, flu1, vx1, vx2, vx3, vx4, vx5, vx6, vx7, vx8, vy1, vy2, vy3, vy4, vy5, vy6, vy7, vy8, vz1, vz2, vz3, vz4, vz5, vz6, vz7, vz8, vdx1, vdx2, vdx3, vdx4, vdx5, vdx6, vdx7, vdx8, vdy1, vdy2, vdy3, vdy4, vdy5, vdy6, vdy7, vdy8, vdz1, vdz2, vdz3, vdz4, vdz5, vdz6, vdz7, vdz8, vdx, vdy, vdz, vd2, lvx1, lvx2, lvx3, lvx4, lvx5, lvx6, lvx7, lvx8, lvy1, lvy2, lvy3, lvy4, lvy5, lvy6, lvy7, lvy8, lvz1, lvz2, lvz3, lvz4, lvz5, lvz6, lvz7, lvz8, por, icontact, ifoam)
Definition aleflow.F:59
subroutine alefvm_epsdot(ixs, vol, n1x, n2x, n3x, n4x, n5x, n6x, n1y, n2y, n3y, n4y, n5y, n6y, n1z, n2z, n3z, n4z, n5z, n6z, dxx, dyy, dzz, x, ipm, nel)
subroutine alefvm_freset(iad22)
subroutine alefvm_gravity(voln, ixs, rho)
subroutine alefvm_gravity_int22(voln, ixs, rho, iad22)
subroutine alefvm_stress(ixs, sig, qvis, n1x, n2x, n3x, n4x, n5x, n6x, n1y, n2y, n3y, n4y, n5y, n6y, n1z, n2z, n3z, n4z, n5z, n6z, x, ipm, rho, vol, nel, mom, ssp, svis)
subroutine alefvm_stress_int22(ixs, sig, qvis, n1x, n2x, n3x, n4x, n5x, n6x, n1y, n2y, n3y, n4y, n5y, n6y, n1z, n2z, n3z, n4z, n5z, n6z, ipm, rho, vol, iad22, nel, mom, ssp, svis)
subroutine alefvm_tfext(ixs, nv46, sig, ale_connect, n1x, n2x, n3x, n4x, n5x, n6x, n1y, n2y, n3y, n4y, n5y, n6y, n1z, n2z, n3z, n4z, n5z, n6z, x, ipm, nale, w, p, nel, wfext)
subroutine amass3(ms, rho, volgp, tag22, volu, nc1, nc2, nc3, nc4, nc5, nc6, nc7, nc8, msnf, nvc, off, ixs, nel, jeul)
Definition amass3.F:38
subroutine amass3f(ms, rho, volu, nc1, nc2, nc3, nc4, nc5, nc6, nc7, nc8, msnf, nvc, off, nel)
Definition amass3f.F:33
subroutine amass3p(fskym, rho, volgp, tag22, volu, iads, off, ixs, nel, nft, jeul)
Definition amass3p.F:37
subroutine amass3pf(fskym, rho, volu, iads, off, nel, nft)
Definition amass3pf.F:31
subroutine amomt3(pm, rho, vol, 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, f21, f31, f12, f22, f32, f13, f23, f33, f14, f24, f34, f15, f25, f35, f16, f26, f36, f17, f27, f37, f18, f28, f38, px1, px2, px3, px4, py1, py2, py3, py4, pz1, pz2, pz3, pz4, dxx, dxy, dxz, dyx, dyy, dyz, dzx, dzy, dzz, vdx1, vdx2, vdx3, vdx4, vdx5, vdx6, vdx7, vdx8, vdy1, vdy2, vdy3, vdy4, vdy5, vdy6, vdy7, vdy8, vdz1, vdz2, vdz3, vdz4, vdz5, vdz6, vdz7, vdz8, vdx, vdy, vdz, deltax, vis, mat, qmv, bufmat, iparg1, ixs, iad22, nc1, nc2, nc3, nc4, nc5, nc6, nc7, nc8, nale, nel, nft, mtn, ipm)
Definition amomt3.F:71
subroutine boltst(ip, bpreld, sig, tt, nel, npt, nsensor, sensor_tab)
Definition boltst.F:38
subroutine check_off_ale(f11, f21, f31, f12, f22, f32, f13, f23, f33, f14, f24, f34, f15, f25, f35, f16, f26, f36, f17, f27, f37, f18, f28, f38, off, lft, llt, nel)
subroutine deltax22(vol, veul, voln, deltax, iad22, ixs, lft, llt, jale, jeul)
Definition deltax22.F:36
subroutine emomt3b(pm, rho, volgp, f11, f21, f31, f12, f22, f32, f13, f23, f33, f14, f24, f34, f15, f25, f35, f16, f26, f36, f17, f27, f37, f18, f28, f38, px1, px2, px3, px4, py1, py2, py3, py4, pz1, pz2, pz3, pz4, px5, px6, px7, px8, py5, py6, py7, py8, pz5, pz6, pz7, pz8, dxx, dxy, dxz, dyx, dyy, dyz, dzx, dzy, dzz, vdx, vdy, vdz, mat, qmv, bufmat, vx1, vx2, vx3, vx4, vx5, vx6, vx7, vx8, vy1, vy2, vy3, vy4, vy5, vy6, vy7, vy8, vz1, vz2, vz3, vz4, vz5, vz6, vz7, vz8, iparg1, nel, mtn, ipm)
Definition emomt3b.F:56
subroutine epxle3(vol, veul, x1, x2, x3, x4, x5, x6, x7, x8, y1, y2, y3, y4, y5, y6, y7, y8, z1, z2, z3, z4, z5, z6, z7, z8, px1, px2, px3, px4, py1, py2, py3, py4, pz1, pz2, pz3, pz4, px5, px6, px7, px8, py5, py6, py7, py8, pz5, pz6, pz7, pz8, px1h1, px1h2, px1h3, px2h1, px2h2, px2h3, px3h1, px3h2, px3h3, px4h1, px4h2, px4h3, det, deltax, n1x, n2x, n3x, n4x, n5x, n6x, n1y, n2y, n3y, n4y, n5y, n6y, n1z, n2z, n3z, n4z, n5z, n6z, nel, nft, jhbe)
Definition epxle3.F:55
#define alpha
Definition eval.h:35
subroutine fcumu3(offg, f, 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, nel)
Definition fcumu3.F:39
subroutine fcumu3p(offg, sti, fsky, 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, nel, nft)
Definition fcumu3p.F:39
subroutine fdefo3(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, vxr, vyr, vzr, dd, nel, jhbe, jcvt, isrot)
Definition fdefo3.F:44
subroutine fderi3(off, det, ngl, x1, x2, x3, x4, x5, x6, x7, x8, y1, y2, y3, y4, y5, y6, y7, y8, z1, z2, z3, z4, z5, z6, z7, z8, px1, px2, px3, px4, py1, py2, py3, py4, pz1, pz2, pz3, pz4, px1h1, px1h2, px1h3, px2h1, px2h2, px2h3, px3h1, px3h2, px3h3, px4h1, px4h2, px4h3, nel, jhbe)
Definition fderi3.F:45
subroutine fdlen3(voln, deltax, x1, x2, x3, x4, x5, x6, x7, x8, y1, y2, y3, y4, y5, y6, y7, y8, z1, z2, z3, z4, z5, z6, z7, z8, n1x, n2x, n3x, n4x, n5x, n6x, n1y, n2y, n3y, n4y, n5y, n6y, n1z, n2z, n3z, n4z, n5z, n6z, nel)
Definition fdlen3.F:46
subroutine fe_close(hh, rho, voln, 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, nel)
Definition fe_close.F:43
subroutine ffint3(sig, dfe, px1, px2, px3, px4, py1, py2, py3, py4, pz1, pz2, pz3, pz4, 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, n1x, n2x, n3x, n4x, n5x, n6x, n1y, n2y, n3y, n4y, n5y, n6y, n1z, n2z, n3z, n4z, n5z, n6z, nel)
Definition ffint3.F:48
subroutine fhvis3(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, px2h1, px2h2, px2h3, px3h1, px3h2, px3h3, px4h1, px4h2, px4h3, vol, mat, cxx, vis, vd2, deltax, eani, pid, geo, partsav, iparts, nel, nft, jlag, jhbe)
Definition fhvis3.F:51
subroutine frho3(uvar, rho0, dxx, dyy, dzz, flux, flu1, voln, ngl, mat, off, nel)
Definition frho3.F:32
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
type(ale_) ale
Definition ale_mod.F:249
subroutine s11defo3(pm, v, veul, x, ixs, ale_connect, dxx, dxy, dxz, dyx, dyy, dyz, dzx, dzy, dzz, d4, d5, d6, wxx, wyy, wzz, bufmat, nel, nft, ipm, nummat, numels)
Definition s11defo3.F:39
subroutine s11fx3(pm, flux, ale_connect, ixs, ipm, bufmat, nel, nft, jale, jeul, nummat, s_ixs)
Definition s11fx3.F:35
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 s8sav12(offg, offg0, sav, x, xdp, nc1, nc2, nc3, nc4, nc5, nc6, nc7, nc8, nel, jcvt)
Definition s8sav12.F:36
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 s8savsr3(offg, sav, xd, yd, zd, nel)
Definition s8savsr3.F:32
subroutine s8upd11t12(offg, offg0, x, xdp, nc1, nc2, nc3, nc4, nc5, nc6, nc7, nc8, jac_1, sig, sigl, nel)
Definition s8upd11t12.F:34
subroutine s_hg5(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, px2h1, px2h2, px2h3, px3h1, px3h2, px3h3, px4h1, px4h2, px4h3, vol, fhour, partsav, iparts, nft, mtn, jlag, eani, pid, ivector, dt1, mat, geo, nel, isctl, sti, cxx)
Definition s_hg5.F:49
subroutine sbilan(partsav, eint, rho, rk, vol, vx1, vx2, vx3, vx4, vx5, vx6, vx7, vx8, vy1, vy2, vy3, vy4, vy5, vy6, vy7, vy8, vz1, vz2, vz3, vz4, vz5, vz6, vz7, vz8, vnew, iparts, gresav, grth, igrth, off, iexpan, eintth, fill, mom, nel, ifvm22, x1, x2, x3, x4, x5, x6, x7, x8, y1, y2, y3, y4, y5, y6, y7, y8, z1, z2, z3, z4, z5, z6, z7, z8, itask, iparg, sensors, g_wpla, wpla)
Definition sbilan.F:47
subroutine scoor3_fvm(x, ixs, v, w, gama, 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, vdx1, vdx2, vdx3, vdx4, vdx5, vdx6, vdx7, vdx8, vdy1, vdy2, vdy3, vdy4, vdy5, vdy6, vdy7, vdy8, vdz1, vdz2, vdz3, vdz4, vdz5, vdz6, vdz7, vdz8, vdx, vdy, vdz, vd2, vis, offg, off, rho, rhoo, nc1, nc2, nc3, nc4, nc5, nc6, nc7, nc8, ngl, mxt, ngeo, xd1, xd2, xd3, xd4, xd5, xd6, xd7, xd8, yd1, yd2, yd3, yd4, yd5, yd6, yd7, yd8, zd1, zd2, zd3, zd4, zd5, zd6, zd7, zd8, xdp, iparg, ng, nel, mom, tag22)
Definition scoor3_fvm.F:50
subroutine scoor_cp2sp(x0, y0, z0, 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 scoor_cp2sp.F:39
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 sderit3(off, det, ngl, x1, x2, x3, x4, x5, x6, x7, x8, y1, y2, y3, y4, y5, y6, y7, y8, z1, z2, z3, z4, z5, z6, z7, z8, px1, px2, px3, px4, py1, py2, py3, py4, pz1, pz2, pz3, pz4, px1h1, px1h2, px1h3, px2h1, px2h2, px2h3, px3h1, px3h2, px3h3, px4h1, px4h2, px4h3, jac1, jac2, jac3, jac4, jac5, jac6, nel, jhbe)
Definition sderit3.F:44
subroutine sderito3(off, det, px1, px2, px3, px4, py1, py2, py3, py4, pz1, pz2, pz3, pz4, jac_i, nel)
Definition sderito3.F:33
subroutine sdlenmax(lm_max, 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 sdlenmax.F:40
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 sfint3(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, n1x, n2x, n3x, n4x, n5x, n6x, n1y, n2y, n3y, n4y, n5y, n6y, n1z, n2z, n3z, n4z, n5z, n6z, dfe, pbak, ixs, nel, nft, jale, jeul, svis)
Definition sfint3.F:53
subroutine sfint3b(sig, sigd, x, nc1, nc2, nc3, nc4, nc5, nc6, nc7, nc8, 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, dr, rho, cxx, mx1, my1, mz1, mx2, my2, mz2, mx3, my3, mz3, mx4, my4, mz4, mx5, my5, mz5, mx6, my6, mz6, mx7, my7, mz7, mx8, my8, mz8, ixs, nel, ismstr, svis)
Definition sfint3b.F:54
subroutine sfint_reg(nloc_dmg, var_reg, nel, off, vol, nlocs, vol0, px1, px2, px3, px4, py1, py2, py3, py4, pz1, pz2, pz3, pz4, imat, itask, dt2t, nft)
Definition sfint_reg.F:39
subroutine sforc3(timers, output, elbuf_tab, ng, pm, geo, ixs, x, nv46, a, v, ms, w, flux, flu1, veul, fv, ale_connect, iparg, tf, npf, bufmat, partsav, itab, 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, fskym, msnf, isky, fskyi, nvc, ipm, igeo, ar, vr, in, fr_wave, dr, bufvois, itask, qmv, istrain, temp, fthe, fthesky, iexpan, gresav, grth, igrth, mssa, dmels, table, phi1, phi2, vf, af, df, wf, ffsky, afglob, msf, iparg1, xdp, por, icontact, ifoam, voln, condn, condnsky, agrav, igrv, lgrav, sensors, skew, nale, d, ioutprt, nloc_dmg, mat_elem, h3d_strain, dt, idel7nok, nsvois, sz_bufvois, snpc, stf, sbufmat, svis, idtmins, iresp, idel7ng, maxfunc, userl_avail, glob_therm, impl_s, idyna, wfext)
Definition sforc3.F:156
subroutine sgcoor3(time, npe, x, ixs, x0, y0, z0, vx0, vy0, vz0, sav, d, off, off0, nel, xdp, mtn, ismstr)
Definition sgcoor3.F:38
subroutine sgeodel3(ngl, offg, volg, deltax, volg0, geo, l_max, dt, nel, idel7nok)
Definition sgeodel3.F:42
subroutine shvis3(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, px2h1, px2h2, px2h3, px3h1, px3h2, px3h3, px4h1, px4h2, px4h3, vol, mat, cxx, vis, vd2, deltax, eani, pid, geo, partsav, iparts, offg, vol0, iparg1, ifvm_skip, nel, nft, mtn, ismstr, jlag, jhbe)
Definition shvis3.F:52
subroutine smalla3(sav, offg, off, wxx, wyy, wzz, nel, ismstr, jlag)
Definition smalla3.F:35
subroutine smallb3(offg, off, nel, ismstr)
Definition smallb3.F:44
subroutine smallgeo3(ngl, offg, volg, deltax, volg0, itet, nel, ismstr, dt)
Definition smallgeo3.F:41
subroutine sordef12(jft, jlt, dxx, dyy, dzz, d4, d5, d6, g1x, g1y, g1z, g2x, g2y, g2z, g3x, g3y, g3z, off)
Definition sordef12.F:35
subroutine sordeft12(jft, jlt, mxx, mxy, mxz, myx, myy, myz, mzx, mzy, mzz, g1x, g1y, g1z, g2x, g2y, g2z, g3x, g3y, g3z, off)
Definition sordeft12.F:35
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 srcoor12(off, x, xdp, nc1, nc2, nc3, nc4, nc5, nc6, nc7, nc8, r11, r12, r13, r21, r22, r23, r31, r32, r33, nel, jhbe)
Definition srcoor12.F:39
subroutine sdefot3(nel, 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)
Definition srefsta3.F:664
subroutine sordeft3(nel, mxx, mxy, mxz, myx, myy, myz, mzx, mzy, mzz, g1x, g1y, g1z, g2x, g2y, g2z, g3x, g3y, g3z)
Definition srefsta3.F:743
subroutine srmalla3(sig, s1, s2, s3, s4, s5, s6, offg, off, nel)
Definition srmall3.F:31
subroutine srmalla11(sav, offg, wxx, wyy, wzz, r11, r12, r13, r21, r22, r23, r31, r32, r33, nel, ismstr)
Definition srmalla11.F:34
subroutine srota3(sig, s1, s2, s3, s4, s5, s6, wxx, wyy, wzz, nel, mtn, ismstr)
Definition srota3.F:43
subroutine sroto12_sig(jft, jlt, sig, nel, g1x, g1y, g1z, g2x, g2y, g2z, g3x, g3y, g3z, off)
Definition sroto12_sig.F:33
subroutine srrotadp(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, nel)
Definition srrotadp.F:41
subroutine sstra3(dxx, dyy, dzz, d4, d5, d6, strain, wxx, wyy, wzz, off, nel, jcvt)
Definition sstra3.F:46
subroutine mod_close(geo, 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)
Definition mod_close.F:34
subroutine scoor3(x, xrefs, ixs, geo, mxt, ngeo, ngl, 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 scoor3.F:52
subroutine sdefo3(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)
Definition sdefo3.F:37
subroutine sderi3(vol, veul, geo, igeo, xd1, xd2, xd3, xd4, xd5, xd6, xd7, xd8, yd1, yd2, yd3, yd4, yd5, yd6, yd7, yd8, zd1, zd2, zd3, zd4, zd5, zd6, zd7, zd8, jac1, jac2, jac3, jac4, jac5, jac6, ngl, ngeo, px1, px2, px3, px4, py1, py2, py3, py4, pz1, pz2, pz3, pz4, det, voldp, nel, jeul, nxref, imulti_fvm)
Definition sderi3.F:44
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 startime(event, itask)
Definition timer.F:93
subroutine stoptime(event, itask)
Definition timer.F:135
subroutine stherm(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, tempel, heat, fphi, offg, off, partsav, iparts, vol0, nel, numnod, theaccfact)
Definition stherm.F:39
subroutine voln22(voln, iad22, ixs, lft, llt, jale, jeul)
Definition voln22.F:35