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, 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(inout) lwamp_l,
integer, intent(inout) lwanmp_l,
integer, intent(in) itherm )

Definition at line 29 of file setlenwa.F.

35C Attention les dummy peuvent etre soit locaux soit globaux suivant appel
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 LENWA0,NTHWA0,NAIRWA0,
54 . NUMELS0,NUMELQ0,NUMELC0,NUMELTG0,NUMELT0,NUMELP0,
55 . NUMELR0,NUMNOD0,NMNT0,L_MUL_LAG1,L_MUL_LAG,MAXNX0,
56 . LWASPH0,NUMSPH0,LWASPIO,NRCVVOIS0
57C-----------------------------------------------
58C L o c a l V a r i a b l e s
59C-----------------------------------------------
60 INTEGER NFLUWA, NBHOLWA, NAIRWA, NINTWA, NXELWA, NSPHWA,
61 . NASSNMP, NASSMP, NIDELWA, NWASPH, MSPR,
62 . IUN,LENVOISWA
63C-----------------------------------------------
64 iun = 1
65C---------------------------------------------------------------------
66C SPH
67 nsphwa = max(2*kvoisph,4*kvoisph,
68 . 16*numsph0,lwaspio) ! 19*NUMSPH0 enleve (tri en auto)
69C work array WASPH, prive au SPH.
70 lwasph0=17*numsph0+min(iun,nsphio)*3*numsph0
71 . +min(iun,nsphsol)*numsph0
72C---------------------------------------------------------------------
73C ALE / CFD
74 nfluwa = max(iale,itherm,ieuler) * max(1,nmult) *
75 . max(7 * (numels0+numelq0),3 * numnod0)
76 nbholwa = max(iale,itherm,ieuler) * nmult * numelq0
77 lenvoiswa = 3 * ( numnod0 + nrcvvois0 )
78C AirBag
79 nairwa = max(nairwa0, 4 * (numelc0 + numeltg0 + ibagsurf)) ! en toute rigueur NAIRWA0 et IBAGSURF locaux
80C Interface
81 nintwa = nmnt0+l_mul_lag1 ! en toute rigueur NMNT local
82C
83C Assemblage SPMD : tout en dynamique
84 nassnmp = 0
85 nassmp = 0
86C shooting nodes
87 nidelwa = 3*numnod0
88C lenwa non parallele
89 lwanmp_l = max(nthwa0,nassnmp,l_mul_lag)
90C---------------------------------------------------------------------
91 nxelwa = 22*maxnx0 ! en toute rigueur MAXNX local
92C lenwa parallele
93 lwamp_l = max(nairwa,nintwa,nfluwa+nbholwa,nassmp,nxelwa,nsphwa,
94 + nidelwa,lenvoiswa)
95C
96C MSPR utilise dans le starter
97 mspr = max(4*numelr0,nparg*ngroup)
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 : parametre servant a allouer les buffer de comm interface 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