OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
arezo3.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!|| arezo3_mod ../engine/source/ale/ale3d/arezo3.F
25!||--- called by ------------------------------------------------------
26!|| arezon ../engine/source/ale/arezon.F
27!||====================================================================
29 CONTAINS
30!||====================================================================
31!|| arezo3 ../engine/source/ale/ale3d/arezo3.F
32!||--- called by ------------------------------------------------------
33!|| arezon ../engine/source/ale/arezon.F
34!||--- uses -----------------------------------------------------
35!|| ale_connectivity_mod ../common_source/modules/ale/ale_connectivity_mod.F
36!||====================================================================
37 SUBROUTINE arezo3(ALE_CONNECT,VAR,PHI,FLUX,VOL,IAD22)
38C-----------------------------------------------
39C M o d u l e s
40C-----------------------------------------------
42C-----------------------------------------------
43C I m p l i c i t T y p e s
44C-----------------------------------------------
45#include "implicit_f.inc"
46C-----------------------------------------------
47C G l o b a l P a r a m e t e r s
48C-----------------------------------------------
49#include "mvsiz_p.inc"
50#include "com04_c.inc"
51C-----------------------------------------------
52C D u m m y A r g u m e n t s
53C-----------------------------------------------
54 my_real :: var(*), phi(*), flux(6,mvsiz), vol(mvsiz), iad22(mvsiz)
55 TYPE(t_ale_connectivity), INTENT(IN) :: ALE_CONNECT
56C-----------------------------------------------
57C C o m m o n B l o c k s
58C-----------------------------------------------
59#include "com08_c.inc"
60#include "vect01_c.inc"
61#include "inter22.inc"
62C-----------------------------------------------
63C L o c a l V a r i a b l e s
64C-----------------------------------------------
65 INTEGER I, IE, IV1, IV2, IV3, IV4, IV5, IV6, IAD2
66C-----------------------------------------------
67C S o u r c e L i n e s
68C-----------------------------------------------
69
70C NOT YET TREATED WITH INTER22(OBSOLETE), MUST STACK REZONED VALUE WITH SUPERCELLS
71
72 IF(INT22 == 0)THEN
73 DO I=LFT,LLT
74 IE =NFT+I
75 IAD2 = ALE_CONNECT%ee_connect%iad_connect(IE)
76 IV1=ALE_CONNECT%ee_connect%connected(IAD2 + 1 - 1)
77 IV2=ALE_CONNECT%ee_connect%connected(IAD2 + 2 - 1)
78 IV3=ALE_CONNECT%ee_connect%connected(IAD2 + 3 - 1)
79 IV4=ALE_CONNECT%ee_connect%connected(IAD2 + 4 - 1)
80 IV5=ALE_CONNECT%ee_connect%connected(IAD2 + 5 - 1)
81 IV6=ALE_CONNECT%ee_connect%connected(IAD2 + 6 - 1)
82 IF(IV1 <= 0)IV1=IE
83 IF(IV2 <= 0)IV2=IE
84 IF(IV3 <= 0)IV3=IE
85 IF(IV4 <= 0)IV4=IE
86 IF(IV5 <= 0)IV5=IE
87 IF(IV6 <= 0)IV6=IE
88 IF (VOL(I) > ZERO) VAR(I) = VAR(I) + HALF*DT1*(PHI(IE)*
89 2 (FLUX(1,I)+FLUX(2,I)+FLUX(3,I)+FLUX(4,I)+FLUX(5,I)+FLUX(6,I))
90 3 -PHI(IV1)*FLUX(1,I)-PHI(IV2)*FLUX(2,I)-PHI(IV3)*FLUX(3,I)
91 4 -PHI(IV4)*FLUX(4,I)-PHI(IV5)*FLUX(5,I)-PHI(IV6)*FLUX(6,I))/
92 5 VOL(I)
93 ENDDO
94 ELSE
95 DO I=LFT,LLT
96 IE =NFT+I
97 IAD2 = ALE_CONNECT%ee_connect%iad_connect(IE)
98 IF(IAD22(I) == ZERO)CYCLE
99 IV1=ALE_CONNECT%ee_connect%connected(IAD2 + 1 - 1)
100 IV2=ALE_CONNECT%ee_connect%connected(IAD2 + 2 - 1)
101 IV3=ALE_CONNECT%ee_connect%connected(IAD2 + 3 - 1)
102 IV4=ALE_CONNECT%ee_connect%connected(IAD2 + 4 - 1)
103 IV5=ALE_CONNECT%ee_connect%connected(IAD2 + 5 - 1)
104 IV6=ALE_CONNECT%ee_connect%connected(IAD2 + 6 - 1)
105 IF(IV1 <= 0)IV1=IE
106 IF(IV2 <= 0)IV2=IE
107 IF(IV3 <= 0)IV3=IE
108 IF(IV4 <= 0)IV4=IE
109 IF(IV5 <= 0)IV5=IE
110 IF(IV6 <= 0)IV6=IE
111 IF (VOL(I) > ZERO) VAR(I) = VAR(I) + HALF*DT1*(PHI(IE)*
112 2 (FLUX(1,I)+FLUX(2,I)+FLUX(3,I)+FLUX(4,I)+FLUX(5,I)+FLUX(6,I))
113 3 -PHI(IV1)*FLUX(1,I)-PHI(IV2)*FLUX(2,I)-PHI(IV3)*FLUX(3,I)
114 4 -PHI(IV4)*FLUX(4,I)-PHI(IV5)*FLUX(5,I)-PHI(IV6)*FLUX(6,I))/
115 5 VOL(I)
116 ENDDO
117 ENDIF
118C-----------
119 RETURN
120 END SUBROUTINE AREZO3
121 END MODULE AREZO3_MOD
#define my_real
Definition cppsort.cpp:32
subroutine arezo3(ale_connect, var, phi, flux, vol, iad22)
Definition arezo3.F:38