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

Go to the source code of this file.

Functions/Subroutines

subroutine parsor0 (iadd, iparg, mater, el2fa, dd_iad, iadg, kxsp, ipartsp, nodglob)

Function/Subroutine Documentation

◆ parsor0()

subroutine parsor0 ( integer, dimension(*) iadd,
integer, dimension(nparg,*) iparg,
integer, dimension(*) mater,
integer, dimension(*) el2fa,
integer, dimension(nspmd+1,*) dd_iad,
integer, dimension(nspmd,*) iadg,
integer, dimension(nisp,*) kxsp,
integer, dimension(*) ipartsp,
integer, dimension(*) nodglob )

Definition at line 32 of file parsor0.F.

35C-----------------------------------------------
36C I m p l i c i t T y p e s
37C-----------------------------------------------
38#include "implicit_f.inc"
39C-----------------------------------------------
40C C o m m o n B l o c k s
41C-----------------------------------------------
42#include "com01_c.inc"
43#include "com04_c.inc"
44#include "sphcom.inc"
45#include "param_c.inc"
46#include "task_c.inc"
47#include "spmd_c.inc"
48C-----------------------------------------------
49C D u m m y A r g u m e n t s
50C-----------------------------------------------
51C REAL
52 INTEGER IADD(*),IPARG(NPARG,*),
53 . MATER(*),EL2FA(*),
54 . IADG(NSPMD,*),
55 . DD_IAD(NSPMD+1,*),
56 . KXSP(NISP,*),IPARTSP(*),
57 . NODGLOB(*)
58C-----------------------------------------------
59C REAL
61 . off
62 INTEGER II, IE, NG, ITY, LFT, LLT, KPT, N, I,
63 . NEL, IAD, NPAR, NFT, IPRT,
64 . NN1,NN2,NN3,NN4,NN5,NN6,NN7,NN8,NN9,NN10,
65 . JJ, INOD,
66 . NP(NUMSPH),BUF,BUFP
67C-----------------------------------------------
68C
69 nn1 = 1
70 nn2 = nn1 + numsph+maxpjet
71 ie = 0
72C-----------------------------------------------
73C MID
74C-----------------------------------------------
75 npar = 0
76 jj = 0
77C
78 DO 100 iprt = 1 , npart
79C
80 IF(mater(iprt)/=4) GOTO 100
81 npar = npar + 1
82 DO 90 ng=1,ngroup
83 nel =iparg(2,ng)
84 nft =iparg(3,ng)
85 iad =iparg(4,ng)
86 ity =iparg(5,ng)
87 lft=1
88 llt=nel
89 IF(ity==51)THEN
90C-----------------------------------------------
91C PARTICULES SPH.
92C-----------------------------------------------
93 DO 20 i=lft,llt
94 n = i + nft
95 IF(ipartsp(n)/=iprt) GOTO 20
96 inod=kxsp(3,n)
97 IF (nspmd == 1) THEN
98 ii = inod-1
99 CALL write_i_c(ii,1)
100 ELSE
101 np(jj+1) = nodglob(inod)-1
102 END IF
103 jj = jj+1
104 ie = ie + 1
105 el2fa(nn1+n) = ie
106 20 CONTINUE
107 ELSE
108 ENDIF
109 90 CONTINUE
110C-----------------------------------------------
111C PART ADRESS
112C-----------------------------------------------
113 iadd(npar) = ie
114 100 CONTINUE
115C
116 IF (nspmd > 1) THEN
117 IF (ispmd==0) THEN
118 bufp = npart
119 buf = numsphg
120 ELSE
121 bufp = 1
122 buf=1
123 END IF
124
125 CALL spmd_iglob_partn(iadd,npar,iadg,bufp)
126 CALL spmd_iget_partn(1,jj,np,npar,iadg,buf,1)
127 ELSE ! remplissage IADG pour compatibilite mono/multi
128 DO i = 1, npart
129 iadg(1,i) = iadd(i)
130 END DO
131 ENDIF
132C-----------------------------------------------
133 RETURN
#define my_real
Definition cppsort.cpp:32
subroutine spmd_iget_partn(size, nbf_l, np, nbpart, iadg, srbuf, iflag)
subroutine spmd_iglob_partn(iad, nbpart, iadg, sbuf)
void write_i_c(int *w, int *len)