OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
aflux0.F File Reference
#include "implicit_f.inc"
#include "com01_c.inc"
#include "com04_c.inc"
#include "com08_c.inc"
#include "vect01_c.inc"
#include "param_c.inc"
#include "task_c.inc"
#include "inter22.inc"

Go to the source code of this file.

Functions/Subroutines

subroutine aflux0 (iparg, elbuf_str, pm, ixs, ixq, v, w, x, flux, flu2, veul, fill, dfill, vol, ale_connect, alph, itask, nv46, ipm)

Function/Subroutine Documentation

◆ aflux0()

subroutine aflux0 ( integer, dimension(nparg,ngroup) iparg,
type (elbuf_struct_), dimension(ngroup), target elbuf_str,
pm,
integer, dimension(nixs,numels) ixs,
integer, dimension(7,numelq) ixq,
v,
w,
x,
flux,
flu2,
veul,
fill,
dfill,
vol,
type(t_ale_connectivity), intent(in) ale_connect,
alph,
integer itask,
integer nv46,
integer, dimension(npropmi,nummat) ipm )

Definition at line 47 of file aflux0.F.

51C-----------------------------------------------
52C M o d u l e s
53C-----------------------------------------------
54 USE initbuf_mod
55 USE elbufdef_mod
56 USE i22tri_mod
58 USE alefvm_mod , only:alefvm_param
59 use element_mod , only : nixs
60C-----------------------------------------------
61C I m p l i c i t T y p e s
62C-----------------------------------------------
63#include "implicit_f.inc"
64C-----------------------------------------------
65C C o m m o n B l o c k s
66C-----------------------------------------------
67#include "com01_c.inc"
68#include "com04_c.inc"
69#include "com08_c.inc"
70#include "vect01_c.inc"
71#include "param_c.inc"
72#include "task_c.inc"
73#include "inter22.inc"
74C-----------------------------------------------
75C D u m m y A r g u m e n t s
76C-----------------------------------------------
77 my_real pm, v, w, x
78 INTEGER IPARG(NPARG,NGROUP), IXS(NIXS,NUMELS), IXQ(7,NUMELQ), IPM(NPROPMI,NUMMAT)
79 INTEGER ITASK,NV46
80 my_real flux(*), flu2(*), veul(*), fill(numnod,*),dfill(numnod,*), vol(*), alph(2,*)
81 TYPE (ELBUF_STRUCT_), DIMENSION(NGROUP), TARGET :: ELBUF_STR
82 TYPE(t_ale_connectivity), INTENT(IN) :: ALE_CONNECT
83C-----------------------------------------------
84C L o c a l V a r i a b l e s
85C-----------------------------------------------
86 INTEGER NG, I, NF1,ISOLNOD,NSG,NEL
87 my_real udt
88 TYPE(G_BUFEL_) ,POINTER :: GBUF
89 TYPE(L_BUFEL_) ,POINTER :: LBUF1,LBUF2
90C-----------------------------------------------
91C S o u r c e L i n e s
92C-----------------------------------------------
93 IF(itask == 0) THEN
94 IF (nmult /= 0) THEN
95 DO ng=1,ngroup
96C ALE ON / OFF
97 IF (iparg(76, ng) == 1) cycle ! --> OFF
98 CALL initbuf(iparg ,ng ,
99 2 mtn ,llt ,nft ,iad ,ity ,
100 3 npt ,jale ,ismstr ,jeul ,jtur ,
101 4 jthe ,jlag ,jmult ,jhbe ,jivf ,
102 5 nvaux ,jpor ,jcvt ,jclose ,jplasol ,
103 6 irep ,iint ,igtyp ,israt ,isrot ,
104 7 icsen ,isorth ,isorthg ,ifailure,jsms )
105 IF (jmult == 0) cycle
106 gbuf => elbuf_str(ng)%GBUF
107 lbuf1 => elbuf_str(ng)%BUFLY(1)%LBUF(1,1,1)
108 lbuf2 => elbuf_str(ng)%BUFLY(2)%LBUF(1,1,1)
109 lft=1
110 IF (dt1 > zero)THEN
111 udt=one/dt1
112 ELSE
113 udt=zero
114 ENDIF
115 DO i=lft,llt
116 alph(1,i+nft)=lbuf1%FRAC(i)
117 alph(2,i+nft)=lbuf2%FRAC(i)
118 vol(i+nft)=gbuf%VOL(i)*udt
119 ENDDO
120 ENDDO
121c
122 ENDIF
123 ENDIF
124C--------------------
125 CALL my_barrier
126C--------------------
127 DO ng=itask+1,ngroup,nthread
128C ALE ON / OFF
129 IF (iparg(76, ng) == 1) cycle ! --> OFF
130 CALL initbuf(iparg ,ng ,
131 2 mtn ,llt ,nft ,iad ,ity ,
132 3 npt ,jale ,ismstr ,jeul ,jtur ,
133 4 jthe ,jlag ,jmult ,jhbe ,jivf ,
134 5 nvaux ,jpor ,jcvt ,jclose ,jplasol ,
135 6 irep ,iint ,igtyp ,israt ,isrot ,
136 7 icsen ,isorth ,isorthg ,ifailure,jsms )
137 IF (jale+jeul == 0) cycle
138 IF (iparg(8,ng) == 1) cycle
139 gbuf => elbuf_str(ng)%GBUF
140 nsg = iparg(10,ng)
141 isolnod = iparg(28,ng)
142 lft=1
143 nf1=nft+1
144 nel = llt
145c
146 IF(n2d == 0.AND.jeul == 0.AND. isolnod == 4)THEN
147 CALL a4flux3(pm,ixs,v,w,x,flux(6*nft+1),flu2(nf1),ale_connect)
148 ELSEIF(n2d == 0.AND.jeul == 0)THEN
149 IF(alefvm_param%IEnabled==0)THEN
150 CALL aflux3(pm,ixs,v,w,x,flux(6*nft+1),flu2(nf1),ale_connect,nsg,gbuf%TAG22)
151 ELSE
152 CALL alefvm_aflux3(pm ,ixs ,w ,flux(6*nft+1),
153 2 flu2(nf1),ale_connect,
154 3 ipm ,nv46 ,x ,
155 4 nel )
156 ENDIF
157 ELSEIF(n2d /= 0.AND.jeul == 0)THEN
158 CALL aflux2(pm,ixq,v,w,x,
159 . flux(4*nft+1),flu2(nf1),
160 . fill,dfill,vol,ale_connect,alph)
161 ELSEIF(n2d == 0.AND.jeul /= 0)THEN
162 IF(alefvm_param%IEnabled==0)THEN
163 CALL eflux3(pm,ixs,v,flux(6*nft+1),flu2(nf1),veul,ale_connect,gbuf%TAG22)
164 ELSE
165 CALL alefvm_eflux3(pm ,ixs ,flux(6*nft+1), flu2(nf1),
166 2 veul ,ale_connect ,ipm ,
167 3 nv46 ,x ,nel )
168 ENDIF
169 ELSEIF(n2d /= 0.AND.jeul /= 0)THEN
170 CALL eflux2(pm,ixq,v,x,flux(4*nft+1),flu2(nf1),fill,dfill,vol,ale_connect,alph)
171 ENDIF
172 ENDDO
173
174C-----------
175 CALL my_barrier
176C-----------
177
178 IF(int22 > 0)THEN
179 IF(i22_aleul == 2)THEN
180 CALL eflux3_int22_fvm(
181 . pm , ixs , flux(1) , flu2(1) ,
182 . iparg , elbuf_str , itask ,
183 . nv46 , ipm , x)
184 ELSE
185 CALL aflux3_int22_fvm(
186 . pm , ixs , flux(1) , flu2(1) ,
187 . iparg , elbuf_str , itask ,
188 . nv46 , ipm , x , w)
189 ENDIF
190 ENDIF
191
192C-----------
193 CALL my_barrier
194C-----------
195
196 RETURN
subroutine a4flux3(pm, ixs, v, w, x, flux, flu1, ale_connect)
Definition a4flux3.F:32
subroutine aflux2(pm, ixq, v, w, x, flux, flu1, fill, dfill, vol, ale_connect, alph)
Definition aflux2.F:36
subroutine aflux3(pm, ixs, v, w, x, flux, flu1, ale_connect, nsg, tag22)
Definition aflux3.F:33
subroutine aflux3_int22_fvm(pm, ixs, flux, flu1, iparg, elbuf_tab, itask, nv46, ipm, x, w)
subroutine alefvm_aflux3(pm, ixs, w, flux, flu1, ale_connect, ipm, nv46, x, nel)
subroutine alefvm_eflux3(pm, ixs, flux, flu1, veul, ale_connect, ipm, nv46, x, nel)
#define my_real
Definition cppsort.cpp:32
subroutine eflux2(pm, ixq, v, x, flux, flu1, fill, dfill, vol, ale_connect, alph)
Definition eflux2.F:35
subroutine eflux3(pm, ixs, v, flux, flu1, veul, ale_connect, tag22)
Definition eflux3.F:33
subroutine eflux3_int22_fvm(pm, ixs, flux, flu1, iparg, elbuf_tab, itask, nv46, ipm, x)
type(alefvm_param_), target alefvm_param
Definition alefvm_mod.F:121
subroutine initbuf(iparg, ng, mtn, llt, nft, iad, ity, npt, jale, ismstr, jeul, jtur, jthe, jlag, jmult, jhbe, jivf, mid, jpor, jcvt, jclose, jpla, irep, iint, igtyp, israt, isrot, icsen, isorth, isorthg, ifailure, jsms)
Definition initbuf.F:261
subroutine my_barrier
Definition machine.F:31