00001
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef _LangmuirEquilibriumConstant_h
00026 #define _LangmuirEquilibriumConstant_h
00027
00028 #include "Quantity/Variable.h"
00029 #include "Quantity/Constant.h"
00030 #include "Quantity/QuantityCluster.h"
00031
00032 #include "PhysicalQuantities/Volume.h"
00033 #include "PhysicalQuantities/AmountOfSubstance.h"
00034
00035 namespace Quantities {
00036
00037
00038 typedef BSUtilities::Rational<3> LangmuirEquilibriumConstant_LE;
00039 typedef BSUtilities::Rational<0> LangmuirEquilibriumConstant_M;
00040 typedef BSUtilities::Rational<0> LangmuirEquilibriumConstant_TI;
00041 typedef BSUtilities::Rational<0> LangmuirEquilibriumConstant_E;
00042 typedef BSUtilities::Rational<0> LangmuirEquilibriumConstant_TE;
00043 typedef BSUtilities::Rational<-1> LangmuirEquilibriumConstant_A;
00044 typedef BSUtilities::Rational<0> LangmuirEquilibriumConstant_LU;
00045
00046 class LangmuirEquilibriumConstantGroup
00047 {
00048 public:
00049 typedef TYPELIST_7(LangmuirEquilibriumConstant_LE,
00050 LangmuirEquilibriumConstant_M,
00051 LangmuirEquilibriumConstant_TI,
00052 LangmuirEquilibriumConstant_E,
00053 LangmuirEquilibriumConstant_TE,
00054 LangmuirEquilibriumConstant_A,
00055 LangmuirEquilibriumConstant_LU) DimTL;
00056 };
00057
00059 namespace LangmuirEquilibriumConstantUnits {
00060
00061
00062 typedef Units::Unit<LangmuirEquilibriumConstantGroup>
00063 LangmuirEquilibriumConstantUnit;
00064
00065 typedef TYPELIST_1(VolumeUnits::CubicCentiMetre) VolumeList;
00066
00067 typedef Units::CompoundElement<LangmuirEquilibriumConstantGroup,
00068 VolumeList, BSUtilities::Rational<1> > VolumeElement;
00069
00070 typedef TYPELIST_1(AmountOfSubstanceUnits::Mole) AmountOfSubstanceList;
00071
00072 typedef Units::CompoundElement<LangmuirEquilibriumConstantGroup,
00073 AmountOfSubstanceList, BSUtilities::Rational<-1> >
00074 AmountOfSubstanceElement;
00075
00076 typedef TYPELIST_2(VolumeElement, AmountOfSubstanceElement)
00077 LangmuirEquilibriumConstantCompoundList;
00078
00079 typedef Units::Compound<LangmuirEquilibriumConstantGroup,
00080 LangmuirEquilibriumConstantCompoundList>
00081 LangmuirEquilibriumConstantCompoundUnits;
00082
00083 typedef Units::Composed<LangmuirEquilibriumConstantCompoundUnits,
00084 TYPELIST_2(VolumeUnits::CubicCentiMetre,
00085 AmountOfSubstanceUnits::Mole)> CubicCentiMetrePerMole;
00086
00088 typedef TYPELIST_1(CubicCentiMetrePerMole)
00089 LangmuirEquilibriumConstantUnits;
00090
00091 }
00092
00093
00094
00095
00096 typedef Dimensions::Dimension<LangmuirEquilibriumConstantGroup>
00097 LangmuirEquilibriumConstantDimension;
00098
00099
00100
00101 typedef Quantity<LangmuirEquilibriumConstantGroup,
00102 LangmuirEquilibriumConstantUnits::
00103 LangmuirEquilibriumConstantUnits,
00104 LangmuirEquilibriumConstantUnits::CubicCentiMetrePerMole>
00105 LangmuirEquilibriumConstantQuantities;
00106
00107 typedef Variable<LangmuirEquilibriumConstantQuantities>
00108 LangmuirEquilibriumConstant;
00109 typedef Constant<LangmuirEquilibriumConstantQuantities>
00110 LangmuirEquilibriumConstantConstant;
00111
00112 typedef VariableVector<LangmuirEquilibriumConstantQuantities>
00113 LangmuirEquilibriumConstantVector;
00114
00115 }
00116
00117 #endif