41
42
43
44 USE multi_fvm_mod
45 USE ebcs_mod
47 USE matparam_def_mod , ONLY : matparam_struct_
49
50
51
52#include "implicit_f.inc"
53
54
55
56
57
58#include "param_c.inc"
59
60
61#include "tabsiz_c.inc"
62
63
64
65 INTEGER,INTENT(IN) :: NUMMAT
66 TYPE(MATPARAM_STRUCT_), DIMENSION(NUMMAT), INTENT(IN) :: MATPARAM
67 INTEGER,INTENT(IN) :: NCYCLE
68 INTEGER,INTENT(IN) :: NSURF
69 INTEGER,INTENT(IN) :: NUMELS, NUMELQ, NUMELTG, NUMNOD
71 TYPE(MULTI_FVM_STRUCT), INTENT(INOUT) :: MULTI_FVM
72 INTEGER, INTENT(IN) :: ITASK
73 INTEGER, INTENT(IN) :: IXS(NIXS, *), IXQ(NIXQ, *), IXTG(NIXTG, *)
74 my_real,
INTENT(IN) :: xgrid(3, *), wgrid(3, *)
75 INTEGER, INTENT(IN) :: IPM(NPROPMI, *)
76 my_real,
INTENT(IN) :: pm(npropm, *), func_value(*)
77 TYPE(t_ebcs_tab), TARGET, INTENT(IN) :: EBCS_TAB
78 INTEGER, INTENT(IN) :: NPF(SNPC)
79 my_real,
INTENT(IN) :: tf(stf), timestep
80
81
82
83 INTEGER :: I
84 INTEGER :: TYPE, NELEM
85 class(t_ebcs), POINTER :: ebcs
86
87
88
89 DO i = 1, ebcs_tab%nebcs_fvm
90 ebcs => ebcs_tab%tab(i)%poly
91 TYPE = ebcs%type
92 nelem = ebcs%nb_elem
93 SELECT TYPE (twf => ebcs)
94 TYPE IS (t_ebcs_inlet)
95
97 . twf%ielem, twf%iface, twf%fvm_inlet_data,
98 . ixs, ixq, ixtg, xgrid, wgrid, ipm, pm, func_value,
99 . twf%surf_id,npf,tf,fsavsurf, timestep, matparam)
100 TYPE IS(t_ebcs_fluxout)
102 . twf%ielem, twf%iface, twf%fvm_inlet_data,
103 . ixs, ixq, ixtg, xgrid, wgrid, ipm, pm, func_value,
104 . twf%surf_id,npf,tf,fsavsurf,timestep, matparam)
105 TYPE IS(t_ebcs_nrf)
107 . twf%ielem, twf%iface, twf%fvm_inlet_data,
108 . ixs, ixq, ixtg, xgrid, wgrid, ipm, pm, func_value,
109 . twf,npf,tf,fsavsurf,timestep, matparam)
110 TYPE IS(t_ebcs_propellant)
111 CALL multi_propellant_ebcs(itask, i, multi_fvm, nelem,
112 . twf%ielem, twf%iface, twf%fvm_inlet_data,
113 . ixs, ixq, ixtg, xgrid, wgrid, ipm, pm, func_value,
114 . twf,npf,tf,fsavsurf,timestep,nixs, nixq, nixtg, npropmi, npropm, nsurf, stf, snpc,
115 . numels, numelq, numeltg, numnod, ncycle, nummat ,matparam)
116 CLASS DEFAULT
117 END SELECT
118 ENDDO
119
120
121
subroutine multi_nrf_ebcs(itask, ebcs_id, multi_fvm, nelem, elem_list, face_list, fvm_inlet_data, ixs, ixq, ixtg, xgrid, wgrid, ipm, pm, func_value, ebcs, npf, tf, fsavsurf, timestep, matparam)
subroutine multi_inlet_ebcs(itask, ebcs_id, multi_fvm, nelem, elem_list, face_list, fvm_inlet_data, ixs, ixq, ixtg, xgrid, wgrid, ipm, pm, func_value, id_surf, npf, tf, fsavsurf, timestep, matparam)
OPTION /TH/SURF outputs of Pressure and Area needed Tabs.
integer, parameter th_surf_num_channel
number of /TH/SURF channels : AREA, VELOCITY, MASSFLOW, P A, MASS