Commit graph

1821 commits

Author SHA1 Message Date
John Hewson
2492db9750 TransportParams.h, LiquidTransportParams.h, LiquidTransportData.h
Moved temperature fits polynomials for viscosity, conductivity,
diffusivity from TransportParams to GasTransportParams.

Defined mixing model enumeration for liquid species-species
interactions in LiquidTransportParams
  enum LiquidTranMixingModel {
    LTR_MIXMODEL_NOTSET=-1,
    LTR_MIXMODEL_SOLVENT, 
    LTR_MIXMODEL_MOLEFRACS,
    LTR_MIXMODEL_MASSFRACS,
    LTR_MIXMODEL_LOG_MOLEFRACS,
    LTR_PAIRWISE_INTERACTIONS
  };

Removed species Arrhenius parameters from LiquidTransportParams.
These are now held in LiquidTransportData obejcts which are stored as
a vector in LiquidTransportParams

In LiquidTransportData, the hydrodynamic radius now holds coefficients
for temperature dependent models instead of just a constant value.
Also changed enumeration for polynomial from LTR_MODEL_COEFF to
LTR_MODEL_POLY.
2009-10-23 18:30:21 +00:00
John Hewson
d641b8f492 TransportFactory.h, TransportFactory.cpp
TransportFactory::setupLiquidTransport:

Removed "transport_database" argument since this can equally well be
pulled from thermo object also passed.  The "transport_databse" is now
called species_database (since it holds the vector of species nodes.  

The method getLiquidTransportData is renamed to
getLiquidSpeciesTransportData to reflect the fact that it just parses
the species node parts of the transport data.  

A new XML_Node, called phase_database and corresponding to the phase,
is defined.  If this has a child "transport" node, this node is passed
to the new method. 
    void TransportFactory::getLiquidInteractionsTransportData(
	const XML_Node &transportNode,  
	XML_Node& log, 
	const std::vector<std::string>& names, 
	LiquidTransportParams& tr);
This method, largely unfilled, will parse models for species-species
interactions in the liquid phase.  

TransportFactory::getLiquidSpeciesTransportData

Largely minor changes to the parsing of the species transport
properties, but allow all temperature dependence models for
hydrodynamic radius just for generality.  

LiquidTransportData objects are now pushed directly onto
LiquidTransportParams instead of filling members of
LiquidTransportParams. Removed most of the unit conversion and will
rely largely on the parser unit conversions.  Need to be careful
here, especially with the hydrodynamic radius which will likely be
given in Angstroms and not meters.
2009-10-23 18:23:15 +00:00
Harry Moffat
6de5cb2e99 Doxygen update - Still lots to do here. 2009-10-21 15:09:55 +00:00
Harry Moffat
23732968c6 doxygen warning messages removed. 2009-10-21 14:26:07 +00:00
Harry Moffat
d5b74320ac Doxygen updates
Started to document new PDSS formulations
2009-10-21 01:02:44 +00:00
Harry Moffat
e64a381754 Doxygen update. 2009-10-21 00:10:48 +00:00
Harry Moffat
60c4b40d32 Bug fixes to the PDSS_SSVol object. 2009-10-20 23:46:29 +00:00
Harry Moffat
48261703d4 Added the object PDSS_SSVol. This has more functionality than PDSS_ConstVol in that there are a range of models for fitting the standard state volume.
Removed executable flags.
 removed the function pdssType.
2009-10-20 22:26:24 +00:00
Harry Moffat
c9ff753168 Added documentation for the save() function for domains.
Made the save function for domains use a const solution vector.
2009-10-15 21:52:32 +00:00
Harry Moffat
686fb46591 Added back in a clear 2009-10-13 01:57:50 +00:00
Harry Moffat
0cafca6aaf First problem with SimpleTransport is done. Nominally, this object
is in working order.
2009-10-13 01:42:59 +00:00
Harry Moffat
9593d2996e Another update aimed at getting a SimpleTransport model up and running.
SimpleTransport now can read its XML file.
2009-10-13 00:27:48 +00:00
Harry Moffat
3b4401a77d Added into Transport Factory an option to read the phase XML file
and implement the transport manager listed there.
2009-10-12 14:13:10 +00:00
Harry Moffat
a258cdf083 Added an xml storage section to importPhase(). Note this represents a
long standing bug in some ThermoPhase implementations, where the
xml tree was not being storred for the phase node in some cases.
2009-10-11 21:38:42 +00:00
Harry Moffat
d503c55864 Added a clear() function to the xml object. This will wipe
out the current level and everything below it.
2009-10-11 21:34:06 +00:00
Harry Moffat
5fd13d3591 Took out default parameters for some of the transport initialization
routines. It makes no sense to call these things if you don't have
a ThermoPhase already created.
2009-10-11 20:46:57 +00:00
Harry Moffat
4ee4b4891f Added a missing function to AqueousTransport 2009-10-11 19:20:11 +00:00
Harry Moffat
787fd3778e More work on the SimpleTransport object. Nominally, the object is
finished. But, it needs testing.
2009-10-10 21:54:55 +00:00
Harry Moffat
c1d59a912b Got most of the way towards creating a new transport Object SimpleTransport
that obeys the simplest formulas possible.
2009-10-10 04:23:04 +00:00
Harry Moffat
636c63482b Took executable bits off 2009-10-02 21:10:26 +00:00
Harry Moffat
825d909875 Took executable bit off of the file. 2009-10-02 21:09:12 +00:00
Harry Moffat
ff82509600 Test commit with small functionality. 2009-10-02 21:08:16 +00:00
Harry Moffat
431f167c0f Changed the method model() to be a const function.
Moved Transport methods back into the file TransportBase.cpp
Defined err() functions for LiquidTransport object so that
the code will link again.
2009-09-28 16:09:58 +00:00
Harry Moffat
fd245bb194 Merging changes from the trunk into the change branch. 2009-09-26 01:55:27 +00:00
Harry Moffat
95c685dbe7 Merged changes from Revision_1.8 into the main trunk 2009-09-26 01:53:39 +00:00
Harry Moffat
844b3cdce8 Doxygen update 2009-09-26 01:15:38 +00:00
Harry Moffat
f1d0698194 Doxygen updates - beating down the warnings. 2009-09-26 01:13:01 +00:00
Harry Moffat
f61308fe1d Doxygen changes -> beating down the warning messages 2009-09-25 23:23:05 +00:00
Harry Moffat
aa12b47ccc Doxygen updates -> filling in missing parameters. 2009-09-25 21:07:41 +00:00
Harry Moffat
e6e872b1e3 Doxygen update 2009-09-25 20:39:19 +00:00
Harry Moffat
5f7e88a634 Added missing doxygen documentation 2009-09-25 20:15:28 +00:00
John Hewson
b933e64c79 LiquidTransportParams.h
Added some comments plus members
+       DenseMatrix  visc_Eij;
+       DenseMatrix  visc_Sij;
These members are not populated in any way at this point.  A message
to this effect is written in
TransportFactory::getLiquidTransportData. 


LiquidTransport.h LiquidTransport.cpp

Changed the types of viscosity models from 
   const int LVISC_CONSTANT     = 0;
-  const int LVISC_WILKES       = 1;
-  const int LVISC_MIXTUREAVG   = 2;
to
   const int LVISC_CONSTANT     = 0;
+  const int LVISC_INTERACTION  = 1;
+  const int LVISC_AVG_ENERGIES = 2;
These are not yet implemented.

Added members 
+    DenseMatrix m_visc_Eij;
+    DenseMatrix m_visc_Sij;
+    vector_fp  m_hydrodynamic_radius;
+    vector_fp  m_visc_logA; //logarithm of coefficient

Removed unneeded members:
-    vector_fp   m_eps;
-    doublereal m_sqrt_t;
-    doublereal m_t14;
-    doublereal m_t32;
-    doublereal m_sqrt_kbt;

Changed the name of m_cond to m_condSpecies in agreement with the
m_viscSpecies pattern.

Implemented some code in LiquidTransport::viscosity() to compute the
molecular interactions relevant to mixture viscosity, BUT none of the
required parameters or flags are implemented at this point.
2009-09-25 18:40:29 +00:00
Harry Moffat
8daac72a4e Fixed an error in a dimensioning statement that
was causing array overwites.
2009-09-25 18:37:48 +00:00
John Hewson
cc680c2b3c Cleanup and debugging of getLiquidTransportData. 2009-09-24 20:58:28 +00:00
John Hewson
1dad7e320a LiquidTransport.h LiquidTransport.cpp
Removed a number of variables relevant only to the gas-phase transport
coefficient models.  These include the following:
-    vector_fp  m_cond;
-    vector_fp                    m_polytempvec;
-    vector<vector_fp>            m_condcoeffs;
-    std::vector<vector_fp> viscCoeffsVector_;
-    vector_fp m_sqvisc;
-    vector_fp viscSpecies_;
-    DenseMatrix m_wratkj1;
-    DenseMatrix m_phi;
-    DenseMatrix m_wratjk;

Removed much code related to these variables.

Added a number of variables relevant to the liquid-phase transport
models including: 
+    vector_fp  m_condSpecies;
+    vector_fp m_viscSpecies;
+    vector_fp  m_visc_A;
+    vector_fp  m_visc_n;
+    vector_fp  m_visc_Tact;
+    vector_fp  m_thermCond_A;
+    vector_fp  m_thermCond_n;
+    vector_fp  m_thermCond_Tact;

Changed some of the relevant comments to
pertain to the liquid-phase models.
2009-09-24 20:46:26 +00:00
Harry Moffat
b093f02473 Moved the cstring include around so that it will compile under gcc 4.3.3. 2009-09-22 22:13:33 +00:00
Harry Moffat
bdac70a563 Moved the cstring include around in order to compile under gcc 4.3.3 2009-09-22 22:09:36 +00:00
John Hewson
330e7666aa Renaming TransportParams member variables nsp_ and mode_. 2009-09-22 18:32:45 +00:00
John Hewson
baa60182c3 Renaming TransportParams member variables nsp_ and mode_. 2009-09-22 18:22:38 +00:00
Harry Moffat
15c9ca0294 Merged Revisision_1.8.0 changes into the trunk. 2009-09-22 17:26:18 +00:00
Harry Moffat
55bd4a766a Sundials 2.4 compatibility.
Added compatibility for sundials 2.4 along the 1.8.0 branch. I'll
add it to the main trunk as well shortly. This hasn't been fully tested
except for the cxx_examples problem.
2009-09-22 16:57:14 +00:00
John Hewson
a76b99e6ff for all of the kinetic-theory-of-gases-related methods supporting the
gas-phase transport, we needed to pass the GasTransportParams rather
than TransportParams.  

We made new methods to initialize liquid transport including
  TransportFactory::setupLiquidTransport()
  TransportFactory::initLiquidTransport()
  TransportFactory::getLiquidTransportData()

Added new struct LiquidTransportData.

Added getArrhenius method copied from kinetics directory to parse
Arrhenius form XML.
2009-09-19 00:35:27 +00:00
John Hewson
ecfc9a71f5 Changed MixTransport::init(TransportParams& tr) to
MixTransport::initGas( GasTransportParams& tr )
2009-09-19 00:26:33 +00:00
John Hewson
00c36ac250 Split the TransportParams class into three entities. The base class
of the same name holds core components including the thermo object,
XML nodes, species names and molecular weights.  

A derived class GasTransportParams holds
kinetic-theory-of-gases-related parameters.  

LiquidTransportParams in LiquidTransportParams.h now derives from
TransportParams class. Removed kinetic-theory-of-gases-related
parameters.
2009-09-19 00:25:57 +00:00
John Hewson
eaeefd4f47 Added forward declarations references to
class LiquidTransportParams;

Changed the init(TransportParams& tr) method to 
initLiquid( LiquidTransportParams& tr ) 

Removed a number of gas-related transport parameters from the
init/initLiquid() method including m_poly, m_diam, m_eps, m_alpha

In AqueousTransport.cpp there was a method to return a struct to a
GasTransportData.  This now returns LiquidTransportData struct, but is
not yet working.

In LiquidTransport.cpp removed all references to m_polytempvec, a
vector of 5 entries of the form
-    m_polytempvec[0] = 1.0;
-    m_polytempvec[1] = m_logt;
-    m_polytempvec[2] = m_logt*m_logt;
-    m_polytempvec[3] = m_logt*m_logt*m_logt;
-    m_polytempvec[4] = m_logt*m_logt*m_logt*m_logt;
We might want these back soon.  This allowed up to comment out the
code in the methods that evaluate the temperature dependence of the
viscosity, thermal conductivity and diffusivity using polynomials in
these variables.  --This line, and those below, will be ignored--

M    AqueousTransport.h
M    LiquidTransport.h
M    AqueousTransport.cpp
M    LiquidTransport.cpp
2009-09-19 00:24:47 +00:00
John Hewson
53e1c8fd78 Added method getSpeciesFluxesES(int ndim,
const doublereal* grad_T, 
				  int ldx, 
				  const doublereal* grad_X,
				  int ldf, 
				  const doublereal* grad_Phi,
				  doublereal* fluxes) 
after passing electrostatic potentialgradient as well as the rest of
the gradients.  

Added initGas( GasTransportParams& tr ) and 
initLiquid( LiquidTransportParams& tr ) because of the different
TranportParams subclasses.  There might be a better way to do this.
2009-09-19 00:21:46 +00:00
Harry Moffat
fc3c2630a3 Fleshing out liquid transport 2009-09-16 22:04:16 +00:00
Harry Moffat
ce79948739 Starting to rough in aqueous transport. 2009-09-16 19:57:45 +00:00
Harry Moffat
2bd7816b65 Added in a model for the thermal conductivity of pure water
at all T and P.
Added in a test for the new model.
2009-09-16 02:13:43 +00:00
Harry Moffat
5009a3817f Added a viscosity model into WaterTransport.cpp for pure water
Added a test problem for the viscosity model.
Updated WaterSSTP object to support the use of WaterTransport 
with the object.
2009-09-15 21:46:44 +00:00