43
44
45
46 USE multi_fvm_mod
47 USE ebcs_mod
49 USE matparam_def_mod , ONLY : matparam_struct_
50 USE output_mod , ONLY : output_
52 use element_mod , only : nixs,nixq,nixtg
53
54
55
56
57#include "implicit_f.inc"
58
59
60
61
62
63#include "param_c.inc"
64
65
66#include "tabsiz_c.inc"
67
68
69
70 INTEGER,INTENT(IN) :: NUMMAT
71 TYPE(MATPARAM_STRUCT_), DIMENSION(NUMMAT), INTENT(IN) :: MATPARAM
72 INTEGER,INTENT(IN) :: NCYCLE
73 INTEGER,INTENT(IN) :: NSURF
74 INTEGER,INTENT(IN) :: NUMELS, NUMELQ, NUMELTG, NUMNOD
76 TYPE(MULTI_FVM_STRUCT), INTENT(INOUT) :: MULTI_FVM
77 INTEGER, INTENT(IN) :: ITASK
78 INTEGER, INTENT(IN) :: IXS(NIXS, *), IXQ(NIXQ, *), IXTG(NIXTG, *)
79 my_real,
INTENT(IN) :: xgrid(3, *), wgrid(3, *)
80 INTEGER, INTENT(IN) :: IPM(NPROPMI, *)
81 my_real,
INTENT(IN) :: pm(npropm, *), func_value(*)
82 TYPE(t_ebcs_tab), TARGET, INTENT(IN) :: EBCS_TAB
83 INTEGER, INTENT(IN) :: NPF(SNPC)
84 my_real,
INTENT(IN) :: tf(stf), timestep
85 TYPE(OUTPUT_), INTENT(INOUT) :: OUTPUT
86 LOGICAL, INTENT(IN) :: PRED
87
88
89
90 INTEGER :: I
91 INTEGER :: TYPE, NELEM
92 class(t_ebcs), POINTER :: ebcs
93
94
95
96 DO i = 1, ebcs_tab%nebcs_fvm
97 ebcs => ebcs_tab%tab(i)%poly
98 TYPE = ebcs%type
99 nelem = ebcs%nb_elem
100 SELECT TYPE (twf => ebcs)
101 TYPE IS (t_ebcs_inlet)
102
104 . twf%ielem, twf%iface, twf%fvm_inlet_data,
105 . ixs, ixq, ixtg, xgrid, wgrid, ipm, pm, func_value,
106 . twf%surf_id,npf,tf,fsavsurf, timestep, matparam, output, pred)
107 TYPE IS(t_ebcs_fluxout)
109 . twf%ielem, twf%iface, twf%fvm_inlet_data,
110 . ixs, ixq, ixtg, xgrid, wgrid, ipm, pm, func_value,
111 . twf%surf_id,npf,tf,fsavsurf,timestep, matparam, output, pred)
112 TYPE IS(t_ebcs_nrf)
114 . twf%ielem, twf%iface, twf%fvm_inlet_data,
115 . ixs, ixq, ixtg, xgrid, wgrid, ipm, pm, func_value,
116 . twf,npf,tf,fsavsurf,timestep, matparam, output, pred)
117 TYPE IS(t_ebcs_propellant)
118
119 write(6,*) 'MULTI_EBCS: Propellant EBCS not yet implemented'
120 write(6,*) "NUMELS=",numels,"NUMELQ=",numelq,"NUMELTG=",numeltg
121 write(6,*) "NUMNOD=",numnod,"NCYCLE=",ncycle,"NUMMAT=",nummat
123
124
125
126
127
128 CLASS DEFAULT
129 END SELECT
130 ENDDO
131
132
133
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, output, pred)
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, output, pred)
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