[1D] Clarify V replacement as spread_rate

Replace the previous alternatives (tangential_velocity_gradient/vGradient) by
a single property name (spread_rate).
This commit is contained in:
Ingmar Schoegl
2020-03-24 18:41:22 -05:00
committed by Ray Speth
parent 062498d787
commit 61b3396d23
6 changed files with 38 additions and 38 deletions

View File

@@ -113,8 +113,8 @@ for p in p_range:
# Update velocities
f.set_profile('velocity', normalized_grid,
f.velocity * rel_pressure_increase ** exp_u_p)
f.set_profile('vGradient', normalized_grid,
f.tangential_velocity_gradient * rel_pressure_increase ** exp_V_p)
f.set_profile('spread_rate', normalized_grid,
f.spread_rate * rel_pressure_increase ** exp_V_p)
# Update pressure curvature
f.set_profile('lambda', normalized_grid,
f.L * rel_pressure_increase ** exp_lam_p)
@@ -169,8 +169,8 @@ while np.max(f.T) > temperature_limit_extinction:
# Update velocities
f.set_profile('velocity', normalized_grid,
f.velocity * strain_factor ** exp_u_a)
f.set_profile('vGradient', normalized_grid,
f.tangential_velocity_gradient * strain_factor ** exp_V_a)
f.set_profile('spread_rate', normalized_grid,
f.spread_rate * strain_factor ** exp_V_a)
# Update pressure curvature
f.set_profile('lambda', normalized_grid, f.L * strain_factor ** exp_lam_a)
try:

View File

@@ -111,8 +111,8 @@ while True:
# Update velocities
f.set_profile('velocity', normalized_grid,
f.velocity * strain_factor ** exp_u_a)
f.set_profile('vGradient', normalized_grid,
f.tangential_velocity_gradient * strain_factor ** exp_V_a)
f.set_profile('spread_rate', normalized_grid,
f.spread_rate * strain_factor ** exp_V_a)
# Update pressure curvature
f.set_profile('lambda', normalized_grid, f.L * strain_factor ** exp_lam_a)
try:

View File

@@ -197,19 +197,19 @@ class FlameBase(Sim1D):
.. deprecated:: 2.5
To be deprecated with version 2.5, and removed thereafter.
Replaced by property `tangential_velocity_gradient`.
Replaced by property `spread_rate`.
"""
warnings.warn("Property 'V' to be removed after Cantera 2.5. "
"Replaced by property 'tangential_velocity_gradient'",
"Replaced by property 'spread_rate'",
DeprecationWarning)
return self.profile(self.flame, 'vGradient')
return self.profile(self.flame, 'spread_rate')
@property
def tangential_velocity_gradient(self):
def spread_rate(self):
"""
Array containing the tangential velocity gradient [1/s] at each point.
Array containing the radial velocity divided by radius [1/s] at each point.
"""
return self.profile(self.flame, 'vGradient')
return self.profile(self.flame, 'spread_rate')
@property
def L(self):
@@ -304,7 +304,7 @@ class FlameBase(Sim1D):
z = self.grid
T = self.T
u = self.velocity
V = self.tangential_velocity_gradient
V = self.spread_rate
with open(filename, 'w', newline='') as csvfile:
writer = _csv.writer(csvfile)
@@ -325,7 +325,7 @@ class FlameBase(Sim1D):
The `SolutionArray` has the following ``extra`` entries:
* ``grid``: grid point positions along the flame [m]
* ``velocity``: normal velocity [m/s]
* ``vGradient``: tangential velocity gradient [1/s] (if applicable)
* ``spread_rate``: tangential velocity gradient [1/s] (if applicable)
* ``lambda``: radial pressure gradient [N/m^4] (if applicable)
* ``eField``: electric field strength (if applicable)
"""
@@ -392,7 +392,7 @@ class FlameBase(Sim1D):
The `SolutionArray` requires the following ``extra`` entries:
* ``grid``: grid point positions along the flame [m]
* ``velocity``: normal velocity [m/s]
* ``vGradient``: tangential velocity gradient [1/s] (if applicable)
* ``spread_rate``: tangential velocity gradient [1/s] (if applicable)
* ``lambda``: radial pressure gradient [N/m^4] (if applicable)
* ``eField``: electric field strength (if applicable)
"""
@@ -967,7 +967,7 @@ class IonFlameBase(FlameBase):
z = self.grid
T = self.T
u = self.velocity
V = self.tangential_velocity_gradient
V = self.spread_rate
E = self.E
with open(filename, 'w', newline='') as csvfile:
@@ -1164,7 +1164,7 @@ class IonBurnerFlame(IonFlameBase, BurnerFlame):
class CounterflowDiffusionFlame(FlameBase):
""" A counterflow diffusion flame """
__slots__ = ('fuel_inlet', 'flame', 'oxidizer_inlet')
_extra = ('grid', 'velocity', 'gradient', 'lambda')
_extra = ('grid', 'velocity', 'spread_rate', 'lambda')
def __init__(self, gas, grid=None, width=None):
"""
@@ -1273,7 +1273,7 @@ class CounterflowDiffusionFlame(FlameBase):
zrel = (zz - zz[0])/dz
self.set_profile('velocity', [0.0, 1.0], [u0f, -u0o])
self.set_profile('vGradient', [0.0, x0/dz, 1.0], [0.0, a, 0.0])
self.set_profile('spread_rate', [0.0, x0/dz, 1.0], [0.0, a, 0.0])
self.set_profile('T', zrel, T)
for k,spec in enumerate(self.gas.species_names):
self.set_profile(spec, zrel, Y[:,k])
@@ -1443,7 +1443,7 @@ class CounterflowDiffusionFlame(FlameBase):
class ImpingingJet(FlameBase):
"""An axisymmetric flow impinging on a surface at normal incidence."""
__slots__ = ('inlet', 'flame', 'surface')
_extra = ('grid', 'velocity', 'gradient', 'lambda')
_extra = ('grid', 'velocity', 'spread_rate', 'lambda')
def __init__(self, gas, grid=None, width=None, surface=None):
"""
@@ -1518,13 +1518,13 @@ class ImpingingJet(FlameBase):
locs = np.array([0.0, 1.0])
self.set_profile('velocity', locs, [u0, 0.0])
self.set_profile('vGradient', locs, [0.0, 0.0])
self.set_profile('spread_rate', locs, [0.0, 0.0])
class CounterflowPremixedFlame(FlameBase):
""" A premixed counterflow flame """
__slots__ = ('reactants', 'flame', 'products')
_extra = ('grid', 'velocity', 'gradient', 'lambda')
_extra = ('grid', 'velocity', 'spread_rate', 'lambda')
def __init__(self, gas, grid=None, width=None):
"""
@@ -1609,7 +1609,7 @@ class CounterflowPremixedFlame(FlameBase):
x0 = rhou*uu * dz / (rhou*uu + rhob*ub)
self.set_profile('velocity', [0.0, 1.0], [uu, -ub])
self.set_profile('vGradient', [0.0, x0/dz, 1.0], [0.0, a, 0.0])
self.set_profile('spread_rate', [0.0, x0/dz, 1.0], [0.0, a, 0.0])
class CounterflowTwinPremixedFlame(FlameBase):
@@ -1618,7 +1618,7 @@ class CounterflowTwinPremixedFlame(FlameBase):
shooting into each other.
"""
__slots__ = ('reactants', 'flame', 'products')
_extra = ('grid', 'velocity', 'gradient', 'lambda')
_extra = ('grid', 'velocity', 'spread_rate', 'lambda')
def __init__(self, gas, grid=None, width=None):
"""
@@ -1682,4 +1682,4 @@ class CounterflowTwinPremixedFlame(FlameBase):
a = 2 * uu / dz
self.set_profile('velocity', [0.0, 1.0], [uu, 0])
self.set_profile('vGradient', [0.0, 1.0], [0.0, a])
self.set_profile('spread_rate', [0.0, 1.0], [0.0, a])

View File

@@ -539,7 +539,7 @@ cdef class IdealGasFlow(_FlowBase):
*velocity*
axial velocity
*tangential_velocity_gradient*
*spread_rate*
radial velocity divided by radius
*T*
temperature

View File

@@ -181,11 +181,11 @@ class TestFreeFlame(utilities.CanteraTest):
self.sim.flame.set_boundary_emissivities(0.5, 0.5)
with self.assertWarnsRegex(DeprecationWarning, "property 'velocity"):
self.sim.u
with self.assertWarnsRegex(DeprecationWarning, "property 'tangential"):
with self.assertWarnsRegex(DeprecationWarning, "property 'spread"):
self.sim.V
with self.assertRaisesRegex(ct.CanteraError, "renamed to 'velocity"):
self.sim.flame.component_index('u')
with self.assertRaisesRegex(ct.CanteraError, "renamed to 'vGradient"):
with self.assertRaisesRegex(ct.CanteraError, "renamed to 'spread_rate"):
self.sim.flame.component_index('V')
def test_auto_width(self):
@@ -477,7 +477,7 @@ class TestFreeFlame(utilities.CanteraTest):
Y1 = self.sim.Y
u1 = self.sim.velocity
V1 = self.sim.tangential_velocity_gradient
V1 = self.sim.spread_rate
P1 = self.sim.P
self.sim.save(filename, 'test', loglevel=0)
@@ -503,7 +503,7 @@ class TestFreeFlame(utilities.CanteraTest):
Y2 = self.sim.Y
u2 = self.sim.velocity
V2 = self.sim.tangential_velocity_gradient
V2 = self.sim.spread_rate
self.assertArrayNear(Y1, Y2)
self.assertArrayNear(u1, u2)
@@ -512,7 +512,7 @@ class TestFreeFlame(utilities.CanteraTest):
self.solve_fixed_T()
Y3 = self.sim.Y
u3 = self.sim.velocity
V3 = self.sim.tangential_velocity_gradient
V3 = self.sim.spread_rate
# TODO: These tolereances seem too loose, but the tests fail on some
# systems with tighter tolerances.
@@ -710,7 +710,7 @@ class TestDiffusionFlame(utilities.CanteraTest):
data = np.empty((self.sim.flame.n_points, self.gas.n_species + 4))
data[:,0] = self.sim.grid
data[:,1] = self.sim.velocity
data[:,2] = self.sim.tangential_velocity_gradient
data[:,2] = self.sim.spread_rate
data[:,3] = self.sim.T
data[:,4:] = self.sim.Y.T
@@ -749,7 +749,7 @@ class TestDiffusionFlame(utilities.CanteraTest):
data = np.empty((self.sim.flame.n_points, self.gas.n_species + 4))
data[:,0] = self.sim.grid
data[:,1] = self.sim.velocity
data[:,2] = self.sim.tangential_velocity_gradient
data[:,2] = self.sim.spread_rate
data[:,3] = self.sim.T
data[:,4:] = self.sim.Y.T
@@ -805,7 +805,7 @@ class TestDiffusionFlame(utilities.CanteraTest):
data = np.empty((self.sim.flame.n_points, self.gas.n_species + 4))
data[:,0] = self.sim.grid
data[:,1] = self.sim.velocity
data[:,2] = self.sim.tangential_velocity_gradient
data[:,2] = self.sim.spread_rate
data[:,3] = self.sim.T
data[:,4:] = self.sim.Y.T
@@ -894,7 +894,7 @@ class TestCounterflowPremixedFlame(utilities.CanteraTest):
data = np.empty((sim.flame.n_points, gas.n_species + 4))
data[:,0] = sim.grid
data[:,1] = sim.velocity
data[:,2] = sim.tangential_velocity_gradient
data[:,2] = sim.spread_rate
data[:,3] = sim.T
data[:,4:] = sim.Y.T
@@ -915,7 +915,7 @@ class TestCounterflowPremixedFlame(utilities.CanteraTest):
sim.set_refine_criteria(ratio=6, slope=0.7, curve=0.8, prune=0.4)
sim.solve(loglevel=0, auto=True)
self.assertTrue(all(sim.T >= T - 1e-3))
self.assertTrue(all(sim.tangential_velocity_gradient >= -1e-9))
self.assertTrue(all(sim.spread_rate >= -1e-9))
return sim
def test_solve_case1(self):

View File

@@ -576,7 +576,7 @@ string StFlow::componentName(size_t n) const
case 0:
return "velocity";
case 1:
return "vGradient";
return "spread_rate";
case 2:
return "T";
case 3:
@@ -604,9 +604,9 @@ size_t StFlow::componentIndex(const std::string& name) const
} else if (name=="V") {
warn_deprecated("StFlow::componentIndex",
"To be changed after Cantera 2.5. "
"Solution component 'V' renamed to 'vGradient'");
"Solution component 'V' renamed to 'spread_rate'");
return 1;
} else if (name=="vGradient") {
} else if (name=="spread_rate") {
return 1;
} else if (name=="T") {
return 2;