OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
alefvm_stress_int22.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!|| alefvm_stress_int22 ../engine/source/ale/alefvm/alefvm_stress_int22.F
25!||--- called by ------------------------------------------------------
26!|| sforc3 ../engine/source/elements/solid/solide/sforc3.F
27!||--- uses -----------------------------------------------------
28!|| alefvm_mod ../common_source/modules/ale/alefvm_mod.f
29!|| elbufdef_mod ../common_source/modules/mat_elem/elbufdef_mod.F90
30!|| element_mod ../common_source/modules/elements/element_mod.F90
31!|| i22bufbric_mod ../common_source/modules/interfaces/cut-cell-search_mod.F
32!||====================================================================
34 1 IXS, SIG, QVIS,
35 2 N1X, N2X, N3X, N4X, N5X, N6X,
36 3 N1Y, N2Y, N3Y, N4Y, N5Y, N6Y,
37 4 N1Z, N2Z, N3Z, N4Z, N5Z, N6Z,
38 5 IPM, RHO, VOL, IAD22,
39 6 NEL, MOM, SSP, SVIS)
40C-----------------------------------------------
41C D e s c r i p t i o n
42C-----------------------------------------------
43C 'alefvm' is related to a collocated scheme (built from FVM and based on Godunov scheme)
44C which was temporarily introduced for experimental option /INTER/TYPE22 (FSI coupling with cut cell method)
45C This cut cell method is not completed, abandoned, and is not an official option.
46C There is no other use for this scheme which is automatically enabled when /INTER/TYPE22 is defined (INT22>0 => IALEFVM=1).
47C
48C This subroutine is treating an uncut cell.
49C-----------------------------------------------
50C M o d u l e s
51C-----------------------------------------------
52 USE alefvm_mod
53 USE elbufdef_mod !TYPE(ELBUF_STRUCT_)
54 USE i22bufbric_mod !BRICK_LIST
55 use element_mod , only : nixs
56C-----------------------------------------------
57C I m p l i c i t T y p e s
58C-----------------------------------------------
59#include "implicit_f.inc"
60C-----------------------------------------------
61C G l o b a l P a r a m e t e r s
62C-----------------------------------------------
63#include "mvsiz_p.inc"
64C-----------------------------------------------
65C C o m m o n B l o c k s
66C-----------------------------------------------
67#include "vect01_c.inc"
68#include "com01_c.inc"
69#include "param_c.inc"
70C-----------------------------------------------
71C D e s c r i p t i o n
72C-----------------------------------------------
73C This subroutines computes internal forces for
74C finite volume scheme (IALEFVM==1)
75C
76C If option is not detected in input file then
77C subroutine is unplugged
78C-----------------------------------------------
79C D u m m y A r g u m e n t s
80C-----------------------------------------------
81 INTEGER :: NEL
82 INTEGER :: IXS(NIXS,*),IPM(NPROPMI,*)
83 my_real :: SIG(NEL,6),QVIS(NEL),RHO(NEL), VOL(NEL), IAD22(*)
84 my_real :: N1X(*), N2X(*), N3X(*), N4X(*), N5X(*), N6X(*),
85 . N1Y(*), N2Y(*), N3Y(*), N4Y(*), N5Y(*), N6Y(*),
86 . N1Z(*), N2Z(*), N3Z(*), N4Z(*), N5Z(*), N6Z(*),
87 . mom(nel,3), ssp(nel), isgn, v(3), w(3), vmw(3)
88 my_real, DIMENSION(MVSIZ,6), INTENT(INOUT) :: svis
89C-----------------------------------------------
90C L o c a l V a r i a b l e s
91C-----------------------------------------------
92 INTEGER :: I, II, K, IMAT, IALEFVM_FLG, IB, NIN, IBM, NGM, IDLOCM, ICUT,MCELL,NUM
93 INTEGER :: ISECND, ID, IBs, ICELLs, Js, NumSECND
94
95 my_real :: p(mvsiz) ,
96 . s1(mvsiz) , s2(mvsiz) , s3(mvsiz),
97 . s4(mvsiz) , s5(mvsiz) , s6(mvsiz),
98 . norm , s(0:6) , s0(14)
99 my_real :: n0x(14), n0y(14), n0z(14),mass,u_n(0:6)
100
101 INTEGER :: idbf,idbl,ICELL,NBCUT,NCELL,NBCUTv,IDEB,IFIN
102 LOGICAL :: debug_outp
103C-----------------------------------------------
104C P r e - C o n d i t i o n s
105C-----------------------------------------------
106 IF(alefvm_param%IEnabled==0)RETURN
107 imat = ixs(1,1+nft)
108 ialefvm_flg = ipm(251,imat)
109 IF(ialefvm_flg <= 1)RETURN
110C-----------------------------------------------
111C S o u r c e L i n e s
112C-----------------------------------------------
113
114 !inter22
115 nin = 1
116
117 ! attention: mmain must be processed for each group
118 ! in order to know the neighboring tensors (SIG,SVIS,QVIS) !
119 ! the assembly is then carried out after all calls to
120 ! ALEMAIN>SFORC3() pour chaque groupe.
121
122 !-------------------------------------------------------------!
123 ! PRESSURE !
124 !-------------------------------------------------------------!
125 DO i=1,nel
126 s1(i) = sig(i,1) + svis(i,1) - qvis(i)
127 s2(i) = sig(i,2) + svis(i,2) - qvis(i)
128 s3(i) = sig(i,3) + svis(i,3) - qvis(i)
129 s4(i) = sig(i,4) + svis(i,4)
130 s5(i) = sig(i,5) + svis(i,5)
131 s6(i) = sig(i,6) + svis(i,6)
132 ENDDO
133 DO i=1,nel
134 p(i) = -third*(s1(i)+s2(i)+s3(i))
135 ENDDO
136 ! STORAGE
137 DO i=1,nel
138 ib = nint(iad22(i))
139 IF(ib<=0) cycle
140 brick_list(nin,ib)%RHOC = rho(i)*ssp(i)
141 brick_list(nin,ib)%SIG(0) = p(i)
142 brick_list(nin,ib)%SIG(1) = s1(i)
143 brick_list(nin,ib)%SIG(2) = s2(i)
144 brick_list(nin,ib)%SIG(3) = s3(i)
145 brick_list(nin,ib)%SIG(4) = s4(i)
146 brick_list(nin,ib)%SIG(5) = s5(i)
147 brick_list(nin,ib)%SIG(6) = s6(i)
148 brick_list(nin,ib)%MACH = sqrt(mom(i,1)*mom(i,1)+mom(i,2)*mom(i,2)+mom(i,3)*mom(i,3))/rho(i)/vol(i) / ssp(i)
149 enddo!next I
150
151 !-------------------------------------------------------------!
152 ! NORMAL VECTOR FOR ALE (can be optimize for EULER !
153 !-------------------------------------------------------------!
154 DO i=1,nel
155 ii = i + nft
156 ib = nint(iad22(i))
157 IF(ib<=0)cycle
158 ! Face-1
159 n1x(i) = brick_list(nin,ib)%N(1,1)
160 n1y(i) = brick_list(nin,ib)%N(1,2)
161 n1z(i) = brick_list(nin,ib)%N(1,3)
162 ! Face-2
163 n2x(i) = brick_list(nin,ib)%N(2,1)
164 n2y(i) = brick_list(nin,ib)%N(2,2)
165 n2z(i) = brick_list(nin,ib)%N(2,3)
166 ! Face-3
167 n3x(i) = brick_list(nin,ib)%N(3,1)
168 n3y(i) = brick_list(nin,ib)%N(3,2)
169 n3z(i) = brick_list(nin,ib)%N(3,3)
170 ! Face-4
171 n4x(i) = brick_list(nin,ib)%N(4,1)
172 n4y(i) = brick_list(nin,ib)%N(4,2)
173 n4z(i) = brick_list(nin,ib)%N(4,3)
174 ! Face-5
175 n5x(i) = brick_list(nin,ib)%N(5,1)
176 n5y(i) = brick_list(nin,ib)%N(5,2)
177 n5z(i) = brick_list(nin,ib)%N(5,3)
178 ! Face-6
179 n6x(i) = brick_list(nin,ib)%N(6,1)
180 n6y(i) = brick_list(nin,ib)%N(6,2)
181 n6z(i) = brick_list(nin,ib)%N(6,3)
182 ENDDO
183
184 !-------------------------------------------------------------!
185 ! DATA PRE-TREATMENT ON EACH FACE OF EACH POLYHEDRON !
186 ! COMPOSING THE SUPERCELL !
187 ! NEEDED FOR ALE_FVM_SFINT3_INT22 INTEGRAL : Pface interp. !
188 !-------------------------------------------------------------!
189 DO i=1, nel
190 !WARNING : Normal vectors computed in EPXLE3() if IALEFVM>0
191 ii = i + nft
192 ib = nint(iad22(i))
193 IF(ib<=0)cycle
194 nbcut = brick_list(nin,ib)%NBCUT
195 mcell = brick_list(nin,ib)%MainID
196 ncell = nbcut
197 icell = mcell
198 brick_list(nin,ib)%POLY(icell)%FACE(1:6)%U_N = zero
199 !---face-0
200 IF(nbcut>0)THEN
201 s(1:6) = brick_list(nin,ib)%POLY(icell)%FACE(1:6)%Surf
202 s(0) = brick_list(nin,ib)%PCUT(icell)%SCUT(1)
203 ibm = brick_list(nin,ib)%POLY(icell)%WhereIsMain(4)
204 ngm = brick_list(nin,ibm)%NG
205 idlocm = brick_list(nin,ibm)%IDLOC
206 isgn = one
207 IF(icell==9)isgn = -one
208 brick_list(nin,ib)%POLY(icell)%FACE0%U_N(1:9) = zero
209 DO k=1,nbcut
210 icut = k
211 s0(k) = brick_list(nin,ib)%PCUT(icut)%Scut(1)
212 n0x(k) = brick_list(nin,ib)%PCUT(icut)%N(1) !icell=9 : normal 0 are inversed
213 n0y(k) = brick_list(nin,ib)%PCUT(icut)%N(2)
214 n0z(k) = brick_list(nin,ib)%PCUT(icut)%N(3)
215 norm = sqrt(n0x(k)**2+n0y(k)**2+n0z(k)**2)
216 n0x(k) = n0x(k) / norm
217 n0y(k) = n0y(k) / norm
218 n0z(k) = n0z(k) / norm
219 mass = rho(i)*vol(i)
220 v(1:3) = mom(i,1:3) / mass
221 w(1:3) = brick_list(nin,ib)%PCUT(icut)%VEL(1:3)
222 vmw(1) = v(1)-w(1)
223 vmw(2) = v(2)-w(2)
224 vmw(3) = v(3)-w(3)
225 u_n(0) = isgn*(vmw(1)*n0x(k) + vmw(2)*n0y(k) + vmw(3)*n0z(k))
226 brick_list(nin,ib)%POLY(icell)%FACE0%U_N(k) = u_n(0)
227 ENDDO
228 ENDIF
229 !---face-1:6
230 mass = rho(i)*vol(i)
231 u_n(1) = (mom(i,1)*n1x(i) + mom(i,2)*n1y(i) + mom(i,3)*n1z(i)) / (mass)
232 u_n(2) = (mom(i,1)*n2x(i) + mom(i,2)*n2y(i) + mom(i,3)*n2z(i)) / (mass)
233 u_n(3) = (mom(i,1)*n3x(i) + mom(i,2)*n3y(i) + mom(i,3)*n3z(i)) / (mass)
234 u_n(4) = (mom(i,1)*n4x(i) + mom(i,2)*n4y(i) + mom(i,3)*n4z(i)) / (mass)
235 u_n(5) = (mom(i,1)*n5x(i) + mom(i,2)*n5y(i) + mom(i,3)*n5z(i)) / (mass)
236 u_n(6) = (mom(i,1)*n6x(i) + mom(i,2)*n6y(i) + mom(i,3)*n6z(i)) / (mass)
237 brick_list(nin,ib)%POLY(icell)%FACE(1)%U_N = u_n(1)
238 brick_list(nin,ib)%POLY(icell)%FACE(2)%U_N = u_n(2)
239 brick_list(nin,ib)%POLY(icell)%FACE(3)%U_N = u_n(3)
240 brick_list(nin,ib)%POLY(icell)%FACE(4)%U_N = u_n(4)
241 brick_list(nin,ib)%POLY(icell)%FACE(5)%U_N = u_n(5)
242 brick_list(nin,ib)%POLY(icell)%FACE(6)%U_N = u_n(6)
243
244 numsecnd = brick_list(nin,ib)%SecndList%Num
245 DO isecnd=1,numsecnd
246 ibs = brick_list(nin,ib)%SecndList%IBV(isecnd)
247 icells = brick_list(nin,ib)%SecndList%ICELLv(isecnd)
248 js = brick_list(nin,ibs)%POLY(icells)%WhereIsMain(1)
249 nbcutv = brick_list(nin,ibs)%NBCUT
250 !---face-0
251 !forcemment NBCUTv > 0
252 s(1:6) = brick_list(nin,ibs)%POLY(icells)%FACE(1:6)%Surf
253 s(0) = brick_list(nin,ibs)%PCUT(icells)%SCUT(1)
254 ibm = brick_list(nin,ibs)%POLY(icells)%WhereIsMain(4)
255 isgn = one
256 ideb = icells
257 ifin = icells
258 IF(icells==9)THEN
259 isgn = -one
260 ideb = 1
261 ifin = nbcutv
262 ENDIF
263 brick_list(nin,ibs)%POLY(icells)%FACE0%U_N(1:9)= zero
264 mass = rho(i)*vol(i)
265 DO k=ideb,ifin
266 icut = k
267 s0(k) = brick_list(nin,ibs)%PCUT(icut)%Scut(1)
268 n0x(k) = brick_list(nin,ibs)%PCUT(icut)%N(1) !icell=9 : normal 0 are inversed
269 n0y(k) = brick_list(nin,ibs)%PCUT(icut)%N(2)
270 n0z(k) = brick_list(nin,ibs)%PCUT(icut)%N(3)
271 norm = sqrt(n0x(k)**2+n0y(k)**2+n0z(k)**2)
272 n0x(k) = n0x(k) / norm
273 n0y(k) = n0y(k) / norm
274 n0z(k) = n0z(k) / norm
275 v(1:3) = mom(i,1:3) / mass
276 w(1:3) = brick_list(nin,ibs)%PCUT(icut)%VEL(1:3)
277 vmw(1) = v(1)-w(1)
278 vmw(2) = v(2)-w(2)
279 vmw(3) = v(3)-w(3)
280 u_n(0) = isgn*(vmw(1)*n0x(k) + vmw(2)*n0y(k) + vmw(3)*n0z(k))
281 brick_list(nin,ibs)%POLY(icells)%FACE0%U_N(k) = u_n(0)
282 enddo!next K
283 !---face-1:6
284 u_n(1) = (mom(i,1)*n1x(i) + mom(i,2)*n1y(i) + mom(i,3)*n1z(i)) / mass
285 u_n(2) = (mom(i,1)*n2x(i) + mom(i,2)*n2y(i) + mom(i,3)*n2z(i)) / mass
286 u_n(3) = (mom(i,1)*n3x(i) + mom(i,2)*n3y(i) + mom(i,3)*n3z(i)) / mass
287 u_n(4) = (mom(i,1)*n4x(i) + mom(i,2)*n4y(i) + mom(i,3)*n4z(i)) / mass
288 u_n(5) = (mom(i,1)*n5x(i) + mom(i,2)*n5y(i) + mom(i,3)*n5z(i)) / mass
289 u_n(6) = (mom(i,1)*n6x(i) + mom(i,2)*n6y(i) + mom(i,3)*n6z(i)) / mass
290 brick_list(nin,ibs)%POLY(icells)%FACE(1)%U_N = u_n(1)
291 brick_list(nin,ibs)%POLY(icells)%FACE(2)%U_N = u_n(2)
292 brick_list(nin,ibs)%POLY(icells)%FACE(3)%U_N = u_n(3)
293 brick_list(nin,ibs)%POLY(icells)%FACE(4)%U_N = u_n(4)
294 brick_list(nin,ibs)%POLY(icells)%FACE(5)%U_N = u_n(5)
295 brick_list(nin,ibs)%POLY(icells)%FACE(6)%U_N = u_n(6)
296 ENDDO !next ISECND
297 enddo!next I
298
299
300
301 !DEBUG-OUTPUT---------------!
302 if(alefvm_param%IOUTP_STRESS /= 0)then
303 debug_outp = .false.
304 if(alefvm_param%IOUTP_STRESS>0)then
305 do i=lft,llt
306 ii = nft + i
307 if(ixs(11,ii)==alefvm_param%IOUTP_STRESS)THEN
308 debug_outp = .true.
309 idbf = i
310 idbl = i
311 EXIT
312 endif
313 enddo
314 elseif(alefvm_param%IOUTP_STRESS==-1)then
315 debug_outp=.true.
316 idbf = lft
317 idbl = llt
318 endif
319 if(debug_outp)then
320!#!include "lockon.inc"
321 print *, " |--alefvm_stress_int22.F---|"
322 print *, " | THREAD INFORMATION |"
323 print *, " |--------------------------|"
324 print *, " NCYCLE =", ncycle
325 do i=idbf,idbl
326 ii = nft + i
327 ib = nint(iad22(i))
328 if(ib<=0)cycle
329 nbcut = brick_list(nin,ib)%NBCUT
330 IF(nbcut>0)THEN
331 icell = brick_list(nin,ib)%mainID
332 IF(icell==0)cycle
333
334 print *, " brique=", ixs(11,nft+i), "icell=", icell
335 print *, " vold=", brick_list(nin,ib)%vold_scell
336 print *, " vnew=", brick_list(nin,ib)%vnew_scell
337 write(*,fmt='(A24,1A26)') " ",
338 . "#-stress Tensor (P+VIS+Q)#"
339
340 write (*,fmt='(A,3E26.14,A)') " | ", sig(i,1),sig(i,4),sig(i,6), " |"
341 write (*,fmt='(A,3E26.14,A)') " P =| ", sig(i,4),sig(i,2),sig(i,5), " |"
342 write (*,fmt='(A,3E26.14,A)') " |_", sig(i,6),sig(i,5),sig(i,3), "_|"
343 write (*,fmt='(A,3E26.14,A)') " | ", svis(i,1),svis(i,4),svis(i,6)," |"
344 write (*,fmt='(A,3E26.14,A)') " VIS =| ", svis(i,4),svis(i,2),svis(i,5)," |"
345 write (*,fmt='(A,3E26.14,A)') " |_", svis(i,6),svis(i,5),svis(i,3),"_|"
346 write (*,fmt='(A,3E26.14,A)') " | ", s1(i),s4(i),s6(i)," |"
347 write (*,fmt='(A,3E26.14,A)') " SIGMA = P+VIS+Q =| ", s4(i),s2(i),s5(i)," |"
348 write (*,fmt='(A,3E26.14,A)') " |_", s6(i),s5(i),s3(i),"_|"
349 write (*,fmt='(A,2E26.14)') " p = ",-third*sum(sig(i,1:3)),p(i)
350 write (*,fmt='(A,1E26.14)') " q = ",qvis(i)
351 write(*,fmt='(A34,8A26)') " ",
352 . "#-------- face_1 ---------",
353 . "#-------- face_2 ---------","#-------- face_3 ---------",
354 . "#-------- face_4 ---------","#-------- face_5 ---------",
355 . "#-------- face_6 --------#"
356 write (*,fmt='(A,8E26.14)') " <U,N> =", brick_list(nin,ib)%POLY(icell)%FACE(1:6)%U_N
357 write (*,fmt='(A,9E26.14)') " U0N0 =", brick_list(nin,ib)%POLY(icell)%FACE0%U_N(1:9)
358 ELSE
359 print *, " brique=", ixs(11,nft+i), "uncut"
360 print *, " vold=", brick_list(nin,ib)%vold_scell
361 print *, " vnew=", brick_list(nin,ib)%vnew_scell
362 write(*,fmt='(A24,1A26)') " ",
363 . "#-stress Tensor (P+VIS+Q)#"
364
365 write (*,fmt='(A,3E26.14,A)') " | ", sig(i,1),sig(i,4),sig(i,6), " |"
366 write (*,fmt='(A,3E26.14,A)') " P =| ", sig(i,4),sig(i,2),sig(i,5), " |"
367 write (*,fmt='(A,3E26.14,A)') " |_", sig(i,6),sig(i,5),sig(i,3), "_|"
368 write (*,fmt='(A,3E26.14,A)') " | ", svis(i,1),svis(i,4),svis(i,6)," |"
369 write (*,fmt='(A,3E26.14,A)') " VIS =| ", svis(i,4),svis(i,2),svis(i,5)," |"
370 write (*,fmt='(A,3E26.14,A)') " |_", svis(i,6),svis(i,5),svis(i,3),"_|"
371 write (*,fmt='(A,3E26.14,A)') " | ", s1(i),s4(i),s6(i)," |"
372 write (*,fmt='(A,3E26.14,A)') " SIGMA = P+VIS+Q =| ", s4(i),s2(i),s5(i)," |"
373 write (*,fmt='(A,3E26.14,A)') " |_", s6(i),s5(i),s3(i),"_|"
374 write (*,fmt='(A,2E26.14)') " p = ",-third*sum(sig(i,1:3)),p(i)
375 write (*,fmt='(A,1E26.14)') " q = ",qvis(i)
376 write(*,fmt='(A34,6A26)') " ",
377 . "#-------- face_1 ---------","#-------- face_2 ---------",
378 . "#-------- face_3 ---------","#-------- face_4 ---------",
379 . "#-------- face_5 ---------","#-------- face_6 --------#"
380 write (*,fmt='(A,1E26.14)') " <U,N> =", brick_list(nin,ib)%POLY(icell)%FACE(1:6)%U_N
381 endif!(NBCUT>0)
382
383 num = brick_list(nin,ib)%SecndList%Num
384 ibm = ib
385 DO isecnd=1,num
386 ib = brick_list(nin,ibm)%SecndList%IBV(isecnd)
387 icell = brick_list(nin,ibm)%SecndList%ICELLv(isecnd)
388 id = brick_list(nin,ib)%ID
389 print *, " secnd=", ixs(11,id), "icell=", icell
390 write(*,fmt='(A24,1A26)') " ",
391 . "#-stress Tensor (P+VIS+Q)#"
392
393 write (*,fmt='(A,3E26.14,A)') " | ", sig(i,1),sig(i,4),sig(i,6), " |"
394 write (*,fmt='(A,3E26.14,A)') " P =| ", sig(i,4),sig(i,2),sig(i,5), " |"
395 write (*,fmt='(A,3E26.14,A)') " |_", sig(i,6),sig(i,5),sig(i,3), "_|"
396 write (*,fmt='(A,3E26.14,A)') " | ", svis(i,1),svis(i,4),svis(i,6)," |"
397 write (*,fmt='(A,3E26.14,A)') " VIS =| ", svis(i,4),svis(i,2),svis(i,5)," |"
398 write (*,fmt='(A,3E26.14,A)') " |_", svis(i,6),svis(i,5),svis(i,3),"_|"
399 write (*,FMT='(A,3E26.14,A)') " | ", S1(I),S4(I),S6(I)," |"
400 write (*,FMT='(A,3E26.14,A)') " sigma = p+vis+q =| ", S4(I),S2(I),S5(I)," |"
401 write (*,FMT='(A,3E26.14,A)') " |_", S6(I),S5(I),S3(I),"_|"
402 write (*,FMT='(A,2E26.14)') " p = ",-THIRD*SUM(SIG(I,1:3)),P(I)
403 write (*,FMT='(A,1E26.14)') " q = ",QVIS(I)
404 write(*,FMT='(A34,8A26)') " ",
405 . "#-------- face_1 ---------",
406 . "#-------- face_2 ---------","#-------- face_3 ---------",
407 . "#-------- face_4 ---------","#-------- face_5 ---------",
408 . "#-------- face_6 --------#"
409 write (*,fmt='(A,8E26.14)') " <U,N> =", brick_list(nin,ib)%POLY(icell)%FACE(1:6)%U_N
410 write (*,fmt='(A,9E26.14)') " U0N0 =", brick_list(nin,ib)%POLY(icell)%FACE0%U_N(1:9)
411 ENDDO !next ICELL
412
413
414
415
416
417
418 print *, " "
419 enddo!next i
420!#!include "lockoff.inc"
421 endif
422 endif
423 !-----------------------------------------!
424
425 RETURN
426 END
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)
norm(diag(diag(diag(inv(mat))) -id.SOL), 2) % destroy mumps instance id.JOB
type(alefvm_param_), target alefvm_param
Definition alefvm_mod.F:121
type(brick_entity), dimension(:,:), allocatable, target brick_list