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

Go to the source code of this file.

Functions/Subroutines

subroutine eporin3 (ixs, veul, ale_connectivity, geo, nft, nel)

Function/Subroutine Documentation

◆ eporin3()

subroutine eporin3 ( integer, dimension(nixs,numels), intent(in) ixs,
veul,
type(t_ale_connectivity), intent(inout) ale_connectivity,
geo,
integer, intent(in) nft,
integer, intent(in) nel )

Definition at line 29 of file eporin3.F.

30C-----------------------------------------------
31C M o d u l e s
32C-----------------------------------------------
34 use element_mod , only : nixs
35C-----------------------------------------------
36C I m p l i c i t T y p e s
37C-----------------------------------------------
38#include "implicit_f.inc"
39C-----------------------------------------------
40C G l o b a l P a r a m e t e r s
41C-----------------------------------------------
42#include "param_c.inc"
43#include "com04_c.inc"
44C-----------------------------------------------
45C D u m m y A r g u m e n t s
46C-----------------------------------------------
47 INTEGER, INTENT(IN) :: IXS(NIXS,NUMELS), NFT, NEL
48 my_real :: geo(npropg,numgeo),veul(lveul,*)
49 TYPE(t_ale_connectivity), INTENT(INOUT) :: ALE_CONNECTIVITY
50C-----------------------------------------------
51C L o c a l V a r i a b l e s
52C-----------------------------------------------
53 INTEGER :: I,II,J,NG,JAD,JVOI,IGT,NG1,IAD1
54 my_real :: nx,ny,nz,poro
55C-----------------------------------------------
56C S o u r c e L i n e s
57C-----------------------------------------------
58 DO i=1,nel
59 ii=nft+i
60 iad1 = ale_connectivity%ee_connect%iad_connect(ii)
61 DO j=1,6
62 jad=13+j
63 nx=veul(jad ,ii)
64 ny=veul(jad+6,ii)
65 nz=veul(jad+12,ii)
66 poro=one
67 ng=ixs(10,ii)
68 IF(geo(12,ng) == 15)THEN
69 ! --- Normal vector is modified for porous element
70 poro=geo(21,ng)
71 nx=nx*poro
72 ny=ny*poro
73 nz=nz*poro
74 ENDIF
75 jvoi = ale_connectivity%ee_connect%connected(iad1 + j - 1)
76 ! --- Normal vector is modified if adjacent element is porous
77 IF(jvoi > 0)THEN
78 ng1=ixs(10,jvoi)
79 IF(ng1 /= 0.AND.ng1 /= ng)THEN
80 igt=int(geo(12,ng1))
81 IF(igt == 15.AND.geo(21,ng1) < poro) THEN
82 nx=nx*geo(21,ng1)
83 ny=ny*geo(21,ng1)
84 nz=nz*geo(21,ng1)
85 ENDIF
86 ENDIF
87 ENDIF
88 veul(jad,ii)=nx
89 veul(jad+6,ii)=ny
90 veul(jad+12,ii)=nz
91 END DO !J=1,6
92 END DO !I=1,NEL
93C-----------------------------------------------
94 RETURN
#define my_real
Definition cppsort.cpp:32
subroutine poro(geo, nodpor, ms, x, v, w, af, am, skew, weight, nporgeo)
Definition poro.F:40