mirror of
https://github.com/Cantera/cantera.git
synced 2025-02-25 18:55:29 -06:00
[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:
committed by
Ray Speth
parent
062498d787
commit
61b3396d23
@@ -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:
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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])
|
||||
|
||||
@@ -539,7 +539,7 @@ cdef class IdealGasFlow(_FlowBase):
|
||||
|
||||
*velocity*
|
||||
axial velocity
|
||||
*tangential_velocity_gradient*
|
||||
*spread_rate*
|
||||
radial velocity divided by radius
|
||||
*T*
|
||||
temperature
|
||||
|
||||
@@ -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):
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user