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