Solver2Base< FirstProp, SecondProp, FirstPropAlt, SecondPropAlt > Class Template Reference

Base class for all two-property solvers. More...

#include <solver2.h>

Inheritance diagram for Solver2Base< FirstProp, SecondProp, FirstPropAlt, SecondPropAlt >:

Inheritance graph
[legend]
Collaboration diagram for Solver2Base< FirstProp, SecondProp, FirstPropAlt, SecondPropAlt >:

Collaboration graph
[legend]

List of all members.

Protected Member Functions

 Solver2Base (const bool debug=false)
virtual ~Solver2Base ()
virtual int whichRegion (const FirstProp &fp, const SecondProp &sp)=0
virtual SteamCalculator solve (const FirstProp &fp, const SecondProp &sp)=0
FirstProp getFirstProp (SteamCalculator &S)
SecondProp getSecondProp (SteamCalculator &S)

Protected Attributes

bool debug


Detailed Description

template<class FirstProp, class SecondProp, int FirstPropAlt = 0, int SecondPropAlt = 0>
class Solver2Base< FirstProp, SecondProp, FirstPropAlt, SecondPropAlt >

Base class for all two-property solvers.

This class is abstract. Use it when creating template Solver2 classes for particular combinations of variables, so that all Solver2 classes will have common methods whichRegion, solve, getFirstProp, etc, defined.

Note that dimensionally some properties are equivalent, for example specific internal energy and specific enthalpy. In these cases you need to use the FirstPropAlt and/or SecondPropAlt template parameter to specify which one you want. Values of these parameters are defined in common.h, such as SOLVE_ENTHALPY and SOLVE_IENERGY, etc.

Parameters:
FirstProp (Units of) first property to be solved for
SecondProp (Units of) second property to be solved for
FirstPropAlt First property alternative, used to distinguish two properties having the same units
SecondPropAlt Second property alternative, used to distinguish two properties having the same units

Constructor & Destructor Documentation

template<class FirstProp, class SecondProp, int FirstPropAlt = 0, int SecondPropAlt = 0>
Solver2Base< FirstProp, SecondProp, FirstPropAlt, SecondPropAlt >::Solver2Base ( const bool  debug = false  )  [inline, protected]

template<class FirstProp, class SecondProp, int FirstPropAlt = 0, int SecondPropAlt = 0>
virtual Solver2Base< FirstProp, SecondProp, FirstPropAlt, SecondPropAlt >::~Solver2Base (  )  [inline, protected, virtual]


Member Function Documentation

template<class FirstProp, class SecondProp, int FirstPropAlt = 0, int SecondPropAlt = 0>
virtual int Solver2Base< FirstProp, SecondProp, FirstPropAlt, SecondPropAlt >::whichRegion ( const FirstProp &  fp,
const SecondProp &  sp 
) [protected, pure virtual]

template<class FirstProp, class SecondProp, int FirstPropAlt = 0, int SecondPropAlt = 0>
virtual SteamCalculator Solver2Base< FirstProp, SecondProp, FirstPropAlt, SecondPropAlt >::solve ( const FirstProp &  fp,
const SecondProp &  sp 
) [protected, pure virtual]

template<class FirstProp, class SecondProp, int FirstPropAlt = 0, int SecondPropAlt = 0>
FirstProp Solver2Base< FirstProp, SecondProp, FirstPropAlt, SecondPropAlt >::getFirstProp ( SteamCalculator S  )  [inline, protected]

template<class FirstProp, class SecondProp, int FirstPropAlt = 0, int SecondPropAlt = 0>
SecondProp Solver2Base< FirstProp, SecondProp, FirstPropAlt, SecondPropAlt >::getSecondProp ( SteamCalculator S  )  [inline, protected]


Member Data Documentation

template<class FirstProp, class SecondProp, int FirstPropAlt = 0, int SecondPropAlt = 0>
bool Solver2Base< FirstProp, SecondProp, FirstPropAlt, SecondPropAlt >::debug [protected]


The documentation for this class was generated from the following file:

Generated on Tue Feb 10 18:37:37 2009 for freesteam by  doxygen 1.5.6