[Examples] Fix refinement check in ic_engine.py
The previous refinement check didn't work because the loop never reached n2 == 4. Replace is checks with == checks.
This commit is contained in:
parent
05eaa0a5e4
commit
d9b95b2efb
1 changed files with 6 additions and 3 deletions
|
|
@ -141,16 +141,19 @@ for n1, t_i in enumerate(t):
|
||||||
injector_mfc.set_mass_flow_rate(0)
|
injector_mfc.set_mass_flow_rate(0)
|
||||||
|
|
||||||
# perform time integration, refine time step if necessary
|
# perform time integration, refine time step if necessary
|
||||||
|
solved = False
|
||||||
for n2 in range(4):
|
for n2 in range(4):
|
||||||
if n2 is 4:
|
|
||||||
raise 'Error: Refinement limit reached'
|
|
||||||
try:
|
try:
|
||||||
sim.advance(t_i)
|
sim.advance(t_i)
|
||||||
|
solved = True
|
||||||
|
break
|
||||||
except ct.CanteraError:
|
except ct.CanteraError:
|
||||||
sim.set_max_time_step(1e-6 * 10. ** -n2)
|
sim.set_max_time_step(1e-6 * 10. ** -n2)
|
||||||
n_last_refinement = n1
|
n_last_refinement = n1
|
||||||
|
if not solved:
|
||||||
|
raise ct.CanteraError('Refinement limit reached')
|
||||||
# coarsen time step if too long ago
|
# coarsen time step if too long ago
|
||||||
if n1 - n_last_refinement is n_wait_coarsening:
|
if n1 - n_last_refinement == n_wait_coarsening:
|
||||||
sim.set_max_time_step(1e-5)
|
sim.set_max_time_step(1e-5)
|
||||||
|
|
||||||
# write output data
|
# write output data
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue