OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
brezo2.F File Reference
#include "implicit_f.inc"
#include "com01_c.inc"
#include "com08_c.inc"
#include "vect01_c.inc"

Go to the source code of this file.

Functions/Subroutines

subroutine brezo2 (ale_connect, var, phi, flux, vol, bhole, nm)
subroutine brezo2_sig (ale_connect, sig, nv, phi, ndim, flux, vol, bhole, nm, nel)

Function/Subroutine Documentation

◆ brezo2()

subroutine brezo2 ( type(t_ale_connectivity), intent(in) ale_connect,
var,
phi,
flux,
vol,
integer, dimension(nmult,*) bhole,
integer nm )

Definition at line 30 of file brezo2.F.

31C-----------------------------------------------
32C M o d u l e s
33C-----------------------------------------------
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 "com08_c.inc"
44#include "vect01_c.inc"
45C-----------------------------------------------
46C D u m m y A r g u m e n t s
47C-----------------------------------------------
48 INTEGER BHOLE(NMULT,*),NM
49 my_real var(*), phi(*), flux(4,*), vol(*)
50 TYPE(t_ale_connectivity), INTENT(IN) :: ALE_CONNECT
51C-----------------------------------------------
52C L o c a l V a r i a b l e s
53C-----------------------------------------------
54 INTEGER I, IE, IV1, IV2, IV3, IV4, IAD2
55 my_real voln
56C-----------------------------------------------
57C S o u r c e L i n e s
58C-----------------------------------------------
59 IF(jmult == 0)THEN
60 DO i=lft,llt
61 ie =nft+i
62 iad2 = ale_connect%ee_connect%iad_connect(ie)
63 iv1=ale_connect%ee_connect%connected(iad2 + 1 - 1)
64 iv2=ale_connect%ee_connect%connected(iad2 + 2 - 1)
65 iv3=ale_connect%ee_connect%connected(iad2 + 3 - 1)
66 iv4=ale_connect%ee_connect%connected(iad2 + 4 - 1)
67 IF(iv1 <= zero)THEN
68 iv1=ie
69 ELSEIF(bhole(nm,ie) < zero .AND.abs(bhole(nm,iv1)) /= abs(bhole(nm,ie)))THEN
70 iv1=ie
71 ENDIF
72 IF(iv2 <= 0)THEN
73 iv2=ie
74 ELSEIF(bhole(nm,ie) < zero .AND.abs(bhole(nm,iv2)) /= abs(bhole(nm,ie)))THEN
75 iv2=ie
76 ENDIF
77 IF(iv3 <= 0)THEN
78 iv3=ie
79 ELSEIF(bhole(nm,ie) < zero .AND.abs(bhole(nm,iv3)) /= abs(bhole(nm,ie)))THEN
80 iv3=ie
81 ENDIF
82 IF(iv4 <= 0)THEN
83 iv4=ie
84 ELSEIF(bhole(nm,ie) < zero .AND.abs(bhole(nm,iv4)) /= abs(bhole(nm,ie)))THEN
85 iv4=ie
86 ENDIF
87 var(i) = var(i) + half * dt1 * (phi(ie)*
88 2 (flux(1,i)+flux(2,i)+flux(3,i)+flux(4,i))
89 3 -phi(iv1)*flux(1,i)-phi(iv2)*flux(2,i)-phi(iv3)*flux(3,i)
90 4 -phi(iv4)*flux(4,i)) / vol(i)
91 ENDDO !nexi i
92 ELSE
93 DO i=lft,llt
94 ie =nft+i
95 iad2 = ale_connect%ee_connect%iad_connect(ie)
96 iv1=ale_connect%ee_connect%connected(iad2 + 1 - 1)
97 iv2=ale_connect%ee_connect%connected(iad2 + 2 - 1)
98 iv3=ale_connect%ee_connect%connected(iad2 + 3 - 1)
99 iv4=ale_connect%ee_connect%connected(iad2 + 4 - 1)
100 IF(iv1 <= zero)THEN
101 iv1=ie
102 ELSEIF(bhole(nm,ie) < zero .AND.abs(bhole(nm,iv1)) /= abs(bhole(nm,ie)))THEN
103 iv1=ie
104 ENDIF
105 IF(iv2 <= zero)THEN
106 iv2=ie
107 ELSEIF(bhole(nm,ie) < zero .AND.abs(bhole(nm,iv2)) /= abs(bhole(nm,ie)))THEN
108 iv2=ie
109 ENDIF
110 IF(iv3 <= zero)THEN
111 iv3=ie
112 ELSEIF(bhole(nm,ie) < zero .AND.abs(bhole(nm,iv3)) /= abs(bhole(nm,ie)))THEN
113 iv3=ie
114 ENDIF
115 IF(iv4 <= zero)THEN
116 iv4=ie
117 ELSEIF(bhole(nm,ie) < zero .AND.abs(bhole(nm,iv4)) /= abs(bhole(nm,ie)))THEN
118 iv4=ie
119 ENDIF
120 voln=vol(i)-dt1 * (flux(1,i)+flux(2,i)+flux(3,i)+flux(4,i))
121 IF (voln > em15) THEN
122 var(i) = var(i) + half * dt1 * (phi(ie)*
123 2 (flux(1,i)+flux(2,i)+flux(3,i)+flux(4,i))
124 3 -phi(iv1)*flux(1,i)-phi(iv2)*flux(2,i)-phi(iv3)*flux(3,i)
125 4 -phi(iv4)*flux(4,i)) / max(em15,voln)
126 ENDIF
127 ENDDO
128 ENDIF
129 RETURN
#define my_real
Definition cppsort.cpp:32
#define max(a, b)
Definition macros.h:21

◆ brezo2_sig()

subroutine brezo2_sig ( type(t_ale_connectivity), intent(in) ale_connect,
sig,
integer nv,
phi,
integer ndim,
flux,
vol,
integer, dimension(nmult,*) bhole,
integer nm,
integer nel )

Definition at line 136 of file brezo2.F.

138C-----------------------------------------------
139C I m p l i c i t T y p e s
140C-----------------------------------------------
141#include "implicit_f.inc"
142C-----------------------------------------------
143C C o m m o n B l o c k s
144C-----------------------------------------------
145#include "com01_c.inc"
146#include "com08_c.inc"
147#include "vect01_c.inc"
148C-----------------------------------------------
149C D u m m y A r g u m e n t s
150C-----------------------------------------------
151 INTEGER NDIM,NV,NEL
152 INTEGER BHOLE(NMULT,*),NM
153 my_real sig(nel,ndim), phi(*), flux(4,*), vol(*)
154 TYPE(t_ale_connectivity), INTENT(IN) :: ALE_CONNECT
155C-----------------------------------------------
156C L o c a l V a r i a b l e s
157C-----------------------------------------------
158 INTEGER I, IE, IV1, IV2, IV3, IV4, IAD2
159 my_real voln
160C-----------------------------------------------
161C S o u r c e L i n e s
162C-----------------------------------------------
163 IF(jmult == 0)THEN
164 DO i=lft,llt
165 ie =nft+i
166 iad2 = ale_connect%ee_connect%iad_connect(ie)
167 iv1=ale_connect%ee_connect%connected(iad2 + 1 - 1)
168 iv2=ale_connect%ee_connect%connected(iad2 + 2 - 1)
169 iv3=ale_connect%ee_connect%connected(iad2 + 3 - 1)
170 iv4=ale_connect%ee_connect%connected(iad2 + 4 - 1)
171
172 IF(iv1 <= zero)THEN
173 iv1=ie
174 ELSEIF(bhole(nm,ie) < zero .AND.abs(bhole(nm,iv1)) /= abs(bhole(nm,ie)))THEN
175 iv1=ie
176 ENDIF
177 IF(iv2 <= 0)THEN
178 iv2=ie
179 ELSEIF(bhole(nm,ie) < zero .AND.abs(bhole(nm,iv2)) /= abs(bhole(nm,ie)))THEN
180 iv2=ie
181 ENDIF
182 IF(iv3 <= 0)THEN
183 iv3=ie
184 ELSEIF(bhole(nm,ie) < zero .AND.abs(bhole(nm,iv3)) /= abs(bhole(nm,ie)))THEN
185 iv3=ie
186 ENDIF
187 IF(iv4 <= 0)THEN
188 iv4=ie
189 ELSEIF(bhole(nm,ie) < zero .AND.abs(bhole(nm,iv4)) /= abs(bhole(nm,ie)))THEN
190 iv4=ie
191 ENDIF
192 sig(i,nv) = sig(i,nv) + half * dt1 * (
193 . phi(ie)*(flux(1,i)+flux(2,i)+flux(3,i)+flux(4,i))
194 . -phi(iv1)*flux(1,i)-phi(iv2)*flux(2,i)-phi(iv3)*flux(3,i)-phi(iv4)*flux(4,i)
195 . ) / vol(i)
196 ENDDO
197 ELSE
198 DO i=lft,llt
199 ie =nft+i
200 iad2 = ale_connect%ee_connect%iad_connect(ie)
201 iv1=ale_connect%ee_connect%connected(iad2 + 1 - 1)
202 iv2=ale_connect%ee_connect%connected(iad2 + 2 - 1)
203 iv3=ale_connect%ee_connect%connected(iad2 + 3 - 1)
204 iv4=ale_connect%ee_connect%connected(iad2 + 4 - 1)
205 IF(iv1 <= zero)THEN
206 iv1=ie
207 ELSEIF(bhole(nm,ie) < zero .AND.abs(bhole(nm,iv1)) /= abs(bhole(nm,ie)))THEN
208 iv1=ie
209 ENDIF
210 IF(iv2 <= zero)THEN
211 iv2=ie
212 ELSEIF(bhole(nm,ie) < zero .AND.abs(bhole(nm,iv2)) /= abs(bhole(nm,ie)))THEN
213 iv2=ie
214 ENDIF
215 IF(iv3 <= zero)THEN
216 iv3=ie
217 ELSEIF(bhole(nm,ie) < zero .AND.abs(bhole(nm,iv3)) /= abs(bhole(nm,ie)))THEN
218 iv3=ie
219 ENDIF
220 IF(iv4 <= zero)THEN
221 iv4=ie
222 ELSEIF(bhole(nm,ie) < zero .AND.abs(bhole(nm,iv4)) /= abs(bhole(nm,ie)))THEN
223 iv4=ie
224 ENDIF
225 voln=vol(i)-dt1 * (flux(1,i)+flux(2,i)+flux(3,i)+flux(4,i))
226 IF (voln > em15) THEN
227 sig(i,nv) = sig(i,nv) + half * dt1 * (phi(ie)* (flux(1,i)+flux(2,i)+flux(3,i)+flux(4,i))
228 . -phi(iv1)*flux(1,i)-phi(iv2)*flux(2,i)-phi(iv3)*flux(3,i)-phi(iv4)*flux(4,i)) / max(em15,voln)
229 ENDIF
230 ENDDO !next I=LFT,LLT
231 ENDIF
232C-----------------------------------------------
233 RETURN