OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
aleconv.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!|| aleconve ../engine/source/ale/porous/aleconv.F
25!||--- called by ------------------------------------------------------
26!|| aleflow ../engine/source/ale/porous/aleflow.F
27!||--- calls -----------------------------------------------------
28!|| aleconv3 ../engine/source/ale/porous/aleconv.F
29!||--- uses -----------------------------------------------------
30!|| ale_connectivity_mod ../common_source/modules/ale/ale_connectivity_mod.F
31!||====================================================================
32 SUBROUTINE aleconve(VAR ,FLUX ,FLU1 ,PHI ,ALE_CONNECT ,PHIV)
33C-----------------------------------------------
34C D e s c r i p t i o n
35C-----------------------------------------------
37C-----------------------------------------------
38C D e s c r i p t i o n
39C-----------------------------------------------
40C This subroutine is related to porous material law 77
41C-----------------------------------------------
42C I m p l i c i t T y p e s
43C-----------------------------------------------
44#include "implicit_f.inc"
45C-----------------------------------------------
46C C o m m o n B l o c k s
47C-----------------------------------------------
48#include "mvsiz_p.inc"
49#include "com04_c.inc"
50C-----------------------------------------------
51C D u m m y A r g u m e n t s
52C-----------------------------------------------
53 my_real var(*),flux(mvsiz,6),flu1(*),phi(*),phiv(*)
54 TYPE(t_ale_connectivity), INTENT(IN) :: ALE_CONNECT
55C-----------------------------------------------
56C L o c a l V a r i a b l e s
57C-----------------------------------------------
58 INTEGER IOFF
59C-----------------------------------------------
60C S o u r c e L i n e s
61C-----------------------------------------------
62 ioff = numels
63 CALL aleconv3(var ,phi ,flux ,flu1 ,phiv ,ale_connect ,ioff)
64C-------------
65 RETURN
66 END SUBROUTINE aleconve
67c
68!||====================================================================
69!|| aleconv3 ../engine/source/ale/porous/aleconv.F
70!||--- called by ------------------------------------------------------
71!|| aleconve ../engine/source/ale/porous/aleconv.F
72!||--- uses -----------------------------------------------------
73!|| ale_connectivity_mod ../common_source/modules/ale/ale_connectivity_mod.F
74!||====================================================================
75 SUBROUTINE aleconv3(VTOT ,PHI ,FLUX ,FLU1 ,PHIV , ALE_CONNECT ,IOFF)
77C-----------------------------------------------
78C I m p l i c i t T y p e s
79C-----------------------------------------------
80#include "implicit_f.inc"
81#include "mvsiz_p.inc"
82C-----------------------------------------------
83C D u m m y A r g u m e n t s
84C-----------------------------------------------
85 INTEGER IOFF
86 my_real vtot(*), phi(*), flux(mvsiz,6), flu1(*),phiv(*)
87 TYPE(t_ale_connectivity), INTENT(IN) :: ALE_CONNECT
88C-----------------------------------------------
89C C o m m o n B l o c k s
90C-----------------------------------------------
91#include "com08_c.inc"
92#include "vect01_c.inc"
93C-----------------------------------------------
94C L o c a l V a r i a b l e s
95C-----------------------------------------------
96 INTEGER I, IE, IV,J, IAD2
97 my_real valvois(mvsiz,6),valel(mvsiz),vl(6)
98C-----------------------------------------------
99C S o u r c e L i n e s
100C-----------------------------------------------
101 DO i=lft,llt
102 ie =nft+i
103 valel(i)=phi(ie)
104 ENDDO
105C
106 DO i=lft,llt
107 DO j=1,6
108 ie =nft+i
109 iad2 = ale_connect%ee_connect%iad_connect(ie)
110 iv=ale_connect%ee_connect%connected(iad2 + j - 1)
111 IF(iv > 0)THEN
112 valvois(i,j)=phi(iv)
113 ELSEIF(iv == 0)THEN
114 valvois(i,j)= phiv(i)
115 ELSE
116 valvois(i,j)=phi(-iv+ioff)
117 ENDIF
118 ENDDO
119 ENDDO
120C
121 DO i=lft,llt
122 vl(1) = valvois(i,1)*flux(i,1)
123 vl(2) = valvois(i,2)*flux(i,2)
124 vl(3) = valvois(i,3)*flux(i,3)
125 vl(4) = valvois(i,4)*flux(i,4)
126 vl(5) = valvois(i,5)*flux(i,5)
127 vl(6) = valvois(i,6)*flux(i,6)
128 vtot(i)= vtot(i) + half * dt1 *(-valel(i)*flu1(i) - vl(1)-vl(2)-vl(3)-vl(4)-vl(5)-vl(6))
129 ENDDO
130C-----------
131 RETURN
132 END SUBROUTINE aleconv3
subroutine aleconve(var, flux, flu1, phi, ale_connect, phiv)
Definition aleconv.F:33
subroutine aleconv3(vtot, phi, flux, flu1, phiv, ale_connect, ioff)
Definition aleconv.F:76
#define my_real
Definition cppsort.cpp:32