Doxygen update

This commit is contained in:
Harry Moffat 2010-08-21 16:41:46 +00:00
parent d1e27613c3
commit 1baff10c03
11 changed files with 379 additions and 279 deletions

View file

@ -247,13 +247,13 @@ namespace Cantera {
}
}
//================================================================================================
void AqueousTransport::set_Grad_X(const doublereal* const grad_X) {
int itop = m_nDim * m_nsp;
for (int i = 0; i < itop; i++) {
m_Grad_X[i] = grad_X[i];
}
}
void AqueousTransport::set_Grad_X(const doublereal* const grad_X) {
int itop = m_nDim * m_nsp;
for (int i = 0; i < itop; i++) {
m_Grad_X[i] = grad_X[i];
}
}
//====================================================================================================================
/****************** thermal conductivity **********************/
@ -284,7 +284,7 @@ namespace Cantera {
/****************** thermal diffusion coefficients ************/
//====================================================================================================================
/**
* Thermal diffusion is not considered in this mixture-averaged
* model. To include thermal diffusion, use transport manager
@ -298,42 +298,71 @@ namespace Cantera {
}
}
/**
* @param ndim The number of spatial dimensions (1, 2, or 3).
* @param grad_T The temperature gradient (ignored in this model).
* @param ldx Leading dimension of the grad_X array.
* The diffusive mass flux of species \e k is computed from
//====================================================================================================================
// Get the species diffusive mass fluxes wrt to the specified solution averaged velocity,
// given the gradients in mole fraction and temperature
/*
* Units for the returned fluxes are kg m-2 s-1.
*
* \f[
* \vec{j}_k = -n M_k D_k \nabla X_k.
* \f]
* Usually the specified solution average velocity is the mass averaged velocity.
* This is changed in some subclasses, however.
*
* @param ndim Number of dimensions in the flux expressions
* @param grad_T Gradient of the temperature
* (length = ndim)
* @param ldx Leading dimension of the grad_X array
* (usually equal to m_nsp but not always)
* @param grad_X Gradients of the mole fraction
* Flat vector with the m_nsp in the inner loop.
* length = ldx * ndim
* @param ldf Leading dimension of the fluxes array
* (usually equal to m_nsp but not always)
* @param fluxes Output of the diffusive mass fluxes
* Flat vector with the m_nsp in the inner loop.
* length = ldx * ndim
*/
void AqueousTransport::getSpeciesFluxes(int ndim,
const doublereal* grad_T,
int ldx, const doublereal* grad_X,
int ldf, doublereal* fluxes) {
void AqueousTransport::getSpeciesFluxes(int ndim, const doublereal * const grad_T,
int ldx, const doublereal * const grad_X,
int ldf, doublereal * const fluxes) {
set_Grad_T(grad_T);
set_Grad_X(grad_X);
getSpeciesFluxesExt(ldf, fluxes);
}
/**
* @param ndim The number of spatial dimensions (1, 2, or 3).
* @param grad_T The temperature gradient (ignored in this model).
* @param ldx Leading dimension of the grad_X array.
* The diffusive mass flux of species \e k is computed from
//====================================================================================================================
// Return the species diffusive mass fluxes wrt to the specified averaged velocity,
/*
* This method acts similarly to getSpeciesFluxesES() but
* requires all gradients to be preset using methods set_Grad_X(), set_Grad_V(), set_Grad_T().
* See the documentation of getSpeciesFluxesES() for details.
*
* \f[
* \vec{j}_k = -n M_k D_k \nabla X_k.
* \f]
* units = kg/m2/s
*
* Internally, gradients in the in mole fraction, temperature
* and electrostatic potential contribute to the diffusive flux
*
* The diffusive mass flux of species \e k is computed from the following formula
*
* \f[
* j_k = - \rho M_k D_k \nabla X_k - Y_k V_c
* \f]
*
* where V_c is the correction velocity
*
* \f[
* V_c = - \sum_j {\rho M_j D_j \nabla X_j}
* \f]
*
* @param ldf Stride of the fluxes array. Must be equal to or greater than the number of species.
* @param fluxes Output of the diffusive fluxes. Flat vector with the m_nsp in the inner loop.
* length = ldx * ndim
*/
void AqueousTransport::getSpeciesFluxesExt(int ldf, doublereal* fluxes) {
void AqueousTransport::getSpeciesFluxesExt(int ldf, doublereal * const fluxes) {
int n, k;
update_T();
update_C();
getMixDiffCoeffs(DATA_PTR(m_spwork));
@ -355,7 +384,7 @@ namespace Cantera {
}
}
}
//====================================================================================================================
/**
* Mixture-averaged diffusion coefficients [m^2/s].
*
@ -396,7 +425,7 @@ namespace Cantera {
}
}
//====================================================================================================================
// Handles the effects of changes in the Temperature, internally
// within the object.
/*
@ -447,7 +476,7 @@ namespace Cantera {
// For now, for a concentration redo also
m_iStateMF = -1;
}
//====================================================================================================================
/**
* @internal This is called the first time any transport property
* is requested from Mixture after the concentrations
@ -486,7 +515,7 @@ namespace Cantera {
m_molefracs[k] = fmaxx(MIN_X, m_molefracs[k]);
}
}
//====================================================================================================================
/*************************************************************************
*
@ -514,7 +543,7 @@ namespace Cantera {
m_spcond_ok = true;
m_condmix_ok = false;
}
//====================================================================================================================
/**
* Update the binary diffusion coefficients. These are evaluated
@ -548,7 +577,7 @@ namespace Cantera {
m_bindiff_ok = true;
m_diffmix_ok = false;
}
//====================================================================================================================
/**
* Update the pure-species viscosities.
@ -572,7 +601,7 @@ namespace Cantera {
m_spvisc_ok = true;
}
//====================================================================================================================
/**
* Update the temperature-dependent viscosity terms.
* Updates the array of pure species viscosities, and the
@ -601,7 +630,7 @@ namespace Cantera {
}
m_viscwt_ok = true;
}
//====================================================================================================================
/**
* This function returns a Transport data object for a given species.
*
@ -619,7 +648,7 @@ namespace Cantera {
return td;
}
//====================================================================================================================
/*
*
* Solve for the diffusional velocities in the Stefan-Maxwell equations
@ -750,5 +779,6 @@ namespace Cantera {
}
}
}
//====================================================================================================================
}

View file

@ -35,7 +35,7 @@ namespace Cantera {
//! Class AqueousTransport implements mixture-averaged transport
//! properties for liquid phases.
//! properties for brine phases.
/*!
* The model is based on that
* described by Newman, Electrochemical Systems
@ -276,28 +276,61 @@ namespace Cantera {
*/
virtual void update_C();
/**
* @param ndim The number of spatial dimensions (1, 2, or 3).
* @param grad_T The temperature gradient (ignored in this model).
* @param ldx Leading dimension of the grad_X array.
* The diffusive mass flux of species \e k is computed from
*
*
*/
virtual void getSpeciesFluxes(int ndim,
const doublereal* grad_T,
int ldx, const doublereal* grad_X,
int ldf, doublereal* fluxes);
/**
* @param ndim The number of spatial dimensions (1, 2, or 3).
* @param grad_T The temperature gradient (ignored in this model).
* @param ldx Leading dimension of the grad_X array.
* The diffusive mass flux of species \e k is computed from
*
//! Get the species diffusive mass fluxes wrt to the specified solution averaged velocity,
//! given the gradients in mole fraction and temperature
/*!
* Units for the returned fluxes are kg m-2 s-1.
*
* Usually the specified solution average velocity is the mass averaged velocity.
* This is changed in some subclasses, however.
*
* @param ndim Number of dimensions in the flux expressions
* @param grad_T Gradient of the temperature
* (length = ndim)
* @param ldx Leading dimension of the grad_X array
* (usually equal to m_nsp but not always)
* @param grad_X Gradients of the mole fraction
* Flat vector with the m_nsp in the inner loop.
* length = ldx * ndim
* @param ldf Leading dimension of the fluxes array
* (usually equal to m_nsp but not always)
* @param fluxes Output of the diffusive mass fluxes
* Flat vector with the m_nsp in the inner loop.
* length = ldx * ndim
*/
virtual void getSpeciesFluxesExt(int ldf, doublereal* fluxes);
virtual void getSpeciesFluxes(int ndim, const doublereal * const grad_T,
int ldx, const doublereal * const grad_X,
int ldf, doublereal * const fluxes);
//! Return the species diffusive mass fluxes wrt to the specified averaged velocity,
/*!
* This method acts similarly to getSpeciesFluxesES() but
* requires all gradients to be preset using methods set_Grad_X(), set_Grad_V(), set_Grad_T().
* See the documentation of getSpeciesFluxesES() for details.
*
* units = kg/m2/s
*
* Internally, gradients in the in mole fraction, temperature
* and electrostatic potential contribute to the diffusive flux
*
* The diffusive mass flux of species \e k is computed from the following formula
*
* \f[
* j_k = - \rho M_k D_k \nabla X_k - Y_k V_c
* \f]
*
* where V_c is the correction velocity
*
* \f[
* V_c = - \sum_j {\rho M_j D_j \nabla X_j}
* \f]
*
* @param ldf Stride of the fluxes array. Must be equal to or greater than the number of species.
* @param fluxes Output of the diffusive fluxes. Flat vector with the m_nsp in the inner loop.
* length = ldx * ndim
*/
virtual void getSpeciesFluxesExt(int ldf, doublereal* const fluxes);
//! Initialize the transport object

View file

@ -430,51 +430,51 @@ namespace Cantera {
*/
virtual void set_Grad_X(const doublereal* const grad_X);
//! Compute the mixture electrical conductivity from
//! the Stefan-Maxwell equation.
/*!
* To compute the mixture electrical conductance, the Stefan
* Maxwell equation is solved for zero species gradients and
* for unit potential gradient, \f$ \nabla V \f$.
* The species fluxes are converted to current by summing over
* the charge-weighted fluxes according to
* \f[
* \vec{i} = \sum_{i} z_i F \rho \vec{V_i} / W_i
* \f]
* where \f$ z_i \f$ is the charge on species i,
* \f$ F \f$ is Faradays constant, \f$ \rho \f$ is the density,
* \f$ W_i \f$ is the molecular mass of species i.
* The conductance, \f$ \kappa \f$ is obtained from
* \f[
* \kappa = \vec{i} / \nabla V.
* \f]
*
*/
//! Compute the mixture electrical conductivity from
//! the Stefan-Maxwell equation.
/*!
* To compute the mixture electrical conductance, the Stefan
* Maxwell equation is solved for zero species gradients and
* for unit potential gradient, \f$ \nabla V \f$.
* The species fluxes are converted to current by summing over
* the charge-weighted fluxes according to
* \f[
* \vec{i} = \sum_{i} z_i F \rho \vec{V_i} / W_i
* \f]
* where \f$ z_i \f$ is the charge on species i,
* \f$ F \f$ is Faradays constant, \f$ \rho \f$ is the density,
* \f$ W_i \f$ is the molecular mass of species i.
* The conductance, \f$ \kappa \f$ is obtained from
* \f[
* \kappa = \vec{i} / \nabla V.
* \f]
*
*/
virtual doublereal getElectricConduct();
//! Compute the electric current density in A/m^2
/*!
* The electric current is computed first by computing the
* species diffusive fluxes using the Stefan Maxwell solution
* and then the current, \f$ \vec{i} \f$ by summing over
* the charge-weighted fluxes according to
* \f[
* \vec{i} = \sum_{i} z_i F \rho \vec{V_i} / W_i
* \f]
* where \f$ z_i \f$ is the charge on species i,
* \f$ F \f$ is Faradays constant, \f$ \rho \f$ is the density,
* \f$ W_i \f$ is the molecular mass of species \c i.
*
* @param ndim The number of spatial dimensions (1, 2, or 3).
* @param grad_T The temperature gradient (ignored in this model).
* @param ldx Leading dimension of the grad_X array.
* @param grad_X Gradients of the mole fraction
* Flat vector with the m_nsp in the inner loop.
* length = ldx * ndim
* @param ldf Leading dimension of the grad_V and current vectors.
* @param grad_V The electrostatic potential gradient.
* @param current The electric current in A/m^2.
*/
//! Compute the electric current density in A/m^2
/*!
* The electric current is computed first by computing the
* species diffusive fluxes using the Stefan Maxwell solution
* and then the current, \f$ \vec{i} \f$ by summing over
* the charge-weighted fluxes according to
* \f[
* \vec{i} = \sum_{i} z_i F \rho \vec{V_i} / W_i
* \f]
* where \f$ z_i \f$ is the charge on species i,
* \f$ F \f$ is Faradays constant, \f$ \rho \f$ is the density,
* \f$ W_i \f$ is the molecular mass of species \c i.
*
* @param ndim The number of spatial dimensions (1, 2, or 3).
* @param grad_T The temperature gradient (ignored in this model).
* @param ldx Leading dimension of the grad_X array.
* @param grad_X Gradients of the mole fraction
* Flat vector with the m_nsp in the inner loop.
* length = ldx * ndim
* @param ldf Leading dimension of the grad_V and current vectors.
* @param grad_V The electrostatic potential gradient.
* @param current The electric current in A/m^2.
*/
virtual void getElectricCurrent(int ndim,
const doublereal* grad_T,
int ldx,
@ -543,26 +543,29 @@ namespace Cantera {
* length = ldx * ndim
*/
virtual void getSpeciesVdiffES(int ndim, const doublereal* grad_T,
int ldx, const doublereal* grad_X,
int ldf, const doublereal* grad_Phi,
doublereal* Vdiff) ;
int ldx, const doublereal* grad_X,
int ldf, const doublereal* grad_Phi,
doublereal* Vdiff) ;
//! Return the species diffusive mass fluxes wrt to
//! the averaged velocity in [kmol/m^2/s].
/*!
*
* The diffusive mass flux of species \e k is computed
* The diffusive mass flux of species \e k [kmol/m^2/s] is computed
* using the Stefan-Maxwell equation
*
* \f[
* X_i \nabla \mu_i
* = RT \sum_i \frac{X_i X_j}{D_{ij}}
* X_i \nabla \mu_i = RT \sum_i \frac{X_i X_j}{D_{ij}}
* ( \vec{V}_j - \vec{V}_i )
* \f]
*
* to determine the diffusion velocity and
*
* \f[
* \vec{N}_i = C_T X_i \vec{V}_i
* \f]
*
* to determine the diffusion flux. Here \f$ C_T \f$ is the
* total concentration of the mixture [kmol/m^3], \f$ D_{ij} \f$
* are the Stefa-Maxwell interaction parameters in [m^2/s],
@ -594,93 +597,92 @@ namespace Cantera {
* Flat vector with the m_nsp in the inner loop.
* length = ldx * ndim
*/
virtual void getSpeciesFluxes(int ndim,
const doublereal* grad_T,
int ldx, const doublereal* grad_X,
int ldf, doublereal* fluxes);
virtual void getSpeciesFluxes(int ndim, const doublereal * const grad_T,
int ldx, const doublereal * const grad_X,
int ldf, doublereal * const fluxes);
//! Return the species diffusive mass fluxes wrt to
//! the averaged velocity in [kmol/m^2/s].
/*!
*
* The diffusive mass flux of species \e k is computed
* using the Stefan-Maxwell equation
* \f[
* X_i \nabla \mu_i
* = RT \sum_i \frac{X_i X_j}{D_{ij}}
* ( \vec{V}_j - \vec{V}_i )
* \f]
* to determine the diffusion velocity and
* \f[
* \vec{N}_i = C_T X_i \vec{V}_i
* \f]
* to determine the diffusion flux. Here \f$ C_T \f$ is the
* total concentration of the mixture [kmol/m^3], \f$ D_{ij} \f$
* are the Stefa-Maxwell interaction parameters in [m^2/s],
* \f$ \vec{V}_{i} \f$ is the diffusion velocity of species \e i,
* \f$ \mu_i \f$ is the electrochemical potential of species \e i.
*
* The diffusion velocity is relative to an average velocity
* that can be computed on a mole-weighted
* or mass-weighted basis, or the diffusion velocities may
* be specified as relative to a specific species (i.e. a
* solvent) all according to the \verbatim <velocityBasis>
* \endverbatim input parameter.
//! Return the species diffusive mass fluxes wrt to
//! the averaged velocity in [kmol/m^2/s].
/*!
*
* The diffusive mass flux of species \e k is computed
* using the Stefan-Maxwell equation
* \f[
* X_i \nabla \mu_i
* = RT \sum_i \frac{X_i X_j}{D_{ij}}
* ( \vec{V}_j - \vec{V}_i )
* \f]
* to determine the diffusion velocity and
* \f[
* \vec{N}_i = C_T X_i \vec{V}_i
* \f]
* to determine the diffusion flux. Here \f$ C_T \f$ is the
* total concentration of the mixture [kmol/m^3], \f$ D_{ij} \f$
* are the Stefa-Maxwell interaction parameters in [m^2/s],
* \f$ \vec{V}_{i} \f$ is the diffusion velocity of species \e i,
* \f$ \mu_i \f$ is the electrochemical potential of species \e i.
*
* The diffusion velocity is relative to an average velocity
* that can be computed on a mole-weighted
* or mass-weighted basis, or the diffusion velocities may
* be specified as relative to a specific species (i.e. a
* solvent) all according to the \verbatim <velocityBasis>
* \endverbatim input parameter.
* @param ndim The number of spatial dimensions (1, 2, or 3).
* @param grad_T The temperature gradient (ignored in this model).
* (length = ndim)
* @param ldx Leading dimension of the grad_X array.
* (usually equal to m_nsp but not always)
* @param grad_X Gradients of the mole fraction
* Flat vector with the m_nsp in the inner loop.
* length = ldx * ndim
* @param ldf Leading dimension of the fluxes array
* (usually equal to m_nsp but not always)
* @param grad_Phi Gradients of the electrostatic potential
* length = ndim
* @param fluxes Output of the diffusive mass fluxes
* Flat vector with the m_nsp in the inner loop.
* length = ldx * ndim
*/
virtual void getSpeciesFluxesES(int ndim,
const doublereal* grad_T,
int ldx,
const doublereal* grad_X,
int ldf,
const doublereal* grad_Phi,
doublereal* fluxes);
* @param ndim The number of spatial dimensions (1, 2, or 3).
* @param grad_T The temperature gradient (ignored in this model).
* (length = ndim)
* @param ldx Leading dimension of the grad_X array.
* (usually equal to m_nsp but not always)
* @param grad_X Gradients of the mole fraction
* Flat vector with the m_nsp in the inner loop.
* length = ldx * ndim
* @param ldf Leading dimension of the fluxes array
* (usually equal to m_nsp but not always)
* @param grad_Phi Gradients of the electrostatic potential
* length = ndim
* @param fluxes Output of the diffusive mass fluxes
* Flat vector with the m_nsp in the inner loop.
* length = ldx * ndim
*/
virtual void getSpeciesFluxesES(int ndim,
const doublereal* grad_T,
int ldx,
const doublereal* grad_X,
int ldf,
const doublereal* grad_Phi,
doublereal* fluxes);
//! Return the species diffusive velocities relative to
//! the averaged velocity.
/*!
* This method acts similarly to getSpeciesVdiffES() but
* requires all gradients to be preset using methods
* set_Grad_X(), set_Grad_V(), set_Grad_T().
* See the documentation of getSpeciesVdiffES() for details.
*
* @param ldf Leading dimension of the Vdiff array.
* @param Vdiff Output of the diffusive velocities.
* Flat vector with the m_nsp in the inner loop.
* length = ldx * ndim
*/
//! Return the species diffusive velocities relative to
//! the averaged velocity.
/*!
* This method acts similarly to getSpeciesVdiffES() but
* requires all gradients to be preset using methods
* set_Grad_X(), set_Grad_V(), set_Grad_T().
* See the documentation of getSpeciesVdiffES() for details.
*
* @param ldf Leading dimension of the Vdiff array.
* @param Vdiff Output of the diffusive velocities.
* Flat vector with the m_nsp in the inner loop.
* length = ldx * ndim
*/
virtual void getSpeciesVdiffExt(int ldf, doublereal* Vdiff);
//! Return the species diffusive fluxes relative to
//! the averaged velocity.
/*!
* This method acts similarly to getSpeciesFluxesES() but
* requires all gradients to be preset using methods
* set_Grad_X(), set_Grad_V(), set_Grad_T().
* See the documentation of getSpeciesFluxesES() for details.
*
* units = kg/m2/s
*
* @param ldf Leading dimension of the Vdiff array.
* @param fluxes Output of the diffusive fluxes.
* Flat vector with the m_nsp in the inner loop.
* length = ldx * ndim
*/
//! Return the species diffusive fluxes relative to
//! the averaged velocity.
/*!
* This method acts similarly to getSpeciesFluxesES() but
* requires all gradients to be preset using methods
* set_Grad_X(), set_Grad_V(), set_Grad_T().
* See the documentation of getSpeciesFluxesES() for details.
*
* units = kg/m2/s
*
* @param ldf Leading dimension of the Vdiff array.
* @param fluxes Output of the diffusive fluxes.
* Flat vector with the m_nsp in the inner loop.
* length = ldx * ndim
*/
virtual void getSpeciesFluxesExt(int ldf, doublereal* fluxes);
protected:
@ -744,7 +746,7 @@ namespace Cantera {
* (i.e. temperature and composition of each species) which was first
* implemented in MargulesVPSSTP.cpp (LiquidTransport.h doxygen)
*/
virtual void update_Grad_lnAC();
virtual void update_Grad_lnAC();
//! Solve the stefan_maxell equations for the diffusive fluxes.
@ -924,7 +926,7 @@ namespace Cantera {
//! Ionic conductivity for each species expressed as an appropriate subclass
//! of LTPspecies
/*!
* These subclasses of LTPspecies evaluate the species-specific
* These subclasses of LTPspecies evaluate the species-specific
* transport properties according to the parameters parsed in
* TransportFactory::getLiquidSpeciesTransportData().
*/

View file

@ -266,21 +266,19 @@ namespace Cantera {
* @param ndim Number of dimensions in the flux expressions
* @param grad_T Gradient of the temperature
* (length = ndim)
* @param ldx Leading dimension of the grad_X array
* @param ldx Leading dimension of the grad_X array
* (usually equal to m_nsp but not always)
* @param grad_X Gradients of the mole fraction
* Flat vector with the m_nsp in the inner loop.
* length = ldx * ndim
* @param ldf Leading dimension of the fluxes array
* (usually equal to m_nsp but not always)
* @param fluxes Output of the diffusive mass fluxes
* Flat vector with the m_nsp in the inner loop.
* length = ldx * ndim
* @param grad_X Gradients of the mole fraction
* Flat vector with the m_nsp in the inner loop.
* length = ldx * ndim
* @param ldf Leading dimension of the fluxes array
* (usually equal to m_nsp but not always)
* @param fluxes Output of the diffusive mass fluxes
* Flat vector with the m_nsp in the inner loop.
* length = ldx * ndim
*/
virtual void getSpeciesFluxes(int ndim,
const doublereal* grad_T,
int ldx,
const doublereal* grad_X,
virtual void getSpeciesFluxes(int ndim, const doublereal* grad_T,
int ldx, const doublereal* grad_X,
int ldf, doublereal* fluxes);
//! Initialize the transport object

View file

@ -111,7 +111,7 @@ namespace Cantera {
MultiTransport::~MultiTransport() {
}
//====================================================================================================================
bool MultiTransport::initGas(GasTransportParams& tr) {
// constant mixture attributes
@ -272,7 +272,7 @@ namespace Cantera {
return vismix;
}
//====================================================================================================================
/******************* binary diffusion coefficients **************/
@ -408,13 +408,29 @@ namespace Cantera {
m_lmatrix_soln_ok = true;
}
/**
//====================================================================================================================
// Get the species diffusive mass fluxes wrt to the mass averaged velocity,
// given the gradients in mole fraction and temperature
/*
* Units for the returned fluxes are kg m-2 s-1.
*
* @param ndim Number of dimensions in the flux expressions
* @param grad_T Gradient of the temperature
* (length = ndim)
* @param ldx Leading dimension of the grad_X array
* (usually equal to m_nsp but not always)
* @param grad_X Gradients of the mole fraction
* Flat vector with the m_nsp in the inner loop.
* length = ldx * ndim
* @param ldf Leading dimension of the fluxes array
* (usually equal to m_nsp but not always)
* @param fluxes Output of the diffusive mass fluxes
* Flat vector with the m_nsp in the inner loop.
* length = ldx * ndim
*/
void MultiTransport::getSpeciesFluxes(int ndim,
const doublereal* grad_T, int ldx, const doublereal* grad_X,
int ldf, doublereal* fluxes) {
void MultiTransport::getSpeciesFluxes(int ndim, const doublereal * const grad_T, int ldx,
const doublereal * const grad_X,
int ldf, doublereal * const fluxes) {
// update the binary diffusion coefficients if necessary
updateDiff_T();

View file

@ -140,8 +140,7 @@ namespace Cantera {
*/
virtual void getMixDiffCoeffs(doublereal* const d);
//! Get the species diffusive mass fluxes wrt to
//! the mass averaged velocity,
//! Get the species diffusive mass fluxes wrt to the mass averaged velocity,
//! given the gradients in mole fraction and temperature
/*!
* Units for the returned fluxes are kg m-2 s-1.
@ -160,12 +159,9 @@ namespace Cantera {
* Flat vector with the m_nsp in the inner loop.
* length = ldx * ndim
*/
virtual void getSpeciesFluxes(int ndim,
const doublereal* grad_T,
int ldx,
const doublereal* grad_X,
int ldf,
doublereal* fluxes);
virtual void getSpeciesFluxes(int ndim, const doublereal * const grad_T,
int ldx, const doublereal * const grad_X,
int ldf, doublereal * const fluxes);
//! Get the molar diffusional fluxes [kmol/m^2/s] of the species, given the thermodynamic
//! state at two nearby points.

View file

@ -596,21 +596,39 @@ namespace Cantera {
dt[k] = 0.0;
}
}
//================================================================================================
/**
* @param ndim The number of spatial dimensions (1, 2, or 3).
* @param grad_T The temperature gradient (ignored in this model).
* @param ldx Leading dimension of the grad_X array.
* The diffusive mass flux of species \e k is computed from
//================================================================================================
// Get the species diffusive mass fluxes wrt to the specified solution averaged velocity,
// given the gradients in mole fraction and temperature
/*
* units = kg/m2/s
*
* \f[
* \vec{j}_k = -n M_k D_k \nabla X_k.
* \f]
* The diffusive mass flux of species \e k is computed from the following
* formula
*
* Usually the specified solution average velocity is the mass averaged velocity.
* This is changed in some subclasses, however.
*
* \f[
* j_k = - \rho M_k D_k \nabla X_k - Y_k V_c
* \f]
*
* where V_c is the correction velocity
*
* \f[
* V_c = - \sum_j {\rho M_j D_j \nabla X_j}
* \f]
*
*
* @param ndim The number of spatial dimensions (1, 2, or 3).
* @param grad_T The temperature gradient (ignored in this model).
* @param ldx Leading dimension of the grad_X array.
* @param grad_X Gradient of the mole fractions(length nsp * num dimensions);
* @param ldf Leading dimension of the fluxes array.
* @param fluxes Output fluxes of species.
*/
void SimpleTransport::getSpeciesFluxes(int ndim,
const doublereal* grad_T,
int ldx, const doublereal* grad_X,
int ldf, doublereal* fluxes) {
void SimpleTransport::getSpeciesFluxes(int ndim, const doublereal * const grad_T,
int ldx, const doublereal * const grad_X,
int ldf, doublereal * const fluxes) {
set_Grad_T(grad_T);
set_Grad_X(grad_X);
getSpeciesFluxesExt(ldf, fluxes);

View file

@ -316,29 +316,32 @@ namespace Cantera {
*
* @param grad_V Gradient of the voltage (length num dimensions);
*/
virtual void set_Grad_V(const doublereal* const grad_V);
virtual void set_Grad_V(const doublereal * const grad_V);
//! Specify the value of the gradient of the temperature
/*!
* @param grad_T Gradient of the temperature (length num dimensions);
*/
virtual void set_Grad_T(const doublereal* const grad_T);
virtual void set_Grad_T(const doublereal * const grad_T);
//! Specify the value of the gradient of the MoleFractions
/*!
*
* @param grad_X Gradient of the mole fractions(length nsp * num dimensions);
*/
virtual void set_Grad_X(const doublereal* const grad_X);
virtual void set_Grad_X(const doublereal * const grad_X);
//! Return the species fluxes given gradients in temperature and mole fraction
//! Get the species diffusive mass fluxes wrt to the specified solution averaged velocity,
//! given the gradients in mole fraction and temperature
/*!
* units = kg/m2/s
*
* The diffusive mass flux of species \e k is computed from the following
* formula
*
*
*
* Usually the specified solution average velocity is the mass averaged velocity.
* This is changed in some subclasses, however.
*
* \f[
* j_k = - \rho M_k D_k \nabla X_k - Y_k V_c
* \f]
@ -357,10 +360,9 @@ namespace Cantera {
* @param ldf Leading dimension of the fluxes array.
* @param fluxes Output fluxes of species.
*/
virtual void getSpeciesFluxes(int ndim,
const doublereal* grad_T,
int ldx, const doublereal* grad_X,
int ldf, doublereal* fluxes);
virtual void getSpeciesFluxes(int ndim, const doublereal * const grad_T,
int ldx, const doublereal * const grad_X,
int ldf, doublereal * const fluxes);
//! Return the species diffusive mass fluxes wrt to
//! the mass averaged velocity,

View file

@ -142,4 +142,11 @@ namespace Cantera {
"finalize has already been called.");
}
//====================================================================================================================
void Transport::getSpeciesFluxes(int ndim, const doublereal * const grad_T,
int ldx, const doublereal * const grad_X,
int ldf, doublereal * const fluxes) {
err("getSpeciesFluxes");
}
//====================================================================================================================
}

View file

@ -514,34 +514,31 @@ namespace Cantera {
}
//! Get the species diffusive mass fluxes wrt to
//! the mass averaged velocity,
//! Get the species diffusive mass fluxes wrt to the specified solution averaged velocity,
//! given the gradients in mole fraction and temperature
/*!
* Units for the returned fluxes are kg m-2 s-1.
*
* Usually the specified solution average velocity is the mass averaged velocity.
* This is changed in some subclasses, however.
*
* @param ndim Number of dimensions in the flux expressions
* @param grad_T Gradient of the temperature
* (length = ndim)
* @param ldx Leading dimension of the grad_X array
* (usually equal to m_nsp but not always)
* @param grad_X Gradients of the mole fraction
* Flat vector with the m_nsp in the inner loop.
* length = ldx * ndim
* @param ldf Leading dimension of the fluxes array
* (usually equal to m_nsp but not always)
* @param fluxes Output of the diffusive mass fluxes
* Flat vector with the m_nsp in the inner loop.
* length = ldx * ndim
* @param ndim Number of dimensions in the flux expressions
* @param grad_T Gradient of the temperature
* (length = ndim)
* @param ldx Leading dimension of the grad_X array
* (usually equal to m_nsp but not always)
* @param grad_X Gradients of the mole fraction
* Flat vector with the m_nsp in the inner loop.
* length = ldx * ndim
* @param ldf Leading dimension of the fluxes array
* (usually equal to m_nsp but not always)
* @param fluxes Output of the diffusive mass fluxes
* Flat vector with the m_nsp in the inner loop.
* length = ldx * ndim
*/
virtual void getSpeciesFluxes(int ndim,
const doublereal* grad_T,
int ldx,
const doublereal* grad_X,
int ldf,
doublereal* fluxes) {
err("getSpeciesFluxes");
}
virtual void getSpeciesFluxes(int ndim, const doublereal * const grad_T,
int ldx, const doublereal * const grad_X,
int ldf, doublereal * const fluxes);
//! Get the species diffusive mass fluxes wrt to
//! the mass averaged velocity,

View file

@ -50,14 +50,20 @@
#include <cstring>
/**
* polynomial degree used for fitting collision integrals
* except in CK mode, where the degree is 6.
*/
//! polynomial degree used for fitting collision integrals
//! except in CK mode, where the degree is 6.
#define COLL_INT_POLY_DEGREE 8
namespace Cantera {
/////////////////////////// constants //////////////////////////
//@ \cond
const doublereal ThreeSixteenths = 3.0/16.0;
const doublereal TwoOverPi = 2.0/Pi;
const doublereal FiveThirds = 5.0/3.0;
//@ \endcond
//====================================================================================================================
TransportFactory* TransportFactory::s_factory = 0;
@ -84,11 +90,6 @@ namespace Cantera {
}
};
//====================================================================================================================
/////////////////////////// constants //////////////////////////
const doublereal ThreeSixteenths = 3.0/16.0;
const doublereal TwoOverPi = 2.0/Pi;
const doublereal FiveThirds = 5.0/3.0;
//////////////////// class TransportFactory methods //////////////