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