OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
h3d_quad_scalar.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!|| h3d_quad_scalar ../engine/source/output/h3d/h3d_results/h3d_quad_scalar.F
25!||--- called by ------------------------------------------------------
26!|| genh3d ../engine/source/output/h3d/h3d_results/genh3d.F
27!||--- calls -----------------------------------------------------
28!|| h3d_quad_scalar_1 ../engine/source/output/h3d/h3d_results/h3d_quad_scalar_1.F90
29!|| schlieren_buffer_gathering ../engine/source/output/anim/generate/schlieren_buffer_gathering.F
30!||--- uses -----------------------------------------------------
31!|| ale_connectivity_mod ../common_source/modules/ale/ale_connectivity_mod.F
32!|| elbufdef_mod ../common_source/modules/mat_elem/elbufdef_mod.F90
33!|| h3d_quad_scalar_1_mod ../engine/source/output/h3d/h3d_results/h3d_quad_scalar_1.F90
34!|| initbuf_mod ../engine/share/resol/initbuf.F
35!|| matparam_def_mod ../common_source/modules/mat_elem/matparam_def_mod.F90
36!|| multi_fvm_mod ../common_source/modules/ale/multi_fvm_mod.F90
37!|| multimat_param_mod ../common_source/modules/multimat_param_mod.F90
38!|| names_and_titles_mod ../common_source/modules/names_and_titles_mod.F
39!|| schlieren_mod ../engine/share/modules/schlieren_mod.F
40!|| stack_mod ../engine/share/modules/stack_mod.F
41!||====================================================================
42 SUBROUTINE h3d_quad_scalar(
43 . ELBUF_TAB ,QUAD_SCALAR,IPARG ,
44 . IXQ ,PM ,
45 . EHOUR ,
46 . IPM ,
47 . X ,V ,W ,ALE_CONNECT ,
48 . NERCVOIS ,NESDVOIS ,LERCVOIS ,LESDVOIS,
49 . ID_ELEM ,
50 . IS_WRITTEN_QUAD,IPARTQ ,LAYER_INPUT ,NPART1,
51 . IUVAR_INPUT ,H3D_PART ,KEYWORD ,ITHERM ,
52 . BUFMAT ,MULTI_FVM ,IR_INPUT ,IS_INPUT ,IT_INPUT ,
53 . ID ,MAT_PARAM)
54C-----------------------------------------------
55C M o d u l e s
56C-----------------------------------------------
57 USE initbuf_mod
58 USE elbufdef_mod
59 USE schlieren_mod
60 USE stack_mod
61 USE multi_fvm_mod
64 USE h3d_quad_scalar_1_mod, ONLY: h3d_quad_scalar_1
65 USE multimat_param_mod , ONLY : m51_n0phas, m51_nvphas
66 USE matparam_def_mod , ONLY : matparam_struct_
67C-----------------------------------------------
68C I m p l i c i t T y p e s
69C-----------------------------------------------
70#include "implicit_f.inc"
71C-----------------------------------------------
72C C o m m o n B l o c k s
73C-----------------------------------------------
74#include "mvsiz_p.inc"
75!NGROUP, N2D
76#include "com01_c.inc"
77!NUMELQ, NUMMAT, NUMNOD
78#include "com04_c.inc"
79!NPARG, NPROPM, NPROPMI
80#include "param_c.inc"
81! ISPMD
82#include "task_c.inc"
83C-----------------------------------------------
84C D u m m y A r g u m e n t s
85C-----------------------------------------------
86 my_real, INTENT(INOUT) ::
87 . quad_scalar(*),x(3,numnod),v(3,numnod),w(3,numnod),ehour(*),
88 . pm(npropm,nummat)
89 INTEGER IPARG(NPARG,NGROUP),
90 . IXQ(NIXQ,NUMELQ),
91 . IPM(NPROPMI,NUMMAT),
92 . ID_ELEM(*),
93 . IS_WRITTEN_QUAD(*),IPARTQ(*),H3D_PART(*),
94 . LAYER_INPUT ,IUVAR_INPUT,
95 . IR_INPUT,IS_INPUT,IT_INPUT,NPART1
96 INTEGER, INTENT(IN) :: ID
97 INTEGER, INTENT(IN) :: ITHERM
98 TYPE (ELBUF_STRUCT_), DIMENSION(NGROUP), TARGET :: ELBUF_TAB
99 CHARACTER(LEN=NCHARLINE100):: KEYWORD
100 TYPE(multi_fvm_struct), INTENT(IN) :: MULTI_FVM
101 TYPE(t_ale_connectivity), INTENT(IN) :: ALE_CONNECT
102 my_real, TARGET :: BUFMAT(*)
103 INTEGER, INTENT(in) :: NERCVOIS(*),NESDVOIS(*), LERCVOIS(*),LESDVOIS(*)
104 TYPE (MATPARAM_STRUCT_) ,DIMENSION(NUMMAT) ,INTENT(IN) :: MAT_PARAM
105C-----------------------------------------------
106C L o c a l V a r i a b l e s
107C-----------------------------------------------
108 my_real
109 . value(mvsiz)
110 INTEGER NG,ILAY
111 INTEGER
112 . i,iuvar
113C-----------------------------------------------
114 ilay = layer_input
115 iuvar = iuvar_input
116
117 DO i=1,numelq
118 is_written_quad(i) = 0
119 ENDDO
120C
121 !-------------------------------------------------------!
122 ! INITIALIZATION IF SCHLIEREN DEFINED !
123 !-------------------------------------------------------!
124 IF(keyword == 'SCHLIEREN')THEN
125 CALL schlieren_buffer_gathering(nercvois ,nesdvois ,lercvois ,lesdvois, iparg, elbuf_tab, multi_fvm,itherm)
126 ENDIF
127C-----------
128 DO ng=1,ngroup
129 CALL h3d_quad_scalar_1(.false., ng,
130 . m51_n0phas , m51_nvphas,ngroup, n2d, numelq, nummat, numnod, nparg, npropm, npropmi, ispmd,
131 . elbuf_tab ,quad_scalar, numelq, iparg ,
132 . ixq , nixq ,pm ,
133 . ehour ,
134 . ipm ,
135 . x ,v ,w ,ale_connect ,
136 . id_elem ,
137 . is_written_quad,ipartq ,layer_input , npart1,
138 . iuvar_input ,h3d_part ,keyword ,
139 . bufmat ,multi_fvm ,
140 . id ,mat_param)
141
142 ENDDO
143C-----------------------------------------------
144 RETURN
145 END
146
#define my_real
Definition cppsort.cpp:32
subroutine h3d_quad_scalar(elbuf_tab, quad_scalar, iparg, ixq, pm, ehour, ipm, x, v, w, ale_connect, nercvois, nesdvois, lercvois, lesdvois, id_elem, is_written_quad, ipartq, layer_input, npart1, iuvar_input, h3d_part, keyword, itherm, bufmat, multi_fvm, ir_input, is_input, it_input, id, mat_param)
integer, parameter ncharline100
subroutine schlieren_buffer_gathering(nercvois, nesdvois, lercvois, lesdvois, iparg, elbuf_tab, multi_fvm, itherm)