OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
eporin3.F
Go to the documentation of this file.
1Copyright> OpenRadioss
2Copyright> Copyright (C) 1986-2025 Altair Engineering Inc.
3Copyright>
4Copyright> This program is free software: you can redistribute it and/or modify
5Copyright> it under the terms of the GNU Affero General Public License as published by
6Copyright> the Free Software Foundation, either version 3 of the License, or
7Copyright> (at your option) any later version.
8Copyright>
9Copyright> This program is distributed in the hope that it will be useful,
10Copyright> but WITHOUT ANY WARRANTY; without even the implied warranty of
11Copyright> MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12Copyright> GNU Affero General Public License for more details.
13Copyright>
14Copyright> You should have received a copy of the GNU Affero General Public License
15Copyright> along with this program. If not, see <https://www.gnu.org/licenses/>.
16Copyright>
17Copyright>
18Copyright> Commercial Alternative: Altair Radioss Software
19Copyright>
20Copyright> As an alternative to this open-source version, Altair also offers Altair Radioss
21Copyright> software under a commercial license. Contact Altair to discuss further if the
22Copyright> commercial version may interest you: https://www.altair.com/radioss/.
23!||====================================================================
24!|| eporin3 ../starter/source/ale/ale3d/eporin3.F
25!||--- called by ------------------------------------------------------
26!|| initia ../starter/source/elements/initia/initia.F
27!||--- uses -----------------------------------------------------
28!||====================================================================
29 SUBROUTINE eporin3(IXS ,VEUL,ALE_CONNECTIVITY,GEO,NFT,NEL)
30C-----------------------------------------------
31C M o d u l e s
32C-----------------------------------------------
34C-----------------------------------------------
35C I m p l i c i t T y p e s
36C-----------------------------------------------
37#include "implicit_f.inc"
38C-----------------------------------------------
39C G l o b a l P a r a m e t e r s
40C-----------------------------------------------
41#include "param_c.inc"
42#include "com04_c.inc"
43C-----------------------------------------------
44C D u m m y A r g u m e n t s
45C-----------------------------------------------
46 INTEGER, INTENT(IN) :: IXS(NIXS,NUMELS), NFT, NEL
47 my_real :: geo(npropg,numgeo),veul(lveul,*)
48 TYPE(t_ale_connectivity), INTENT(INOUT) :: ALE_CONNECTIVITY
49C-----------------------------------------------
50C L o c a l V a r i a b l e s
51C-----------------------------------------------
52 INTEGER :: I,II,J,NG,JAD,JVOI,IGT,NG1,IAD1
53 my_real :: nx,ny,nz,poro
54C-----------------------------------------------
55C S o u r c e L i n e s
56C-----------------------------------------------
57 DO i=1,nel
58 ii=nft+i
59 iad1 = ale_connectivity%ee_connect%iad_connect(ii)
60 DO j=1,6
61 jad=13+j
62 nx=veul(jad ,ii)
63 ny=veul(jad+6,ii)
64 nz=veul(jad+12,ii)
65 poro=one
66 ng=ixs(10,ii)
67 IF(geo(12,ng) == 15)THEN
68 ! --- Normal vector is modified for porous element
69 poro=geo(21,ng)
70 nx=nx*poro
71 ny=ny*poro
72 nz=nz*poro
73 ENDIF
74 jvoi = ale_connectivity%ee_connect%connected(iad1 + j - 1)
75 ! --- Normal vector is modified if adjacent element is porous
76 IF(jvoi > 0)THEN
77 ng1=ixs(10,jvoi)
78 IF(ng1 /= 0.AND.ng1 /= ng)THEN
79 igt=int(geo(12,ng1))
80 IF(igt == 15.AND.geo(21,ng1) < poro) THEN
81 nx=nx*geo(21,ng1)
82 ny=ny*geo(21,ng1)
83 nz=nz*geo(21,ng1)
84 ENDIF
85 ENDIF
86 ENDIF
87 veul(jad,ii)=nx
88 veul(jad+6,ii)=ny
89 veul(jad+12,ii)=nz
90 END DO !J=1,6
91 END DO !I=1,NEL
92C-----------------------------------------------
93 RETURN
94 END
#define my_real
Definition cppsort.cpp:32
subroutine eporin3(ixs, veul, ale_connectivity, geo, nft, nel)
Definition eporin3.F:30
subroutine poro(geo, nodpor, ms, x, v, w, af, am, skew, weight, nporgeo)
Definition poro.F:40