OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
rgwal0.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!|| rgwal0 ../engine/source/constraints/general/rwall/rgwal0.F
25!||--- called by ------------------------------------------------------
26!|| resol ../engine/source/engine/resol.F
27!||--- calls -----------------------------------------------------
28!|| my_barrier ../engine/source/system/machine.F
29!|| rgwalc ../engine/source/constraints/general/rwall/rgwalc.F
30!|| rgwall ../engine/source/constraints/general/rwall/rgwall.F
31!|| rgwalp ../engine/source/constraints/general/rwall/rgwalp.F
32!|| rgwals ../engine/source/constraints/general/rwall/rgwals.F
33!|| rgwalt ../engine/source/constraints/general/rwall/rgwal0.F
34!|| spmd_exch_fr6 ../engine/source/mpi/kinematic_conditions/spmd_exch_fr6.F
35!||====================================================================
36 SUBROUTINE rgwal0(X ,A ,V ,RWBUF ,LPRW ,
37 2 NPRW ,MS ,FSAV ,FR_WALL ,FOPT ,
38 3 RWSAV ,WEIGHT ,FRWL6 ,NODNX_SMS,WEIGHT_MD,
39 4 DIMFB , FBSAV6,STABSEN,TABSENSOR,WFEXT,WFEXT_MD )
40C-----------------------------------------------
41C I m p l i c i t T y p e s
42C-----------------------------------------------
43#include "implicit_f.inc"
44#include "comlock.inc"
45C-----------------------------------------------
46C C o m m o n B l o c k s
47C-----------------------------------------------
48#include "com01_c.inc"
49#include "com04_c.inc"
50#include "param_c.inc"
51#include "task_c.inc"
52#include "impl1_c.inc"
53C-----------------------------------------------
54C D u m m y A r g u m e n t s
55C-----------------------------------------------
56 INTEGER LPRW(*), NPRW(*), FR_WALL(NSPMD+2,*), WEIGHT(*),
57 . IBID, NODNX_SMS(*),WEIGHT_MD(*),
58 . DIMFB,STABSEN,TABSENSOR(*)
59 my_real x(3,numnod), a(3,numnod), v(3,numnod),rwbuf(nrwlp,*),rwsav(*),ms(*),
60 . fsav(nthvki,*), fopt(6,*)
61 DOUBLE PRECISION FRWL6(7,6,NRWALL)
62 DOUBLE PRECISION FBSAV6(12,6,DIMFB),RBID(12,6)
63 DOUBLE PRECISION,INTENT(INOUT) :: WFEXT, WFEXT_MD
64C-----------------------------------------------
65C L o c a l V a r i a b l e s
66C-----------------------------------------------
67 INTEGER K,N,N2,N3,N4,N5,N6, ITYP, ISL, IFQ, ILAGM, IMP, PMAIN,IPARSENS,ISECT,IPEN
68C-----------------------------------------------
69 RBID = zero
70C Init global result to 0
71
72!$OMP DO
73 DO n = 1, nrwall
74 DO k = 1, 6
75 frwl6(1,k,n) = zero
76 frwl6(2,k,n) = zero
77 frwl6(3,k,n) = zero
78 frwl6(4,k,n) = zero
79 frwl6(5,k,n) = zero
80 frwl6(6,k,n) = zero
81 frwl6(7,k,n) = zero
82 END DO
83 END DO
84!$OMP END DO
85
86 isl = 1
87 k=1
88 imp=0
89 DO n=1,nrwall
90 n2=n +nrwall
91 n3=n2+nrwall
92 n4=n3+nrwall
93 n5=n4+nrwall
94 n6=n5+nrwall
95C
96 ityp= nprw(n4)
97 ilagm= 0
98 ipen= nprw(n+8*nrwall)
99 IF (nprw(n6) == 1) ilagm=1
100 IF (ipen == 0.OR.impl_s>0) THEN
101 IF(ityp == 1.AND.ilagm == 0)THEN
102 CALL rgwall(
103 + x ,a ,v ,rwbuf(1,n),lprw(k),
104 + nprw(n) ,nprw(n2) ,nprw(n3) ,ms ,weight ,
105 + nprw(n5),rwsav(isl),frwl6(1,1,n),imp ,ibid ,
106 + ibid ,ibid ,ibid ,nodnx_sms ,weight_md, wfext, wfext_md)
107 ELSEIF(ityp == 2)THEN
108 CALL rgwalc(
109 + x ,a ,v ,rwbuf(1,n) ,lprw(k),
110 + nprw(n) ,nprw(n2) ,nprw(n3),ms ,weight ,
111 + nprw(n5),frwl6(1,1,n),imp ,ibid ,ibid ,
112 + ibid ,ibid ,nodnx_sms , weight_md,wfext, wfext_md)
113C
114 ELSEIF(ityp == 3)THEN
115 CALL rgwals(
116 + x ,a ,v ,rwbuf(1,n),lprw(k),
117 + nprw(n) ,nprw(n2) ,nprw(n3),ms ,weight ,
118 + nprw(n5),frwl6(1,1,n),imp ,ibid ,ibid ,
119 + ibid ,ibid ,nodnx_sms ,weight_md,wfext, wfext_md)
120 ELSEIF(ityp == 4)THEN
121 CALL rgwalp(
122 + x ,a ,v ,rwbuf(1,n),lprw(k),
123 + nprw(n) ,nprw(n2) ,nprw(n3),ms ,weight ,
124 + nprw(n5),frwl6(1,1,n),imp ,ibid ,ibid ,
125 + ibid ,ibid ,nodnx_sms ,weight_md,wfext,wfext_md)
126 ENDIF
127 END IF !(IPEN == 0.OR.IMPL_S>0) THEN
128 k=k+nprw(n)
129 ifq = nint(rwbuf(15,n))
130 IF (sminver < 9.OR.ifq > 0) THEN
131 isl=isl+nprw(n)*3
132 ENDIF
133 IF(nprw(n4) == -1)THEN
134 k=k+nint(rwbuf(8,n))
135 ENDIF
136 END DO
137
138C Explicit barrier required before communication
139
140 CALL my_barrier
141
142!$OMP SINGLE
143
144C
145C Traitements Speciaux : Communications SPMD si moving present
146C + Sauvegarde Force et Impultion main
147C
148 IF(imconv == 1) THEN
149 DO n=1,nrwall
150 n2=n +nrwall
151 n3=n2+nrwall
152 n4=n3+nrwall
153 n5=n4+nrwall
154 n6=n5+nrwall
155 IF(nprw(n3) /= 0) THEN
156 IF(nspmd > 1) THEN
157C if processor concerned by the rgwall
158 IF(fr_wall(ispmd+1,n) /= 0) THEN
159 CALL spmd_exch_fr6(fr_wall(1,n),frwl6(1,1,n),7*6)
160 ENDIF
161 pmain = fr_wall(nspmd+2,n)
162 ELSE
163 pmain = 1
164 ENDIF
165 ELSE
166 pmain = 1
167 END IF
168C
169 iparsens=0
170 isect=0
171 IF(stabsen/=0) THEN
172 isect=tabsensor(n+nsect+nintsub+ninter+1)-tabsensor(n+nsect+nintsub+ninter)
173 ENDIF
174 IF(isect/=0) THEN
175 iparsens=1
176 CALL rgwalt(
177 1 nprw(n3),rwbuf(1,n),frwl6(1,1,n),pmain,fsav(1,n),
178 2 fopt(1,n),fbsav6(1,1,isect) , iparsens)
179 ELSE
180 CALL rgwalt(
181 1 nprw(n3),rwbuf(1,n),frwl6(1,1,n),pmain,fsav(1,n),
182 2 fopt(1,n),rbid , iparsens)
183 ENDIF
184 END DO
185 END IF
186
187!$OMP END SINGLE
188
189 RETURN
190 END
191!||====================================================================
192!|| rgwal0_imp ../engine/source/constraints/general/rwall/rgwal0.F
193!||--- called by ------------------------------------------------------
194!|| imp_buck ../engine/source/implicit/imp_buck.F
195!|| imp_chkm ../engine/source/implicit/imp_solv.F
196!|| imp_solv ../engine/source/implicit/imp_solv.F
197!||--- calls -----------------------------------------------------
198!|| fv_rwl ../engine/source/constraints/general/rwall/srw_imp.F
199!|| getdyna_a ../engine/source/implicit/imp_dyna.f
200!|| rgwalc ../engine/source/constraints/general/rwall/rgwalc.F
201!|| rgwall ../engine/source/constraints/general/rwall/rgwall.F
202!|| rgwalp ../engine/source/constraints/general/rwall/rgwalp.F
203!|| rgwals ../engine/source/constraints/general/rwall/rgwals.f
204!|| rgwalt ../engine/source/constraints/general/rwall/rgwal0.F
205!|| spmd_exch_fr6 ../engine/source/mpi/kinematic_conditions/spmd_exch_fr6.F
206!|| zeror ../engine/source/system/zero.F
207!||====================================================================
208 SUBROUTINE rgwal0_imp(X ,D ,V ,RWBUF ,LPRW ,
209 1 NPRW ,MS ,FSAV ,FR_WALL ,FOPT ,
210 2 RWSAV ,WEIGHT ,FSAVD ,NT_RW ,
211 3 IDDL ,IKC ,ICOMV ,NDOF ,FRWL6 ,WEIGHT_MD,
212 4 DIMFB , FBSAV6,STABSEN,TABSENSOR, WFEXT, WFEXT_MD)
213C-----------------------------------------------
214C I m p l i c i t T y p e s
215C-----------------------------------------------
216#include "implicit_f.inc"
217#include "comlock.inc"
218C-----------------------------------------------
219C C o m m o n B l o c k s
220C-----------------------------------------------
221#include "com01_c.inc"
222#include "com04_c.inc"
223#include "param_c.inc"
224#include "task_c.inc"
225#include "scr03_c.inc"
226#include "com08_c.inc"
227#include "impl1_c.inc"
228C-----------------------------------------------
229C D u m m y A r g u m e n t s
230C-----------------------------------------------
231 INTEGER LPRW(*), NPRW(*), FR_WALL(NSPMD+2,*), WEIGHT(*),
232 . NT_RW,IDDL(*),IKC(*),NDOF(*),ICOMV,WEIGHT_MD(*),
233 . DIMFB,STABSEN,TABSENSOR(*)
234 my_real X(3,NUMNOD), D(3,NUMNOD), V(3,NUMNOD),RWBUF(NRWLP,*),RWSAV(*),MS(*),
235 . FSAV(NTHVKI,*), FOPT(6,*),FSAVD(NTHVKI,*)
236 DOUBLE PRECISION FRWL6(7,6,NRWALL)
237 DOUBLE PRECISION FBSAV6(12,6,DIMFB),RBID(12,6)
238 DOUBLE PRECISION,INTENT(INOUt) :: WFEXT, WFEXT_MD
239C-----------------------------------------------
240C L o c a l V a r i a b l e s
241C-----------------------------------------------
242 INTEGER K, N, N2, N3, N4, N5, N6, ITYP, ISL, IFQ, ILAGM,
243 . nds,imp, pmain, ibid,iparsens,isect
244 my_real a(3,numnod),dti
245C-----------------------------------------------
246 rbid = zero
247C Init global result to 0
248
249C for the moment RGWAL0 is called in monoprocessor, so no need of // do loop
250c!$OMP DO
251 DO n = 1, nrwall
252 DO k = 1, 6
253 frwl6(1,k,n) = zero
254 frwl6(2,k,n) = zero
255 frwl6(3,k,n) = zero
256 frwl6(4,k,n) = zero
257 frwl6(5,k,n) = zero
258 frwl6(6,k,n) = zero
259 frwl6(7,k,n) = zero
260 END DO
261 END DO
262c!$OMP END DO
263
264 nds=0
265 imp=1
266 IF (idyna > 0) THEN
267 CALL getdyna_a(1 ,numnod ,a )
268 ELSE
269 CALL zeror(a,numnod)
270 END IF
271 IF (icomv == 1) THEN
272 dti = one/dt2
273 DO n=1,numnod
274 v(1,n)=d(1,n)*dti
275 v(2,n)=d(2,n)*dti
276 v(3,n)=d(3,n)*dti
277 ENDDO
278 ENDIF
279 isl = 1
280 k=1
281 DO n=1,nrwall
282 n2=n +nrwall
283 n3=n2+nrwall
284 n4=n3+nrwall
285 n5=n4+nrwall
286 n6=n5+nrwall
287
288 ityp= nprw(n4)
289 ilagm= 0
290 IF (codvers >= 44) THEN
291 IF (nprw(n6) == 1) ilagm=1
292 ENDIF
293 IF(ityp == 1.AND.ilagm == 0)THEN
294 CALL rgwall(
295 + x ,a ,v ,rwbuf(1,n),lprw(k),
296 + nprw(n) ,nprw(n2) ,nprw(n3) ,ms ,weight ,
297 + nprw(n5),rwsav(isl),frwl6(1,1,n),imp ,nt_rw ,
298 + iddl ,ikc ,ndof ,ibid ,weight_md, wfext, wfext_md)
299 ELSEIF(ityp == 2)THEN
300 CALL rgwalc(
301 + x ,a ,v ,rwbuf(1,n),lprw(k),
302 + nprw(n) ,nprw(n2) ,nprw(n3),ms ,weight ,
303 + nprw(n5),frwl6(1,1,n),imp ,nt_rw ,iddl ,
304 + ikc ,ndof ,ibid ,weight_md ,wfext ,wfext_md)
305 ELSEIF(ityp == 3)THEN
306 CALL rgwals(
307 + x ,a ,v ,rwbuf(1,n),lprw(k),
308 + nprw(n) ,nprw(n2) ,nprw(n3),ms ,weight ,
309 + nprw(n5),frwl6(1,1,n),imp ,nt_rw ,iddl ,
310 + ikc ,ndof ,ibid ,weight_md ,wfext, wfext_md)
311 ELSEIF(ityp == 4)THEN
312 CALL rgwalp(
313 + x ,a ,v ,rwbuf(1,n),lprw(k),
314 + nprw(n) ,nprw(n2) ,nprw(n3),ms ,weight ,
315 + nprw(n5),frwl6(1,1,n),imp ,nt_rw ,iddl ,
316 + ikc ,ndof ,ibid ,weight_md ,wfext, wfext_md)
317 ENDIF
318
319 k=k+nprw(n)
320 ifq = nint(rwbuf(15,n))
321 IF (sminver < 9.OR.ifq > 0) isl=isl+nprw(n)*3
322 IF(nprw(n4) == -1)k=k+nint(rwbuf(8,n))
323 END DO
324
325C
326C Traitements Speciaux : Communications SPMD si moving present
327C + Sauvegarde Force et Impultion main
328C
329 IF(imconv == 1) THEN
330 DO n=1,nrwall
331 n2=n +nrwall
332 n3=n2+nrwall
333 n4=n3+nrwall
334 n5=n4+nrwall
335 n6=n5+nrwall
336 IF(nprw(n3) /= 0) THEN
337 IF(nspmd > 1) THEN
338C if processor concerned by the rgwall
339 IF(fr_wall(ispmd+1,n) /= 0) THEN
340 CALL spmd_exch_fr6(fr_wall(1,n),frwl6(1,1,n),7*6)
341 ENDIF
342 pmain = fr_wall(nspmd+2,n)
343 ELSE
344 pmain = 1
345 ENDIF
346 ELSE
347 pmain = 1
348 END IF
349C
350 iparsens=0
351 isect=0
352 IF(stabsen/=0) isect=tabsensor(n+nsect+nintsub+ninter+1)-
353 . tabsensor(n+nsect+nintsub+ninter)
354 IF(isect/=0) THEN
355 iparsens=1
356 CALL rgwalt(
357 1 nprw(n3),rwbuf(1,n),frwl6(1,1,n),pmain,fsav(1,n),
358 2 fopt(1,n),fbsav6(1,1,isect) , iparsens)
359 ELSE
360 CALL rgwalt(
361 1 nprw(n3),rwbuf(1,n),frwl6(1,1,n),pmain,fsav(1,n),
362 2 fopt(1,n),rbid , iparsens)
363 ENDIF
364 END DO
365 END IF
366
367 IF (nt_rw > 0) THEN
368 CALL fv_rwl(iddl ,ikc ,ndof ,d ,v ,a )
369 ENDIF
370
371 RETURN
372 END
373
374!||====================================================================
375!|| rgwalf ../engine/source/constraints/general/rwall/rgwal0.F
376!||--- called by ------------------------------------------------------
377!|| resol ../engine/source/engine/resol.F
378!||====================================================================
379 SUBROUTINE rgwalf(A ,RWBUF ,NPRW ,MS )
380C-----------------------------------------------
381C I m p l i c i t T y p e s
382C-----------------------------------------------
383#include "implicit_f.inc"
384#include "comlock.inc"
385C-----------------------------------------------
386C C o m m o n B l o c k s
387C-----------------------------------------------
388#include "com04_c.inc"
389#include "param_c.inc"
390C-----------------------------------------------
391C D u m m y A r g u m e n t s
392C-----------------------------------------------
393 INTEGER NPRW(NRWALL,NNPRW)
394 my_real A(3,NUMNOD),RWBUF(NRWLP,*),MS(*)
395C-----------------------------------------------
396C L o c a l V a r i a b l e s
397C-----------------------------------------------
398 INTEGER N, MSR, ITYP, ILAGM,IPEN
399 my_real DM
400C-----------------------------------------------
401C
402C RWL(17) = Fx
403C RWL(18) = Fy
404C RWL(19) = Fz
405C RWL(20) = Somme (Xslv)
406C
407 DO n=1,nrwall
408 ityp= nprw(n,4)
409 ilagm= 0
410 IF (nprw(n,6) == 1) ilagm=1
411 ipen = nprw(n,9)
412 IF(ityp >= 1.AND.ityp <= 4.AND.ilagm == 0.AND.ipen == 0)THEN
413 msr = nprw(n,3)
414 IF(msr /= 0)THEN
415 dm = ms(msr)+ rwbuf(20,n)
416 IF(dm /= zero) THEN
417 dm = ms(msr) / dm
418 a(1,msr) = (a(1,msr) + rwbuf(17,n))*dm
419 a(2,msr) = (a(2,msr) + rwbuf(18,n))*dm
420 a(3,msr) = (a(3,msr) + rwbuf(19,n))*dm
421 ENDIF
422 ENDIF
423 ENDIF
424 END DO
425
426C
427 RETURN
428 END
429
430!||====================================================================
431!|| rgwalt ../engine/source/constraints/general/rwall/rgwal0.F
432!||--- called by ------------------------------------------------------
433!|| rgwal0 ../engine/source/constraints/general/rwall/rgwal0.F
434!|| rgwal0_imp ../engine/source/constraints/general/rwall/rgwal0.F
435!|| rgwal0_pen ../engine/source/constraints/general/rwall/rgwall_pen.F90
436!||====================================================================
437 SUBROUTINE rgwalt(MSR ,RWL,FRWL6,PMAIN,FSAV,
438 2 FOPT,FBSAV6,IPARSENS)
439C-----------------------------------------------
440C I m p l i c i t T y p e s
441C-----------------------------------------------
442#include "implicit_f.inc"
443#include "comlock.inc"
444C-----------------------------------------------
445C C o m m o n B l o c k s
446C-----------------------------------------------
447#include "com08_c.inc"
448#include "sms_c.inc"
449#include "task_c.inc"
450C-----------------------------------------------
451C D u m m y A r g u m e n t s
452C-----------------------------------------------
453 INTEGER MSR, PMAIN, IPARSENS, I
454 my_real RWL(*), FSAV(*),FOPT(6),DIVDT12
455 DOUBLE PRECISION FRWL6(7,6)
456 DOUBLE PRECISION FBSAV6(12,6)
457C-----------------------------------------------
458C L o c a l V a r i a b l e s
459C-----------------------------------------------
460 my_real FXN, FYN, FZN, FXT, FYT, FZT, XMT
461C-----------------------------------------------
462 fxn = frwl6(1,1)+frwl6(1,2)+frwl6(1,3)+
463 . frwl6(1,4)+frwl6(1,5)+frwl6(1,6)
464 fyn = frwl6(2,1)+frwl6(2,2)+frwl6(2,3)+
465 . frwl6(2,4)+frwl6(2,5)+frwl6(2,6)
466 fzn = frwl6(3,1)+frwl6(3,2)+frwl6(3,3)+
467 . frwl6(3,4)+frwl6(3,5)+frwl6(3,6)
468 xmt = frwl6(4,1)+frwl6(4,2)+frwl6(4,3)+
469 . frwl6(4,4)+frwl6(4,5)+frwl6(4,6)
470 fxt = frwl6(5,1)+frwl6(5,2)+frwl6(5,3)+
471 . frwl6(5,4)+frwl6(5,5)+frwl6(5,6)
472 fyt = frwl6(6,1)+frwl6(6,2)+frwl6(6,3)+
473 . frwl6(6,4)+frwl6(6,5)+frwl6(6,6)
474 fzt = frwl6(7,1)+frwl6(7,2)+frwl6(7,3)+
475 . frwl6(7,4)+frwl6(7,5)+frwl6(7,6)
476C
477 IF(dt12 /= zero)THEN
478 divdt12 = one / dt12
479 ELSE
480 divdt12 = zero
481 ENDIF
482
483 IF (iparsens /= 0)THEN
484 DO i=1,6
485 fbsav6(1,i) = frwl6(1,i)*divdt12
486 fbsav6(2,i) = frwl6(2,i)*divdt12
487 fbsav6(3,i) = frwl6(3,i)*divdt12
488 fbsav6(4,i) = frwl6(5,i)*divdt12
489 fbsav6(5,i) = frwl6(6,i)*divdt12
490 fbsav6(6,i) = frwl6(7,i)*divdt12
491 ENDDO
492 ENDIF
493C
494 IF(idtmins==0.AND.idtmins_int==0)THEN
495C change of formulation for F and XMT stored in RWL and applied at the beginning of the next cycle
496 rwl(17)=(fxn+fxt)*divdt12
497 rwl(18)=(fyn+fyt)*divdt12
498 rwl(19)=(fzn+fzt)*divdt12
499 rwl(20)=xmt
500C test to accumulate only once in multiprocessor mode in the moving case
501 IF(ispmd+1 == pmain.OR. msr == 0) THEN
502 fsav(1)=fsav(1)+fxn
503 fsav(2)=fsav(2)+fyn
504 fsav(3)=fsav(3)+fzn
505 fsav(4)=fsav(4)+fxt
506 fsav(5)=fsav(5)+fyt
507 fsav(6)=fsav(6)+fzt
508 fopt(1)=fopt(1)+rwl(17)
509 fopt(2)=fopt(2)+rwl(18)
510 fopt(3)=fopt(3)+rwl(19)
511 END IF
512 ELSE
513 rwl(17)=rwl(17)+(fxn+fxt)*divdt12
514 rwl(18)=rwl(18)+(fyn+fyt)*divdt12
515 rwl(19)=rwl(19)+(fzn+fzt)*divdt12
516 rwl(20)=rwl(20)+xmt
517C test to accumulate only once in multiprocessor mode in the moving case
518 IF(ispmd+1 == pmain.OR. msr == 0) THEN
519 fsav(1)=fsav(1)+fxn
520 fsav(2)=fsav(2)+fyn
521 fsav(3)=fsav(3)+fzn
522 fsav(4)=fsav(4)+fxt
523 fsav(5)=fsav(5)+fyt
524 fsav(6)=fsav(6)+fzt
525 fopt(1)=fopt(1)+(fxn+fxt)*divdt12
526 fopt(2)=fopt(2)+(fyn+fyt)*divdt12
527 fopt(3)=fopt(3)+(fzn+fzt)*divdt12
528 END IF
529 END IF
530C
531 RETURN
532 END
#define my_real
Definition cppsort.cpp:32
subroutine getdyna_a(nodft, nodlt, a)
Definition imp_dyna.F:1909
subroutine rgwal0_imp(x, d, v, rwbuf, lprw, nprw, ms, fsav, fr_wall, fopt, rwsav, weight, fsavd, nt_rw, iddl, ikc, icomv, ndof, frwl6, weight_md, dimfb, fbsav6, stabsen, tabsensor, wfext, wfext_md)
Definition rgwal0.F:213
subroutine rgwalt(msr, rwl, frwl6, pmain, fsav, fopt, fbsav6, iparsens)
Definition rgwal0.F:439
subroutine rgwal0(x, a, v, rwbuf, lprw, nprw, ms, fsav, fr_wall, fopt, rwsav, weight, frwl6, nodnx_sms, weight_md, dimfb, fbsav6, stabsen, tabsensor, wfext, wfext_md)
Definition rgwal0.F:40
subroutine rgwalf(a, rwbuf, nprw, ms)
Definition rgwal0.F:380
subroutine rgwalc(x, a, v, rwl, nsw, nsn, itied, msr, ms, weight, icont, frwl6, imp_s, nt_rw, iddl, ikc, ndof, nodnx_sms, weight_md, wfext, wfext_md)
Definition rgwalc.F:37
subroutine rgwall(x, a, v, rwl, nsw, nsn, itied, msr, ms, weight, icont, rwsav, frwl6, imp_s, nt_rw, iddl, ikc, ndof, nodnx_sms, weight_md, wfext, wfext_md)
Definition rgwall.F:37
subroutine rgwalp(x, a, v, rwl, nsw, nsn, itied, msr, ms, weight, icont, frwl6, imp_s, nt_rw, iddl, ikc, ndof, nodnx_sms, weight_md, wfext, wfext_md)
Definition rgwalp.F:36
subroutine rgwals(x, a, v, rwl, nsw, nsn, itied, msr, ms, weight, icont, frwl6, imp_s, nt_rw, iddl, ikc, ndof, nodnx_sms, weight_md, wfext, wfext_md)
Definition rgwals.F:36
subroutine spmd_exch_fr6(fr, fs6, len)
subroutine fv_rwl(iddl, ikc, ndof, ud, v, a)
Definition srw_imp.F:33
subroutine my_barrier
Definition machine.F:31
subroutine zeror(a, n)
Definition zero.F:39