OpenRadioss
2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
alefvm_expand_mom2.F
Go to the documentation of this file.
1
Copyright> OpenRadioss
2
Copyright> Copyright (C) 1986-2025 Altair Engineering Inc.
3
Copyright>
4
Copyright> This program is free software: you can redistribute it and/or modify
5
Copyright> it under the terms of the GNU Affero General Public License as published by
6
Copyright> the Free Software Foundation, either version 3 of the License, or
7
Copyright> (at your option) any later version.
8
Copyright>
9
Copyright> This program is distributed in the hope that it will be useful,
10
Copyright> but WITHOUT ANY WARRANTY; without even the implied warranty of
11
Copyright> MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
Copyright> GNU Affero General Public License for more details.
13
Copyright>
14
Copyright> You should have received a copy of the GNU Affero General Public License
15
Copyright> along with this program. If not, see <https://www.gnu.org/licenses/>.
16
Copyright>
17
Copyright>
18
Copyright> Commercial Alternative: Altair Radioss Software
19
Copyright>
20
Copyright> As an alternative to this open-source version, Altair also offers Altair Radioss
21
Copyright> software under a commercial license. Contact Altair to discuss further if the
22
Copyright> commercial version may interest you: https://www.altair.com/radioss/.
23
!||====================================================================
24
!|| alefvm_expand_mom2 ../engine/source/ale/alefvm/alefvm_expand_mom2.F
25
!||--- called by ------------------------------------------------------
26
!|| alefvm_scheme ../engine/source/ale/alefvm/alefvm_scheme.F
27
!||--- uses -----------------------------------------------------
28
!|| alefvm_mod ../common_source/modules/ale/alefvm_mod.F
29
!||====================================================================
30
SUBROUTINE
alefvm_expand_mom2
( IXS, MOM, NEL )
31
C-----------------------------------------------
32
C D e s c r i p t i o n
33
C-----------------------------------------------
34
C 'alefvm' is related to a collocated scheme (built from FVM and based on Godunov scheme)
35
C which was temporarily introduced for experimental option /INTER/TYPE22 (FSI coupling with cut cell method)
36
C This cut cell method is not completed, abandoned, and is not an official option.
37
C There is no other use for this scheme which is automatically enabled when /INTER/TYPE22 is defined (INT22>0 => IALEFVM=1).
38
C
39
C This subroutine is treating an uncut cell.
40
C-----------------------------------------------
41
C M o d u l e s
42
C-----------------------------------------------
43
USE
alefvm_mod
44
C-----------------------------------------------
45
C I m p l i c i t T y p e s
46
C-----------------------------------------------
47
#include "implicit_f.inc"
48
C-----------------------------------------------
49
C G l o b a l P a r a m e t e r s
50
C-----------------------------------------------
51
#include "mvsiz_p.inc"
52
C-----------------------------------------------
53
C C o m m o n B l o c k s
54
C-----------------------------------------------
55
#include "vect01_c.inc"
56
#include "param_c.inc"
57
#include "comlock.inc"
58
C-----------------------------------------------
59
C D e s c r i p t i o n
60
C-----------------------------------------------
61
C This subroutines expand cell momentum to
62
C nodes for post-treatment purpose only
63
C-----------------------------------------------
64
C D u m m y A r g u m e n t s
65
C-----------------------------------------------
66
INTEGER
::
IXS
(NIXS,*), NEL
67
my_real
:: mom(nel,3)
68
C-----------------------------------------------
69
C L o c a l V a r i a b l e s
70
C-----------------------------------------------
71
INTEGER
:: I, II, K, NF_BORDER, NF_INTERNAL, ICF(4,
6)
72
INTEGER
:: IN(8)
73
my_real
:: qnode(3,8,mvsiz),qface(3,6,mvsiz)
74
75
DATA
icf/1,4,3,2,3,4,8,7,5,6,7,8,1,2,6,5,2,3,7,6,1,5,8,4/
76
C-----------------------------------------------
77
C P r e - C o n d i t i o n s
78
C-----------------------------------------------
79
IF
(
alefvm_param
%IEnabled==0)
RETURN
80
C-----------------------------------------------
81
C S o u r c e L i n e s
82
C-----------------------------------------------
83
84
!-------------------------------------------------------------!
85
! EXPANDING CELL VALUE TO FACES AND NODES !
86
! SPECIFIC TREATMENT IS DONE TO HAVE WALL BCS WITH NODES !
87
!-------------------------------------------------------------!
88
DO
i=1,nel
89
ii = i + nft
90
in(1) = ixs(2,ii)
91
in(2) = ixs(3,ii)
92
in(3) = ixs(4,ii)
93
in(4) = ixs(5,ii)
94
in(5) = ixs(6,ii)
95
in(6) = ixs(7,ii)
96
in(7) = ixs(8,ii)
97
in(8) = ixs(9,ii)
98
#include "lockon.inc"
99
DO
k=1,8
100
alefvm_buffer
%VERTEX(1,in(k)) =
alefvm_buffer
%VERTEX(1,in(k)) + mom(i,1)/eight
101
alefvm_buffer
%VERTEX(2,in(k)) =
alefvm_buffer
%VERTEX(2,in(k)) + mom(i,2)/eight
102
alefvm_buffer
%VERTEX(3,in(k)) =
alefvm_buffer
%VERTEX(3,in(k)) + mom(i,3)/eight
103
alefvm_buffer
%VERTEX(4,in
(k)) =
alefvm_buffer
%VERTEX(4,in(k)) + one
104
ENDDO
105
#include
"lockoff.inc"
106
ENDDO
107
108
RETURN
109
END
alefvm_expand_mom2
subroutine alefvm_expand_mom2(ixs, mom, nel)
Definition
alefvm_expand_mom2.F:31
my_real
#define my_real
Definition
cppsort.cpp:32
alefvm_mod
Definition
alefvm_mod.F:88
alefvm_mod::alefvm_buffer
type(alefvm_buffer_), target alefvm_buffer
Definition
alefvm_mod.F:120
alefvm_mod::alefvm_param
type(alefvm_param_), target alefvm_param
Definition
alefvm_mod.F:121
engine
source
ale
alefvm
alefvm_expand_mom2.F
Generated by
1.15.0