00001 /** 00002 * @file EdgePhase.h 00003 * Declarations for the EdgePhase ThermoPhase object, which models the interface 00004 * between two surfaces (see \ref thermoprops and \link Cantera::EdgePhase EdgePhase\endlink). 00005 */ 00006 00007 /* $Author: hkmoffa $ 00008 * $Date: 2009-12-05 14:08:43 -0500 (Sat, 05 Dec 2009) $ 00009 * $Revision: 279 $ 00010 * 00011 * Copyright 2002 California Institute of Technology 00012 * 00013 */ 00014 00015 #ifndef CT_EDGEPHASE_H 00016 #define CT_EDGEPHASE_H 00017 00018 #include "mix_defs.h" 00019 #include "ThermoPhase.h" 00020 #include "SurfPhase.h" 00021 00022 namespace Cantera { 00023 00024 //! A thermodynamic %Phase representing a one dimensional edge between two surfaces 00025 /*! 00026 * This thermodynamic function is largely a wrapper around the SurfPhase 00027 * thermodynamic object. 00028 * 00029 * All of the equations and formulations carry through from SurfPhase to this 00030 * EdgePhase object. 00031 * It should be noted however, that dimensional object with length dimensions, 00032 * have their dimensions reduced by one. 00033 * 00034 * @ingroup thermoprops 00035 */ 00036 class EdgePhase : public SurfPhase { 00037 00038 public: 00039 00040 //! Constructor 00041 /*! 00042 * @param n0 Surface site density (kmol m-1). 00043 */ 00044 EdgePhase(doublereal n0 = 0.0); 00045 00046 //! Copy Constructor 00047 /*! 00048 * @param right Object to be copied 00049 */ 00050 EdgePhase(const EdgePhase & right); 00051 00052 //! Assignment Operator 00053 /*! 00054 * @param right Object to be copied 00055 */ 00056 EdgePhase& operator=(const EdgePhase & right); 00057 00058 //! Destructor 00059 virtual ~EdgePhase() {} 00060 00061 //! Duplicator from a ThermoPhase object 00062 ThermoPhase *duplMyselfAsThermoPhase() const; 00063 00064 //! returns the equation of state type 00065 virtual int eosType() const { return cEdge; } 00066 00067 00068 //! Set the Equation-of-State parameters by reading an XML Node Input 00069 /*! 00070 * 00071 * The Equation-of-State data consists of one item, the site density. 00072 * 00073 * @param thermoData Reference to an XML_Node named thermo 00074 * containing the equation-of-state data. The 00075 * XML_Node is within the phase XML_Node describing 00076 * the %EdgePhase object. 00077 * 00078 * An example of the contents of the thermoData XML_Node is provided 00079 * below. The units attribute is used to supply the units of the 00080 * site density in any convenient form. Internally it is changed 00081 * into MKS form. 00082 * 00083 * @code 00084 * <thermo model="Edge"> 00085 * <site_density units="mol/cm"> 3e-15 </site_density> 00086 * </thermo> 00087 * @endcode 00088 */ 00089 virtual void setParametersFromXML(const XML_Node& thermoData); 00090 }; 00091 } 00092 00093 #endif 00094 00095