Skip to content

Commit 79604b2

Browse files
committed
fix case optimization
1 parent 388084f commit 79604b2

File tree

2 files changed

+15
-4
lines changed

2 files changed

+15
-4
lines changed

src/simulation/m_global_parameters.fpp

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -129,6 +129,7 @@ module m_global_parameters
129129
#:if MFC_CASE_OPTIMIZATION
130130
integer, parameter :: weno_polyn = ${weno_polyn}$ !< Degree of the WENO polynomials (polyn)
131131
integer, parameter :: weno_order = ${weno_order}$ !< Order of the WENO reconstruction
132+
integer, parameter :: weno_num_stencils = ${weno_num_stencils}$ !< Number of stencils for WENO reconstruction (only different from weno_polyn for TENO(>5))
132133
integer, parameter :: num_fluids = ${num_fluids}$ !< number of fluids in the simulation
133134
logical, parameter :: wenojs = (${wenojs}$ /= 0) !< WENO-JS (default)
134135
logical, parameter :: mapped_weno = (${mapped_weno}$ /= 0) !< WENO-M (WENO with mapping of nonlinear weights)
@@ -137,7 +138,7 @@ module m_global_parameters
137138
#:else
138139
integer :: weno_polyn !< Degree of the WENO polynomials (polyn)
139140
integer :: weno_order !< Order of the WENO reconstruction
140-
integer :: weno_num_stencils !< Number of stencils for WENO reconstruction (only different weno_polyn for TENO(>5))
141+
integer :: weno_num_stencils !< Number of stencils for WENO reconstruction (only different from weno_polyn for TENO(>5))
141142
integer :: num_fluids !< number of fluids in the simulation
142143
logical :: wenojs !< WENO-JS (default)
143144
logical :: mapped_weno !< WENO-M (WENO with mapping of nonlinear weights)
@@ -176,7 +177,7 @@ module m_global_parameters
176177
integer :: cpu_start, cpu_end, cpu_rate
177178

178179
#:if not MFC_CASE_OPTIMIZATION
179-
!$acc declare create(num_dims, weno_polyn, weno_order, num_fluids, wenojs, mapped_weno, wenoz, teno)
180+
!$acc declare create(num_dims, weno_polyn, weno_order, weno_num_stencils, num_fluids, wenojs, mapped_weno, wenoz, teno)
180181
#:endif
181182

182183
!$acc declare create(mpp_lim, model_eqns, mixture_err, alt_soundspeed, avg_state, mp_weno, weno_eps, teno_CT, wenoz_q, hypoelasticity, low_Mach)
@@ -717,6 +718,7 @@ contains
717718
weno_num_stencils = weno_polyn
718719
end if
719720
!$acc update device(weno_polyn)
721+
!$acc update device(weno_num_stencils)
720722
!$acc update device(nb)
721723
!$acc update device(num_dims, num_fluids)
722724
#:endif

toolchain/mfc/case.py

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -190,11 +190,20 @@ def __get_sim_fpp(self, print: bool) -> str:
190190
wenoz = 1 if self.params.get("wenoz", 'F') == 'T' else 0
191191
teno = 1 if self.params.get("teno", 'F') == 'T' else 0
192192
wenojs = 0 if (mapped_weno or wenoz or teno) else 1
193+
194+
weno_order = int(self.params["weno_order"])
195+
weno_polyn = int((self.params["weno_order"] - 1) / 2)
196+
197+
if teno:
198+
weno_num_stencils = weno_order - 3
199+
else:
200+
weno_num_stencils = weno_polyn
193201

194202
return f"""\
195203
#:set MFC_CASE_OPTIMIZATION = {ARG("case_optimization")}
196-
#:set weno_order = {int(self.params["weno_order"])}
197-
#:set weno_polyn = {int((self.params["weno_order"] - 1) / 2)}
204+
#:set weno_order = {weno_order}
205+
#:set weno_polyn = {weno_polyn}
206+
#:set weno_num_stencils = {weno_num_stencils}
198207
#:set nb = {int(self.params.get("nb", 1))}
199208
#:set num_dims = {1 + min(int(self.params.get("n", 0)), 1) + min(int(self.params.get("p", 0)), 1)}
200209
#:set nterms = {nterms}

0 commit comments

Comments
 (0)