Cantera  2.3.0
SimpleTransport.h
Go to the documentation of this file.
1 /**
2  * @file SimpleTransport.h
3  * Header file for the class SimpleTransport which provides simple
4  * transport properties for liquids and solids
6  */
7
8 // This file is part of Cantera. See License.txt in the top-level directory or
10
11 #ifndef CT_SIMPLETRAN_H
12 #define CT_SIMPLETRAN_H
13
14 #include "LiquidTransportParams.h"
15
16 namespace Cantera
17 {
18 //! Class SimpleTransport implements mixture-averaged transport properties for
19 //! liquid phases.
20 /*!
21  * The model is based on that described by Newman, Electrochemical Systems
22  *
23  * The velocity of species i may be described by the following equation p. 297
24  * (12.1)
25  *
26  * \f[
27  * c_i \nabla \mu_i = R T \sum_j \frac{c_i c_j}{c_T D_{ij}}
28  * (\mathbf{v}_j - \mathbf{v}_i)
29  * \f]
30  *
31  * This as written is degenerate by 1 dof.
32  *
33  * To fix this we must add in the definition of the mass averaged velocity of
34  * the solution. We will call the simple bold-faced \f$\mathbf{v} \f$ symbol the
35  * mass-averaged velocity. Then, the relation between \f$\mathbf{v}\f$ and the
36  * individual species velocities is \f$\mathbf{v}_i\f$
37  *
38  * \f[
39  * \rho_i \mathbf{v}_i = \rho_i \mathbf{v} + \mathbf{j}_i
40  * \f]
41  * where \f$\mathbf{j}_i\f$ are the diffusional fluxes of species i with respect
42  * to the mass averaged velocity and
43  *
44  * \f[
45  * \sum_i \mathbf{j}_i = 0
46  * \f]
47  *
48  * and
49  *
50  * \f[
51  * \sum_i \rho_i \mathbf{v}_i = \rho \mathbf{v}
52  * \f]
53  *
54  * Using these definitions, we can write
55  *
56  * \f[
57  * \mathbf{v}_i = \mathbf{v} + \frac{\mathbf{j}_i}{\rho_i}
58  * \f]
59  *
60  * \f[
61  * c_i \nabla \mu_i = R T \sum_j \frac{c_i c_j}{c_T D_{ij}}
62  * (\frac{\mathbf{j}_j}{\rho_j} - \frac{\mathbf{j}_i}{\rho_i})
63  * = R T \sum_j \frac{1}{D_{ij}}
64  * (\frac{x_i \mathbf{j}_j}{M_j} - \frac{x_j \mathbf{j}_i}{M_i})
65  * \f]
66  *
67  * The equations that we actually solve are
68  *
69  * \f[
70  * c_i \nabla \mu_i =
71  * = R T \sum_j \frac{1}{D_{ij}}
72  * (\frac{x_i \mathbf{j}_j}{M_j} - \frac{x_j \mathbf{j}_i}{M_i})
73  * \f]
74  * and we replace the 0th equation with the following:
75  *
76  * \f[
77  * \sum_i \mathbf{j}_i = 0
78  * \f]
79  *
80  * When there are charged species, we replace the RHS with the gradient of the
81  * electrochemical potential to obtain the modified equation
82  *
83  * \f[
84  * c_i \nabla \mu_i + c_i F z_i \nabla \Phi
85  * = R T \sum_j \frac{1}{D_{ij}}
86  * (\frac{x_i \mathbf{j}_j}{M_j} - \frac{x_j \mathbf{j}_i}{M_i})
87  * \f]
88  *
89  * With this formulation we may solve for the diffusion velocities, without
90  * having to worry about what the mass averaged velocity is.
91  *
92  * ## Viscosity Calculation
93  *
94  * The viscosity calculation may be broken down into two parts. In the first
95  * part, the viscosity of the pure species are calculated In the second part, a
96  * mixing rule is applied. There are two mixing rules. Solvent-only and mixture-
97  * averaged.
98  *
99  * For the solvent-only mixing rule, we use the pure species viscosity
100  * calculated for the solvent as the viscosity of the entire mixture. For the
101  * mixture averaged rule we do a mole fraction based average of the pure species
102  * viscosities:
103  *
104  * Solvent-only:
105  * \f[
106  * \mu = \mu_0
107  * \f]
108  * Mixture-average:
109  * \f[
110  * \mu = \sum_k {\mu_k X_k}
111  * \f]
112  *
113  * ## Calculate of the Binary Diffusion Coefficients
114  *
115  * The binary diffusion coefficients are obtained from the pure species
116  * diffusion coefficients using an additive process
117  *
118  * \f[
119  * D_{i,j} = \frac{1}{2} \left( D^0_i(T) + D^0_j(T) \right)
120  * \f]
121  *
122  * ## Electrical Mobilities
123  *
124  * The mobility \f$\mu^e_k \f$ is calculated from the diffusion coefficient
125  * using the Einstein relation.
126  *
127  * \f[
128  * \mu^e_k = \frac{F D_k}{R T}
129  * \f]
130  *
131  * The diffusion coefficients, \f$D_k \f$ , is calculated from a call to the
132  * mixture diffusion coefficient routine.
133  *
134  * ## Species Diffusive Fluxes
135  *
136  * The diffusive mass flux of species \e k is computed from the following
137  * formula
138  *
139  * Usually the specified solution average velocity is the mass averaged
140  * velocity. This is changed in some subclasses, however.
141  *
142  * \f[
143  * j_k = - c^T M_k D_k \nabla X_k - \rho Y_k V_c
144  * \f]
145  *
146  * where V_c is the correction velocity
147  *
148  * \f[
149  * \rho V_c = - \sum_j {c^T M_j D_j \nabla X_j}
150  * \f]
151  *
152  * In the above equation, \f$D_k \f$ is the mixture diffusivity for species k
153  * calculated for the current conditions, which may depend on T, P, and X_k. \f$154 * C^T \f$ is the total concentration of the phase.
155  *
156  * When this is electrical migration, the formulas above are enhanced to
157  *
158  * \f[
159  * j_k = - C^T M_k D_k \nabla X_k + F C^T M_k \frac{D_k}{ R T } X_k z_k \nabla V - \rho Y_k V_c
160  * \f]
161  *
162  * where V_c is the correction velocity
163  *
164  * \f[
165  * \rho V_c = - \sum_j {c^T M_j D_j \nabla X_j} + \sum_j F C^T M_j \frac{D_j}{ R T } X_j z_j \nabla V
166  * \f]
167  *
168  * ## Species Diffusional Velocities
169  *
170  * Species diffusional velocities are calculated from the species diffusional
171  * fluxes, within this object, using the following formula for the diffusional
172  * velocity of the kth species, \f$V_k^d \f$
173  *
174  * \f[
175  * j_k = \rho Y_k V_k^d
176  * \f]
177  *
178  * TODO: This object has to be made compatible with different types of reference
179  * velocities. Right now, elements of the formulas are only compatible with the
180  * mass-averaged velocity.
181  *
182  * @ingroup tranprops
183  */
185 {
186 public:
187  //! Default constructor.
188  /*!
189  * This requires call to initLiquid(LiquidTransportParams& tr) after filling
190  * LiquidTransportParams to complete instantiation. The filling of
191  * LiquidTransportParams is currently carried out in the TransportFactory
192  * class, but might be moved at some point.
193  *
194  * @param thermo ThermoPhase object holding species information.
195  * @param ndim Number of spatial dimensions.
196  */
197  SimpleTransport(thermo_t* thermo = 0, int ndim = 1);
198
199  SimpleTransport(const SimpleTransport& right);
200  SimpleTransport& operator=(const SimpleTransport& right);
201  virtual Transport* duplMyselfAsTransport() const;
202  virtual ~SimpleTransport();
203
204  //! Initialize the transport object
205  /*!
206  * Here we change all of the internal dimensions to be sufficient.
207  * We get the object ready to do property evaluations.
208  *
209  * @param tr Transport parameters for all of the species in the phase.
210  */
211  virtual bool initLiquid(LiquidTransportParams& tr);
212
213  virtual int model() const {
214  warn_deprecated("SimpleTransport::model",
215  "To be removed after Cantera 2.3.");
216  return cSimpleTransport;
217  }
218
219  virtual std::string transportType() const {
220  return "Simple";
221  }
222
223  //! Returns the mixture viscosity of the solution
224  /*!
225  * The viscosity is computed using the general mixture rules
226  * specified in the variable compositionDepType_.
227  *
228  * Solvent-only:
229  * \f[
230  * \mu = \mu_0
231  * \f]
232  * Mixture-average:
233  * \f[
234  * \mu = \sum_k {\mu_k X_k}
235  * \f]
236  *
237  * Here \f$\mu_k \f$ is the viscosity of pure species \e k.
238  *
239  * units are Pa s or kg/m/s
240  *
241  * @see updateViscosity_T();
242  */
243  virtual doublereal viscosity();
244
245  //! Returns the pure species viscosities
246  /*!
247  * The pure species viscosities are to be given in an Arrhenius form in
248  * accordance with activated-jump-process dominated transport.
249  *
250  * units are Pa s or kg/m/s
251  *
252  * @param visc Return the species viscosities as a vector of length m_nsp
253  */
254  virtual void getSpeciesViscosities(doublereal* const visc);
255
256  //! Returns the binary diffusion coefficients
257  virtual void getBinaryDiffCoeffs(const size_t ld, doublereal* const d);
258
259  //! Get the Mixture diffusion coefficients
260  /*!
261  * @param d vector of mixture diffusion coefficients
262  * units = m2 s-1. length = number of species
263  */
264  virtual void getMixDiffCoeffs(doublereal* const d);
265
266  //! Return the thermal diffusion coefficients
267  /*!
268  * These are all zero for this simple implementation
269  *
270  * @param dt thermal diffusion coefficients
271  */
272  virtual void getThermalDiffCoeffs(doublereal* const dt);
273
274  //! Returns the mixture thermal conductivity of the solution
275  /*!
276  * The thermal is computed using the general mixture rules
277  * specified in the variable compositionDepType_.
278  *
279  * Controlling update boolean = m_condmix_ok
280  *
281  * Units are in W/m/K or equivalently kg m / s3 / K
282  *
283  * Solvent-only:
284  * \f[
285  * \lambda = \lambda_0
286  * \f]
287  * Mixture-average:
288  * \f[
289  * \lambda = \sum_k {\lambda_k X_k}
290  * \f]
291  *
292  * Here \f$\lambda_k \f$ is the thermal conductivity of pure species \e k.
293  *
294  * @see updateCond_T();
295  */
296  virtual doublereal thermalConductivity();
297
298  virtual void getMobilities(doublereal* const mobil_e);
299
300  virtual void getFluidMobilities(doublereal* const mobil_f);
301
302  //! Specify the value of the gradient of the voltage
303  /*!
305  */
307
308  //! Specify the value of the gradient of the temperature
309  /*!
311  */
313
314  //! Specify the value of the gradient of the MoleFractions
315  /*!
316  * @param grad_X Gradient of the mole fractions(length nsp * num dimensions);
317  */
319
320  //! Get the species diffusive velocities wrt to the averaged velocity,
321  //! given the gradients in mole fraction and temperature
322  /*!
323  * The average velocity can be computed on a mole-weighted
324  * or mass-weighted basis, or the diffusion velocities may
325  * be specified as relative to a specific species (i.e. a
326  * solvent) all according to the velocityBasis input parameter.
327  *
328  * Units for the returned velocities are m s-1.
329  *
330  * @param ndim Number of dimensions in the flux expressions
332  * @param ldx Leading dimension of the grad_X array (usually equal to
333  * m_nsp but not always)
334  * @param grad_X Gradients of the mole fraction. Flat vector with the m_nsp
335  * in the inner loop. length = ldx * ndim
336  * @param ldf Leading dimension of the fluxes array (usually equal to
337  * m_nsp but not always)
338  * @param Vdiff Output of the diffusive velocities. Flat vector with the
339  * m_nsp in the inner loop. length = ldx * ndim
340  */
341  virtual void getSpeciesVdiff(size_t ndim,
343  int ldx,
345  int ldf,
346  doublereal* Vdiff);
347
348  //! Get the species diffusive velocities wrt to the averaged velocity, given
349  //! the gradients in mole fraction, temperature and electrostatic potential.
350  /*!
351  * The average velocity can be computed on a mole-weighted
352  * or mass-weighted basis, or the diffusion velocities may
353  * be specified as relative to a specific species (i.e. a
354  * solvent) all according to the velocityBasis input parameter.
355  *
356  * Units for the returned velocities are m s-1.
357  *
358  * @param ndim Number of dimensions in the flux expressions
360  * @param ldx Leading dimension of the grad_X array (usually equal
361  * to m_nsp but not always)
362  * @param grad_X Gradients of the mole fraction. Flat vector with the
363  * m_nsp in the inner loop. length = ldx * ndim
364  * @param ldf Leading dimension of the fluxes array (usually equal to
365  * m_nsp but not always)
367  * ndim)
368  * @param Vdiff Output of the species diffusion velocities. Flat vector
369  * with the m_nsp in the inner loop. length = ldx * ndim
370  */
371  virtual void getSpeciesVdiffES(size_t ndim, const doublereal* grad_T,
372  int ldx, const doublereal* grad_X,
373  int ldf, const doublereal* grad_Phi,
374  doublereal* Vdiff);
375
376  //! Get the species diffusive mass fluxes wrt to the specified solution
377  //! averaged velocity, given the gradients in mole fraction and temperature
378  /*!
379  * units = kg/m2/s
380  *
381  * The diffusive mass flux of species \e k is computed from the following
382  * formula
383  *
384  * Usually the specified solution average velocity is the mass averaged
385  * velocity. This is changed in some subclasses, however.
386  *
387  * \f[
388  * j_k = - \rho M_k D_k \nabla X_k - Y_k V_c
389  * \f]
390  *
391  * where V_c is the correction velocity
392  *
393  * \f[
394  * V_c = - \sum_j {\rho M_j D_j \nabla X_j}
395  * \f]
396  *
397  * @param ndim The number of spatial dimensions (1, 2, or 3).
400  * @param grad_X Gradient of the mole fractions(length nsp * num dimensions);
401  * @param ldf Leading dimension of the fluxes array.
402  * @param fluxes Output fluxes of species.
403  */
404  virtual void getSpeciesFluxes(size_t ndim, const doublereal* const grad_T,
405  size_t ldx, const doublereal* const grad_X,
406  size_t ldf, doublereal* const fluxes);
407
408  //! Return the species diffusive mass fluxes wrt to the mass averaged
409  //! velocity,
410  /*!
411  * units = kg/m2/s
412  *
413  * Internally, gradients in the in mole fraction, temperature
414  * and electrostatic potential contribute to the diffusive flux
415  *
416  * The diffusive mass flux of species \e k is computed from the following
417  * formula
418  *
419  * \f[
420  * j_k = - \rho M_k D_k \nabla X_k - Y_k V_c
421  * \f]
422  *
423  * where V_c is the correction velocity
424  *
425  * \f[
426  * V_c = - \sum_j {\rho M_j D_j \nabla X_j}
427  * \f]
428  *
429  * @param ldf stride of the fluxes array. Must be equal to or greater
430  * than the number of species.
431  * @param fluxes Vector of calculated fluxes
432  */
433  virtual void getSpeciesFluxesExt(size_t ldf, doublereal* fluxes);
434
435 protected:
436  //! Handles the effects of changes in the Temperature, internally within the
437  //! object.
438  /*!
439  * This is called whenever a transport property is requested. The first task
440  * is to check whether the temperature has changed since the last call to
441  * update_T(). If it hasn't then an immediate return is carried out.
442  *
443  * @returns true if the temperature has changed, and false otherwise
444  */
445  virtual bool update_T();
446
447  //! Handles the effects of changes in the mixture concentration
448  /*!
449  * This is called for every interface call to check whether the
450  * concentrations have changed. Concentrations change whenever the pressure
451  * or the mole fraction has changed. If it has changed, the recalculations
452  * should be done.
453  *
454  * Note this should be a lightweight function since it's part of all of the
455  * interfaces.
456  */
457  virtual bool update_C();
458
459  //! Update the temperature-dependent viscosity terms. Updates the array of
460  //! pure species viscosities, and the weighting functions in the viscosity
461  //! mixture rule.
462  /*!
463  * The flag m_visc_temp_ok is set to true.
464  */
465  void updateViscosity_T();
466
467  //! Update the temperature-dependent parts of the mixture-averaged
468  //! thermal conductivity.
469  void updateCond_T();
470
471  //! Update the binary diffusion coefficients wrt T.
472  /*!
473  * These are evaluated from the polynomial fits at unit pressure (1 Pa).
474  */
475  void updateDiff_T();
476
477 private:
478  //! Temperature dependence type
479  /*!
480  * The following coefficients are allowed to have simple temperature
481  * dependencies:
482  * - mixture viscosity
483  * - mixture thermal conductivity
484  * - diffusitivy
485  *
486  * Types of temperature dependencies:
487  * 0 - Independent of temperature (only one implemented so far)
488  * 1 - extended arrhenius form
489  * 2 - polynomial in temperature form
490  */
492
493  //! Composition dependence of the transport properties
494  /*!
495  * The following coefficients are allowed to have simple composition
496  * dependencies:
497  * - mixture viscosity
498  * - mixture thermal conductivity
499  *
500  * Permissible types of composition dependencies
501  * 0 - Solvent values (i.e., species 0) contributes only
502  * 1 - linear combination of mole fractions;
503  */
505
506  //! Boolean indicating whether to use the hydrodynamic radius formulation
507  /*!
508  * If true, then the diffusion coefficient is calculated from the
510  */
512
513  //! Boolean indicating whether electro-migration term should be added
515
516  //! Local Copy of the molecular weights of the species
517  /*!
518  * Length is Equal to the number of species in the mechanism.
519  */
521
522  //! Pure species viscosities in Arrhenius temperature-dependent form.
523  std::vector<LTPspecies*> m_coeffVisc_Ns;
524
525  //! Pure species thermal conductivities in Arrhenius temperature-dependent form.
526  std::vector<LTPspecies*> m_coeffLambda_Ns;
527
528  //! Pure species viscosities in Arrhenius temperature-dependent form.
529  std::vector<LTPspecies*> m_coeffDiff_Ns;
530
531  //! Hydrodynamic radius in LTPspecies form
533
534  //! Internal value of the gradient of the mole fraction vector
535  /*!
536  * Note, this is the only gradient value that can and perhaps should reflect
537  * the true state of the mole fractions in the application solution vector.
538  * In other words no cropping or massaging of the values to make sure they
539  * are above zero should occur. - developing ....
540  *
541  * m_nsp is the number of species in the fluid
542  * k is the species index
543  * n is the dimensional index (x, y, or z). It has a length equal to m_nDim
544  *
546  */
548
549  //! Internal value of the gradient of the Temperature vector
550  /*!
551  * Generally, if a transport property needs this in its evaluation it
552  * will look to this place to get it.
553  *
555  * are assumed to be freshly updated before every property call.
556  */
558
559  //! Internal value of the gradient of the Pressure vector
560  /*!
561  * Generally, if a transport property needs this in its evaluation it
562  * will look to this place to get it.
563  *
565  * are assumed to be freshly updated before every property call.
566  */
568
569  //! Internal value of the gradient of the Electric Voltage
570  /*!
571  * Generally, if a transport property needs this in its evaluation it
572  * will look to this place to get it.
573  *
575  * are assumed to be freshly updated before every property call.
576  */
578
579  // property values
580
581  //! Vector of Species Diffusivities
582  /*!
583  * Depends on the temperature. We have set the pressure dependence to zero
584  * for this liquid phase constituitve model
585  *
586  * units m2/s
587  */
589
590  //! Species viscosities
591  /*!
592  * Viscosity of the species
593  * Length = number of species
594  *
595  * Depends on the temperature. We have set the pressure dependence to zero
596  * for this model
597  *
598  * controlling update boolean -> m_visc_temp_ok
599  */
601
602  //! Internal value of the species individual thermal conductivities
603  /*!
604  * Then a mixture rule is applied to get the solution conductivities
605  *
606  * Depends on the temperature and perhaps pressure, but
607  * not the species concentrations
608  *
609  * controlling update boolean -> m_cond_temp_ok
610  */
612
613  //! State of the mole fraction vector.
615
616  //! Local copy of the mole fractions of the species in the phase
617  /*!
618  * The mole fractions here are assumed to be bounded by 0.0 and 1.0 and they
619  * are assumed to add up to one exactly. This mole fraction vector comes
620  * from the ThermoPhase object. Derivative quantities from this are referred
621  * to as bounded.
622  *
623  * Update info?
624  * length = m_nsp
625  */
627
628  //! Local copy of the concentrations of the species in the phase
629  /*!
630  * The concentrations are consistent with the m_molefracs vector which is
631  * bounded and sums to one.
632  *
633  * Update info?
634  * length = m_nsp
635  */
637
638  //! Local copy of the total concentration.
639  /*!
640  * This is consistent with the m_concentrations[] and m_molefracs[] vector.
641  */
642  doublereal concTot_;
643
644  //! Mean molecular weight
646
647  //! Density
648  doublereal dens_;
649
650  //! Local copy of the charge of each species
651  /*!
652  * Contains the charge of each species (length m_nsp)
653  */
655
656  //! Current Temperature -> locally stored
657  /*!
658  * This is used to test whether new temperature computations should be
659  * performed.
660  */
661  doublereal m_temp;
662
663  //! Current value of the pressure
664  doublereal m_press;
665
666  //! Saved value of the mixture thermal conductivity
667  doublereal m_lambda;
668
669  //! Saved value of the mixture viscosity
670  doublereal m_viscmix;
671
672  //! work space
673  /*!
674  * Length is equal to m_nsp
675  */
677
678  vector_fp m_fluxes;
679
680  //! Boolean indicating that the top-level mixture viscosity is current
681  /*!
682  * This is turned false for every change in T, P, or C.
683  */
685
686  //! Boolean indicating that weight factors wrt viscosity is current
688
689  //! Boolean indicating that mixture diffusion coeffs are current
691
692  //! Boolean indicating that binary diffusion coeffs are current
694
695  //! Flag to indicate that the pure species conductivities
696  //! are current wrt the temperature
698
699  //! Boolean indicating that mixture conductivity is current
701
702  //! Number of dimensions
703  /*!
704  * Either 1, 2, or 3
705  */
706  size_t m_nDim;
707
708  //! Temporary variable that stores the rho Vc value
709  double rhoVc;
710 };
711 }
712 #endif
bool m_visc_temp_ok
Boolean indicating that weight factors wrt viscosity is current.
Internal value of the gradient of the Temperature vector.
Internal value of the gradient of the Electric Voltage.
Internal value of the gradient of the Pressure vector.
virtual bool initLiquid(LiquidTransportParams &tr)
Initialize the transport object.
vector_fp m_spwork
work space
bool m_visc_mix_ok
Boolean indicating that the top-level mixture viscosity is current.
virtual void getBinaryDiffCoeffs(const size_t ld, doublereal *const d)
Returns the binary diffusion coefficients.
virtual void getSpeciesFluxes(size_t ndim, const doublereal *const grad_T, size_t ldx, const doublereal *const grad_X, size_t ldf, doublereal *const fluxes)
Get the species diffusive mass fluxes wrt to the specified solution averaged velocity, given the gradients in mole fraction and temperature.
doublereal m_viscmix
Saved value of the mixture viscosity.
double rhoVc
Temporary variable that stores the rho Vc value.
virtual bool update_T()
Handles the effects of changes in the Temperature, internally within the object.
virtual Transport * duplMyselfAsTransport() const
Duplication routine for objects which inherit from Transport.
bool m_cond_mix_ok
Boolean indicating that mixture conductivity is current.
Base class for transport property managers.
void warn_deprecated(const std::string &method, const std::string &extra)
Print a warning indicating that method is deprecated.
Definition: global.cpp:54
enum LiquidTranMixingModel compositionDepType_
Composition dependence of the transport properties.
void updateDiff_T()
Update the binary diffusion coefficients wrt T.
virtual void getMobilities(doublereal *const mobil_e)
Get the Electrical mobilities (m^2/V/s).
virtual bool update_C()
Handles the effects of changes in the mixture concentration.
doublereal m_lambda
Saved value of the mixture thermal conductivity.
Internal value of the gradient of the mole fraction vector.
void updateCond_T()
Update the temperature-dependent parts of the mixture-averaged thermal conductivity.
int m_iStateMF
State of the mole fraction vector.
Base class for a phase with thermodynamic properties.
Definition: ThermoPhase.h:93
Class LiquidTransportParams holds transport model parameters relevant to transport in mixtures...
doublereal meanMolecularWeight_
Mean molecular weight.
bool m_diff_temp_ok
Boolean indicating that binary diffusion coeffs are current.
virtual void getFluidMobilities(doublereal *const mobil_f)
Get the fluid mobilities (s kmol/kg).
std::vector< LTPspecies * > m_coeffVisc_Ns
Pure species viscosities in Arrhenius temperature-dependent form.
virtual void getMixDiffCoeffs(doublereal *const d)
Get the Mixture diffusion coefficients.
virtual void getSpeciesVdiffES(size_t ndim, const doublereal *grad_T, int ldx, const doublereal *grad_X, int ldf, const doublereal *grad_Phi, doublereal *Vdiff)
Get the species diffusive velocities wrt to the averaged velocity, given the gradients in mole fracti...
vector_fp m_diffSpecies
Vector of Species Diffusivities.
vector_fp m_viscSpecies
Species viscosities.
LiquidTranMixingModel
Composition dependence type for liquid mixture transport properties.
int tempDepType_
Temperature dependence type.
std::vector< LTPspecies * > m_coeffLambda_Ns
Pure species thermal conductivities in Arrhenius temperature-dependent form.
SimpleTransport(thermo_t *thermo=0, int ndim=1)
Default constructor.
doublereal m_press
Current value of the pressure.
virtual int model() const
Transport model.
virtual std::string transportType() const
Identifies the Transport object type.
Specify the value of the gradient of the MoleFractions.
virtual void getSpeciesVdiff(size_t ndim, const doublereal *grad_T, int ldx, const doublereal *grad_X, int ldf, doublereal *Vdiff)
Get the species diffusive velocities wrt to the averaged velocity, given the gradients in mole fracti...
virtual doublereal thermalConductivity()
Returns the mixture thermal conductivity of the solution.
thermo_t & thermo()
Specify the value of the gradient of the voltage.
doublereal concTot_
Local copy of the total concentration.
vector_fp m_concentrations
Local copy of the concentrations of the species in the phase.
void updateViscosity_T()
Update the temperature-dependent viscosity terms.
virtual void getThermalDiffCoeffs(doublereal *const dt)
Return the thermal diffusion coefficients.
doublereal dens_
Density.
virtual doublereal viscosity()
Returns the mixture viscosity of the solution.
doublereal m_temp
Current Temperature -> locally stored.
std::vector< double > vector_fp
Turn on the use of stl vectors for the basic array type within cantera Vector of doubles.
Definition: ct_defs.h:157
vector_fp m_condSpecies
Internal value of the species individual thermal conductivities.
bool doMigration_
Boolean indicating whether electro-migration term should be added.
Boolean indicating whether to use the hydrodynamic radius formulation.
virtual void getSpeciesFluxesExt(size_t ldf, doublereal *fluxes)
Return the species diffusive mass fluxes wrt to the mass averaged velocity,.
size_t m_nDim
Number of dimensions.
vector_fp m_chargeSpecies
Local copy of the charge of each species.
bool m_cond_temp_ok
Flag to indicate that the pure species conductivities are current wrt the temperature.
Namespace for the Cantera kernel.
Definition: application.cpp:29
vector_fp m_molefracs
Local copy of the mole fractions of the species in the phase.
virtual void getSpeciesViscosities(doublereal *const visc)
Returns the pure species viscosities.