OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
preplyxfem.F File Reference
#include "implicit_f.inc"
#include "com04_c.inc"
#include "param_c.inc"
#include "com01_c.inc"

Go to the source code of this file.

Functions/Subroutines

subroutine preplyxfem (ms_ply0, zi_ply0, iel, inod, ixc, ms_ply, zi_ply, addcne, msz20, msz2)
subroutine fillcne_pxfem (iel, inod, ixc, cep, addcne, cne, cel)

Function/Subroutine Documentation

◆ fillcne_pxfem()

subroutine fillcne_pxfem ( integer, dimension(*) iel,
integer, dimension(*) inod,
integer, dimension(nixc,*) ixc,
integer, dimension(*) cep,
integer, dimension(0:*) addcne,
integer, dimension(*) cne,
integer, dimension(*) cel )

Definition at line 102 of file preplyxfem.F.

104 use element_mod , only : nixc
105C-----------------------------------------------
106C I m p l i c i t T y p e s
107C-----------------------------------------------
108#include "implicit_f.inc"
109C-----------------------------------------------
110C C o m m o n B l o c k s
111C-----------------------------------------------
112#include "com01_c.inc"
113#include "com04_c.inc"
114#include "param_c.inc"
115C-----------------------------------------------
116C D u m m y A r g u m e n t s
117C-----------------------------------------------
118 INTEGER IXC(NIXC,*),ADDCNE(0:*), CNE(*),IEL(*),INOD(*),
119 . CEP(*),CEL(*)
120C-----------------------------------------------
121C L o c a l V a r i a b l e s
122C-----------------------------------------------
123 INTEGER I, J, K, N, ADSKY(0:NPLYXFE+1),N1,PROC,NG,
124 . INDX, INDEX(NUMELC),P,II,NIN,INDEXC(2*NUMELC),
125 . WORK(70000),ITRI(NUMELC)
126C-----------------------------------------------
127C S o u r c e L i n e s
128C-----------------------------------------------
129C CALCULATION OF CNE ADDCNE
130C-----------------------------------------------
131 DO i = 0, nplyxfe + 1
132 adsky(i) = addcne(i)
133 ENDDO
134C
135C
136C sorting the following local elements Num User
137C
138 DO i = 1, numelc
139 itri(i) = ixc(7,i)
140 ENDDO
141 CALL my_orders(0,work,itri,indexc,numelc,1)
142
143 indx = 0
144 DO j=1,numelc
145 i = indexc(j)
146!! DO I = 1,NUMELC
147 IF(iel(i) > 0 )THEN
148 indx = indx + 1
149 DO k=1,4
150 n = ixc(k+1,i)
151 n1 = inod(n)
152 cne(adsky(n1)) = i
153 adsky(n1) = adsky(n1) + 1
154 ENDDO
155 index(indx) = i
156 ENDIF
157 ENDDO
158C
159 DO proc = 1, nspmd
160 nin = 0
161!! DO I=1,INDX
162 DO ii=1,numelc
163!! II = INDEX(I)
164 ng = ii + numels + numelq
165 p = cep(ng) + 1
166 IF (p == proc) THEN
167 j = iel(ii)
168 IF(j > 0) THEN
169 nin = nin + 1
170 cel(j) = nin
171 ENDIF
172 ENDIF
173 ENDDO
174 ENDDO
175C
176 RETURN
void my_orders(int *mode, int *iwork, int *data, int *index, int *n, int *irecl)
Definition my_orders.c:82

◆ preplyxfem()

subroutine preplyxfem ( ms_ply0,
zi_ply0,
integer, dimension(*) iel,
integer, dimension(*) inod,
integer, dimension(nixc,*) ixc,
ms_ply,
zi_ply,
integer, dimension(0:*) addcne,
msz20,
msz2 )

Definition at line 29 of file preplyxfem.F.

32 use element_mod , only : nixc
33C-----------------------------------------------
34C I m p l i c i t T y p e s
35C-----------------------------------------------
36#include "implicit_f.inc"
37C-----------------------------------------------
38C C o m m o n B l o c k s
39C-----------------------------------------------
40#include "com04_c.inc"
41#include "param_c.inc"
42C-----------------------------------------------
43C D u m m y A r g u m e n t s
44C-----------------------------------------------
45 INTEGER IXC(NIXC,*), ADDCNE(0:*),IEL(*),INOD(*)
46 my_real
47 . ms_ply0(numnod,*), zi_ply0(numnod,*),
48 . ms_ply(nplyxfe,*), zi_ply(nplyxfe,*),
49 . msz20(*),msz2(*)
50C-----------------------------------------------
51C L o c a l V a r i a b l e s
52C-----------------------------------------------
53 INTEGER I,II,K,J,N
55 . msz
56C-----------------------------------------------
57C S o u r c e L i n e s
58C-----------------------------------------------
59 addcne(0)=0
60 addcne(1)= 0
61 DO i=1,numnod
62 ii = inod(i)
63 addcne(i + 1) = 0
64 msz = zero
65 IF( ii > 0 )THEN
66 msz2(ii) = zero
67 DO j=1,nplymax
68 ms_ply(ii,j) = ms_ply0(i,j)
69 zi_ply(ii,j) = zi_ply0(i,j)
70C ementary compute
71cc MSZ2(II) = MSZ20(I)
72c nodale compute
73 msz2(ii) = msz2(ii) +
74 . ms_ply(ii,j)*zi_ply(ii,j)*zi_ply(ii,j)
75 ENDDO
76 IF(msz2(ii) == zero) msz2(ii) = ep30
77 ENDIF
78 ENDDO
79C
80 DO i=1,numelc
81 IF(iel(i) > 0 ) THEN
82 DO k=2,5
83 n = inod(ixc(k,i)) + 1
84 addcne(n) = addcne(n) + 1
85 ENDDO
86 ENDIF
87 ENDDO
88 addcne(1) = 1
89 DO i=2,nplyxfe + 1
90 addcne(i) = addcne(i) + addcne(i-1)
91 END DO
92C
93 RETURN
#define my_real
Definition cppsort.cpp:32