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