From 731e6bc378fcd254e216683c9ddd08a6cbcc9f83 Mon Sep 17 00:00:00 2001 From: Harry Moffat Date: Fri, 16 Feb 2007 21:09:42 +0000 Subject: [PATCH] Doxygen update Worked on including GeneralSpeciesThermo --- Cantera/src/GeneralSpeciesThermo.cpp | 2 +- Cantera/src/GeneralSpeciesThermo.h | 272 ++++++++++++++++++--------- Cantera/src/NasaPoly1.h | 2 - Cantera/src/NasaPoly2.h | 2 - Cantera/src/SpeciesThermo.h | 10 +- tools/doc/Cantera.cfg.in | 1 + 6 files changed, 190 insertions(+), 99 deletions(-) diff --git a/Cantera/src/GeneralSpeciesThermo.cpp b/Cantera/src/GeneralSpeciesThermo.cpp index 98cd03ed6..a5fa0e3b5 100644 --- a/Cantera/src/GeneralSpeciesThermo.cpp +++ b/Cantera/src/GeneralSpeciesThermo.cpp @@ -76,7 +76,7 @@ namespace Cantera { * @param c coefficients. The meaning of these depends on * the parameterization. */ - void GeneralSpeciesThermo::install(string name, + void GeneralSpeciesThermo::install(std::string name, int index, int type, const doublereal* c, diff --git a/Cantera/src/GeneralSpeciesThermo.h b/Cantera/src/GeneralSpeciesThermo.h index f2ce3edb4..e41cec7b2 100644 --- a/Cantera/src/GeneralSpeciesThermo.h +++ b/Cantera/src/GeneralSpeciesThermo.h @@ -19,109 +19,205 @@ namespace Cantera { - /** - * A species thermodynamic property manager for a phase. - * This is a general manager that can handle a wide variety - * of species thermodynamic polynomials for individual species. - * It is slow, however, because it recomputes the functions of - * temperature needed for each species. - * - */ - class GeneralSpeciesThermo : public SpeciesThermo { + + //! A species thermodynamic property manager for a phase. + /*! + * This is a general manager that can handle a wide variety + * of species thermodynamic polynomials for individual species. + * It is slow, however, because it recomputes the functions of + * temperature needed for each species. What it does is to create + * a vector of SpeciesThermoInterpType objects. + * + * @ingroup spthermo + */ + class GeneralSpeciesThermo : public SpeciesThermo { - public: + public: - GeneralSpeciesThermo(); - GeneralSpeciesThermo(const GeneralSpeciesThermo &); - const GeneralSpeciesThermo & operator=(const GeneralSpeciesThermo &); - virtual ~GeneralSpeciesThermo(); - virtual SpeciesThermo *duplMyselfAsSpeciesThermo() const ; + //! Constructor + GeneralSpeciesThermo(); - /** - * Install parameterization for a species. - * @param index Species index - * @param type ignored, since only NASA type is supported - * @param c coefficients. These are - * - c[0] midpoint temperature - * - c[1] - c[7] coefficients for low T range - * - c[8] - c[14] coefficients for high T range - */ - virtual void install(std::string name, int index, int type, - const doublereal* c, - doublereal minTemp, doublereal maxTemp, - doublereal refPressure); - /** - * update the properties for only one species. - */ - virtual void update_one(int k, doublereal t, doublereal* cp_R, - doublereal* h_RT, - doublereal* s_R) const; - - virtual void update(doublereal t, doublereal* cp_R, - doublereal* h_RT, doublereal* s_R) const; + //! Copy constructor + GeneralSpeciesThermo(const GeneralSpeciesThermo &); + + //! Assignment operator + const GeneralSpeciesThermo & operator=(const GeneralSpeciesThermo &); + + //! destructor + virtual ~GeneralSpeciesThermo(); + + //! Duplicator + virtual SpeciesThermo *duplMyselfAsSpeciesThermo() const ; + + //! Install a new species thermodynamic property + //! parameterization for one species. + /*! + * Install a SpeciesThermoInterpType object for the species, index. + * This routine contains an internal list of SpeciesThermoInterpType + * objects that it knows about. A factory-type lookup is done + * to create the object. + * + * @param name Name of the species + * @param index The 'update' method will update the property + * values for this species + * at position i index in the property arrays. + * @param type int flag specifying the type of parameterization to be + * installed. + * @param c vector of coefficients for the parameterization. + * This vector is simply passed through to the + * parameterization constructor. It's length depends upon + * the parameterization. + * @param minTemp minimum temperature for which this parameterization + * is valid. + * @param maxTemp maximum temperature for which this parameterization + * is valid. + * @param refPressure standard-state pressure for this + * parameterization. + * @see speciesThermoTypes.h + * + * @todo Create a factory method for SpeciesThermoInterpType. + * That's basically what we are doing here. + */ + virtual void install(std::string name, int index, int type, + const doublereal* c, + doublereal minTemp, doublereal maxTemp, + doublereal refPressure); + + //! Like update(), but only updates the single species k. + /*! + * @param k species index + * @param T Temperature (Kelvin) + * @param cp_R Vector of Dimensionless heat capacities. + * (length m_kk). + * @param h_RT Vector of Dimensionless enthalpies. + * (length m_kk). + * @param s_R Vector of Dimensionless entropies. + * (length m_kk). + */ + virtual void update_one(int k, doublereal T, doublereal* cp_R, + doublereal* h_RT, + doublereal* s_R) const; + + //! Compute the reference-state properties for all species. + /*! + * Given temperature T in K, this method updates the values of + * the non-dimensional heat capacity at constant pressure, + * enthalpy, and entropy, at the reference pressure, Pref + * of each of the standard states. + * + * @param T Temperature (Kelvin) + * @param cp_R Vector of Dimensionless heat capacities. + * (length m_kk). + * @param h_RT Vector of Dimensionless enthalpies. + * (length m_kk). + * @param s_R Vector of Dimensionless entropies. + * (length m_kk). + */ + virtual void update(doublereal T, doublereal* cp_R, + doublereal* h_RT, doublereal* s_R) const; - /** - * Return the lowest temperature at which the thermodynamic - * parameterization is valid. If no argument is supplied, the - * value is the one for which all species parameterizations - * are valid. Otherwise, if an integer argument is given, the - * value applies only to the species with that index. - */ - virtual doublereal minTemp(int k=-1) const; + //! Minimum temperature. + /*! + * If no argument is supplied, this + * method returns the minimum temperature for which \e all + * parameterizations are valid. If an integer index k is + * supplied, then the value returned is the minimum + * temperature for species k in the phase. + * + * @param k Species index + */ + virtual doublereal minTemp(int k=-1) const; - virtual doublereal maxTemp(int k=-1) const; + //! Maximum temperature. + /*! + * If no argument is supplied, this + * method returns the maximum temperature for which \e all + * parameterizations are valid. If an integer index k is + * supplied, then the value returned is the maximum + * temperature for parameterization k. + * + * @param k Species Index + */ + virtual doublereal maxTemp(int k=-1) const; - virtual doublereal refPressure(int k = -1) const; + //! The reference-state pressure for species k. + /*! + * + * returns the reference state pressure in Pascals for + * species k. If k is left out of the argument list, + * it returns the reference state pressure for the first + * species. + * Note that some SpeciesThermo implementations, such + * as those for ideal gases, require that all species + * in the same phase have the same reference state pressures. + * + * @param k Species Index + */ + virtual doublereal refPressure(int k = -1) const; - /** - * This utility function reports the type of parameterization - * used for the species, index. - */ - virtual int reportType(int index) const; + //! This utility function reports the type of parameterization + //! used for the species with index number index. + /*! + * + * @param index Species index + */ + virtual int reportType(int index) const; - /** - * This utility function reports back the type of - * parameterization and all of the parameters for the - * species, index. - * For the NASA object, there are 15 coefficients. - */ - virtual void reportParams(int index, int &type, - doublereal * const c, - doublereal &minTemp, - doublereal &maxTemp, - doublereal &refPressure) const; + //! This utility function reports back the type of + //! parameterization and all of the parameters for the species, index. + /*! + * @param index Species index + * @param type Integer type of the standard type + * @param c Vector of coefficients used to set the + * parameters for the standard state. + * @param minTemp output - Minimum temperature + * @param maxTemp output - Maximum temperature + * @param refPressure output - reference pressure (Pa). + */ + virtual void reportParams(int index, int &type, + doublereal * const c, + doublereal &minTemp, + doublereal &maxTemp, + doublereal &refPressure) const; - //! Modify parameters for the standard state - /*! - * @param index Species index - * @param c Vector of coefficients used to set the - * parameters for the standard state. - */ - virtual void modifyParams(int index, doublereal *c); - protected: + //! Modify parameters for the standard state + /*! + * @param index Species index + * @param c Vector of coefficients used to set the + * parameters for the standard state. + */ + virtual void modifyParams(int index, doublereal *c); - /** - * This is the main unknown in the object. It is - * a list of pointers to type SpeciesThermoInterpType. - * Note, this object owns the objects, so they are deleted - * in the destructor of this object. - */ - std::vector m_sp; - doublereal m_tlow_max; - doublereal m_thigh_min; - doublereal m_p0; + protected: - /** - * Internal variable indicating the length of the - * number of species in the phase. - */ - int m_kk; + /** + * This is the main unknown in the object. It is + * a list of pointers to type SpeciesThermoInterpType. + * Note, this object owns the objects, so they are deleted + * in the destructor of this object. + */ + std::vector m_sp; - private: + //! Maximum value of the lowest temperature + doublereal m_tlow_max; + + //! Minimum value of the highest temperature + doublereal m_thigh_min; + + //! reference pressure (Pa) + doublereal m_p0; + + /** + * Internal variable indicating the length of the + * number of species in the phase. + */ + int m_kk; + + private: - }; + }; } diff --git a/Cantera/src/NasaPoly1.h b/Cantera/src/NasaPoly1.h index cd8e78027..66efd0744 100755 --- a/Cantera/src/NasaPoly1.h +++ b/Cantera/src/NasaPoly1.h @@ -221,8 +221,6 @@ namespace Cantera { * @param pref output - reference pressure (Pa). * @param coeffs Vector of coefficients used to set the * parameters for the standard state. - * - * @todo should be a const function. */ virtual void reportParameters(int &n, int &type, doublereal &tlow, doublereal &thigh, diff --git a/Cantera/src/NasaPoly2.h b/Cantera/src/NasaPoly2.h index 44eaf6b91..7733e685f 100644 --- a/Cantera/src/NasaPoly2.h +++ b/Cantera/src/NasaPoly2.h @@ -241,8 +241,6 @@ namespace Cantera { * @param pref output - reference pressure (Pa). * @param coeffs Vector of coefficients used to set the * parameters for the standard state. - * - * @todo should be a const function. */ void reportParameters(int &n, int &type, doublereal &tlow, doublereal &thigh, diff --git a/Cantera/src/SpeciesThermo.h b/Cantera/src/SpeciesThermo.h index f0354d23d..d3db2fd3f 100755 --- a/Cantera/src/SpeciesThermo.h +++ b/Cantera/src/SpeciesThermo.h @@ -86,7 +86,7 @@ namespace Cantera { * . * - GeneralSpeciesThermo in file GeneralSpeciesThermo.h * - This is a general model. Each species is handled separately - * via a vector over SpeciesThermoInerpType classes. + * via a vector over SpeciesThermoInterpType classes. * . * - SpeciesThermo1 in file SpeciesThermoMgr.h * - SpeciesThermoDuo in file SpeciesThermoMgr.h @@ -265,11 +265,10 @@ namespace Cantera { */ virtual int reportType(int index = -1) const = 0; + + //! This utility function reports back the type of + //! parameterization and all of the parameters for the species, index. /*! - * This utility function reports back the type of - * parameterization and all of the parameters for the - * species, index. - * * @param index Species index * @param type Integer type of the standard type * @param c Vector of coefficients used to set the @@ -277,7 +276,6 @@ namespace Cantera { * @param minTemp output - Minimum temperature * @param maxTemp output - Maximum temperature * @param refPressure output - reference pressure (Pa). - * */ virtual void reportParams(int index, int &type, doublereal * const c, diff --git a/tools/doc/Cantera.cfg.in b/tools/doc/Cantera.cfg.in index 851fbe215..693251fd5 100755 --- a/tools/doc/Cantera.cfg.in +++ b/tools/doc/Cantera.cfg.in @@ -105,6 +105,7 @@ FILE_PATTERNS = Kinetics.h Kinetics.cpp \ speciesThermoTypes.h SpeciesThermoMgr.h SpeciesThermo.h SpeciesThermoInterpTypes.h \ NasaThermo.h NasaPoly1.h NasaPoly2.h \ ShomateThermo.h ShomatePoly.h SimpleThermo.h \ + GeneralSpeciesThermo.h GeneralSpeciesThermo.cpp \ utilities.h \ VPStandardStateTP.h VPStandardStateTP.cpp \ SingleSpeciesTP.h SingleSpeciesTP.cpp \