00001
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef _LangmuirAdsorptionRateConstant_h
00026 #define _LangmuirAdsorptionRateConstant_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 #include "PhysicalQuantities/Time.h"
00035
00036 namespace Quantities {
00037
00038
00039 typedef BSUtilities::Rational<3> LangmuirAdsorptionRateConstant_LE;
00040 typedef BSUtilities::Rational<0> LangmuirAdsorptionRateConstant_M;
00041 typedef BSUtilities::Rational<-1> LangmuirAdsorptionRateConstant_TI;
00042 typedef BSUtilities::Rational<0> LangmuirAdsorptionRateConstant_E;
00043 typedef BSUtilities::Rational<0> LangmuirAdsorptionRateConstant_TE;
00044 typedef BSUtilities::Rational<-1> LangmuirAdsorptionRateConstant_A;
00045 typedef BSUtilities::Rational<0> LangmuirAdsorptionRateConstant_LU;
00046
00047 class LangmuirAdsorptionRateConstantGroup
00048 {
00049 public:
00050 typedef TYPELIST_7(LangmuirAdsorptionRateConstant_LE,
00051 LangmuirAdsorptionRateConstant_M,
00052 LangmuirAdsorptionRateConstant_TI,
00053 LangmuirAdsorptionRateConstant_E,
00054 LangmuirAdsorptionRateConstant_TE,
00055 LangmuirAdsorptionRateConstant_A,
00056 LangmuirAdsorptionRateConstant_LU) DimTL;
00057 };
00058
00060 namespace LangmuirAdsorptionRateConstantUnits {
00061
00062
00063 typedef Units::Unit<LangmuirAdsorptionRateConstantGroup>
00064 LangmuirAdsorptionRateConstantUnit;
00065
00066
00067
00068
00069
00070
00071 typedef TYPELIST_1(VolumeUnits::CubicCentiMetre) VolumeList;
00072
00073 typedef Units::CompoundElement<LangmuirAdsorptionRateConstantGroup,
00074 VolumeList, BSUtilities::Rational<1> > VolumeElement;
00075
00076 typedef TYPELIST_1(AmountOfSubstanceUnits::Mole) AmountOfSubstanceList;
00077
00078 typedef Units::CompoundElement<LangmuirAdsorptionRateConstantGroup,
00079 AmountOfSubstanceList, BSUtilities::Rational<-1> >
00080 AmountOfSubstanceElement;
00081
00082 typedef TYPELIST_1(TimeUnits::Second) TimeList;
00083
00084 typedef Units::CompoundElement<LangmuirAdsorptionRateConstantGroup,
00085 TimeList, BSUtilities::Rational<-1> > TimeElement;
00086
00087
00088 typedef TYPELIST_3(VolumeElement, AmountOfSubstanceElement, TimeElement)
00089 LangmuirAdsorptionRateConstantCompoundList;
00090
00091 typedef Units::Compound<LangmuirAdsorptionRateConstantGroup,
00092 LangmuirAdsorptionRateConstantCompoundList>
00093 LangmuirAdsorptionRateConstantCompoundUnits;
00094
00095 typedef Units::Composed<LangmuirAdsorptionRateConstantCompoundUnits,
00096 TYPELIST_3(VolumeUnits::CubicCentiMetre, AmountOfSubstanceUnits::Mole,
00097 TimeUnits::Second)> CubicCentiMetrePerMoleSecond;
00098
00100 typedef TYPELIST_1(CubicCentiMetrePerMoleSecond)
00101 LangmuirAdsorptionRateConstantUnits;
00102
00103 }
00104
00105
00106
00107
00108 typedef Dimensions::Dimension<LangmuirAdsorptionRateConstantGroup>
00109 LangmuirAdsorptionRateConstantDimension;
00110
00111
00112
00113 typedef Quantity<LangmuirAdsorptionRateConstantGroup,
00114 LangmuirAdsorptionRateConstantUnits::
00115 LangmuirAdsorptionRateConstantUnits,
00116 LangmuirAdsorptionRateConstantUnits::CubicCentiMetrePerMoleSecond>
00117 LangmuirAdsorptionRateConstantQuantities;
00118
00119 typedef Variable<LangmuirAdsorptionRateConstantQuantities>
00120 LangmuirAdsorptionRateConstant;
00121 typedef Constant<LangmuirAdsorptionRateConstantQuantities>
00122 LangmuirAdsorptionRateConstantConstant;
00123
00124 typedef VariableVector<LangmuirAdsorptionRateConstantQuantities>
00125 LangmuirAdsorptionRateConstantVector;
00126
00127 }
00128
00129 #endif