OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
setlenwa.F File Reference
#include "implicit_f.inc"
#include "com01_c.inc"
#include "com09_c.inc"
#include "sphcom.inc"
#include "param_c.inc"
#include "com04_c.inc"
#include "spmd_c.inc"

Go to the source code of this file.

Functions/Subroutines

subroutine setlenwa (lenwa0, nthwa0, nairwa0, numels0, numelq0, numelc0, numeltg0, numelt0, numelp0, numelr0, numnod0, nmnt0, l_mul_lag1, l_mul_lag, maxnx0, lwasph0, numsph0, lwaspio, nrcvvois0, ngroup_l, lwamp_l, lwanmp_l, itherm)
subroutine setmulti (ipari)

Function/Subroutine Documentation

◆ setlenwa()

subroutine setlenwa ( integer lenwa0,
integer nthwa0,
integer nairwa0,
integer numels0,
integer numelq0,
integer numelc0,
integer numeltg0,
integer numelt0,
integer numelp0,
integer numelr0,
integer numnod0,
integer nmnt0,
integer l_mul_lag1,
integer l_mul_lag,
integer maxnx0,
integer lwasph0,
integer numsph0,
integer lwaspio,
integer nrcvvois0,
integer, intent(in) ngroup_l,
integer, intent(inout) lwamp_l,
integer, intent(inout) lwanmp_l,
integer, intent(in) itherm )

Definition at line 29 of file setlenwa.F.

35C Please note the dummy can be either local or global following appeal
36C-----------------------------------------------
37C I m p l i c i t T y p e s
38C-----------------------------------------------
39#include "implicit_f.inc"
40C-----------------------------------------------
41C C o m m o n B l o c k s
42C-----------------------------------------------
43#include "com01_c.inc"
44#include "com09_c.inc"
45#include "sphcom.inc"
46#include "param_c.inc"
47C-----------------------------------------------
48C D u m m y A r g u m e n t s
49C-----------------------------------------------
50 INTEGER, INTENT(INOUT) :: LWAMP_L
51 INTEGER, INTENT(INOUT) :: LWANMP_L
52 INTEGER, INTENT(IN) :: ITHERM
53 INTEGER, INTENT(IN) :: NGROUP_L
54 INTEGER LENWA0,NTHWA0,NAIRWA0,
55 . NUMELS0,NUMELQ0,NUMELC0,NUMELTG0,NUMELT0,NUMELP0,
56 . NUMELR0,NUMNOD0,NMNT0,L_MUL_LAG1,L_MUL_LAG,MAXNX0,
57 . LWASPH0,NUMSPH0,LWASPIO,NRCVVOIS0
58C-----------------------------------------------
59C L o c a l V a r i a b l e s
60C-----------------------------------------------
61 INTEGER NFLUWA, NBHOLWA, NAIRWA, NINTWA, NXELWA, NSPHWA,
62 . NASSNMP, NASSMP, NIDELWA, MSPR,
63 . IUN,LENVOISWA
64C-----------------------------------------------
65 iun = 1
66C---------------------------------------------------------------------
67C SPH
68 nsphwa = max(2*kvoisph,4*kvoisph,
69 . 16*numsph0,lwaspio) ! 19*NUMSPH0 enleve (tri en auto)
70C work array WASPH, prive au SPH.
71 lwasph0=17*numsph0+min(iun,nsphio)*3*numsph0
72 . +min(iun,nsphsol)*numsph0
73C---------------------------------------------------------------------
74C ALE / CFD
75 nfluwa = max(iale,itherm,ieuler) * max(1,nmult) *
76 . max(7 * (numels0+numelq0),3 * numnod0)
77 nbholwa = max(iale,itherm,ieuler) * nmult * numelq0
78 lenvoiswa = 3 * ( numnod0 + nrcvvois0 )
79C AirBag
80 nairwa = max(nairwa0, 4 * (numelc0 + numeltg0 + ibagsurf)) ! In all nairwa0 and local Ibagsurf
81C Interface
82 nintwa = nmnt0+l_mul_lag1 ! Rigorously local nmnt
83C
84C SPMD assembly: all in dynamics
85 nassnmp = 0
86 nassmp = 0
87C shooting nodes
88 nidelwa = 3*numnod0
89C lenwa non parallele
90 lwanmp_l = max(nthwa0,nassnmp,l_mul_lag)
91C---------------------------------------------------------------------
92 nxelwa = 22*maxnx0 ! Rigorously Maxnx Local
93C lenwa parallele
94 lwamp_l = max(nairwa,nintwa,nfluwa+nbholwa,nassmp,nxelwa,nsphwa,
95 + nidelwa,lenvoiswa)
96C MSPR used in the starter
97 mspr = max(4*numelr0,nparg*ngroup_l)
98C
99 lenwa0 = max(lwamp_l,lwanmp_l,mspr)
100C
101 RETURN
#define min(a, b)
Definition macros.h:20
#define max(a, b)
Definition macros.h:21

◆ setmulti()

subroutine setmulti ( integer, dimension(npari,*) ipari)

Definition at line 109 of file setlenwa.F.

110C-----------------------------------------------
111C I m p l i c i t T y p e s
112C-----------------------------------------------
113#include "implicit_f.inc"
114C-----------------------------------------------
115C C o m m o n B l o c k s
116C-----------------------------------------------
117#include "com04_c.inc"
118#include "spmd_c.inc"
119#include "param_c.inc"
120#include "sphcom.inc"
121C-----------------------------------------------
122C D u m m y A r g u m e n t s
123C-----------------------------------------------
124 INTEGER IPARI(NPARI,*)
125C-----------------------------------------------
126C L o c a l V a r i a b l e s
127C-----------------------------------------------
128 INTEGER I, MULTIMP, ICONT, ITY
129C-----------------------------------------------
130C
131C MultiMAX: parameter used to allocate the Buffer of Comm Engine (SPMD)
132C
133 multimax = 0
134 icont = 0
135 DO i = 1, ninter
136 multimp = ipari(23,i)
137 IF(multimp<=4) THEN
138 multimax = max(multimax,4*multimp)
139 ELSEIF(multimp<=12)THEN
140 multimax= max(multimax,3*multimp)
141 ELSEIF(multimp>12)THEN
142 multimax= max(multimax,2*multimp)
143 END IF
144 ity = ipari(7,i)
145 IF(ity==7.OR.ity==10.OR.ity==11.OR. ity==22)icont=1
146 END DO
147 IF(numsph/=0.AND.multimax==0)multimax=1
148 IF(numelx/=0.AND.multimax==0)multimax=4
149 IF(ninter>0.AND.icont==0)multimax=100
150
151C
152 RETURN