00001
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027 #ifndef _LangmuirAdsorptionRateConstant_h
00028 #define _LangmuirAdsorptionRateConstant_h
00029
00030
00031 #include "Quantities/Quantity/Variable.h"
00032 #include "Quantities/Quantity/Constant.h"
00033 #include "Quantities/Quantity/QuantityAggregates.h"
00034 #include "Quantities/PhysicalQuantities/Volume.h"
00035 #include "Quantities/PhysicalQuantities/AmountOfSubstance.h"
00036 #include "Quantities/PhysicalQuantities/Time.h"
00037
00038 namespace quantity {
00039 namespace langmuirAdsorptionRateConstant {
00040
00042 class Class;
00043
00045 class Unit;
00046
00047
00048
00049
00050
00052 typedef unit::Component<volume::Units, BSUtilities::Rational<1> >
00053 VolumeComponent;
00054
00056 typedef unit::Component<amountOfSubstance::Units, BSUtilities::Rational<-1> >
00057 AmountOfSubstanceComponent;
00058
00060 typedef unit::Component<time::Units, BSUtilities::Rational<-1> > TimeComponent;
00061
00062 typedef unit::ComposeBase<Unit,
00063 Loki::Typelist<VolumeComponent, Loki::Typelist<AmountOfSubstanceComponent,
00064 Loki::Typelist<TimeComponent, Loki::NullType> > > >
00065 LangmuirAdsorptionRateConstantComposedUnit;
00066
00067 typedef unit::Composed<LangmuirAdsorptionRateConstantComposedUnit,
00068 Loki::Typelist<volume::CubicCentiMetre,
00069 Loki::Typelist<amountOfSubstance::Mole,
00070 Loki::Typelist<time::Second, Loki::NullType> > > >
00071 CubicCentiMetrePerMoleSecond;
00072
00074 typedef Loki::Typelist<LangmuirAdsorptionRateConstantComposedUnit,
00075 Loki::NullType> Units;
00076
00077
00078
00079 typedef Quantity<Class> Quantity;
00080
00081 class DerivedLangmuirAdsorptionRateConstant;
00082
00083 }
00084
00086 template<>
00087 struct QuantityTraits<langmuirAdsorptionRateConstant::Class>
00088 {
00089 typedef
00090 dimension::Dimension<BSUtilities::Rational<3>,
00091 BSUtilities::Rational<0>, BSUtilities::Rational<-1>,
00092 BSUtilities::Rational<0>, BSUtilities::Rational<0>,
00093 BSUtilities::Rational<-1>, BSUtilities::Rational<0> > Dimension;
00094 typedef langmuirAdsorptionRateConstant::Unit UnitType;
00095 typedef langmuirAdsorptionRateConstant::Units UnitList;
00096 typedef langmuirAdsorptionRateConstant::CubicCentiMetrePerMoleSecond DefaultUnit;
00097
00098 typedef langmuirAdsorptionRateConstant::DerivedLangmuirAdsorptionRateConstant
00099 DefaultDerivedQuantityType;
00100
00101 static const std::string NameString ();
00102 static const std::string SymbolString ();
00103
00104 };
00105
00106
00107 template<>
00108 struct DerivedQuantityTraits<langmuirAdsorptionRateConstant::Class,
00109 langmuirAdsorptionRateConstant::DerivedLangmuirAdsorptionRateConstant>
00110 {
00111 static const bool OverwriteName = false;
00112 static const bool OverwriteSymbol = false;
00113
00114 static const std::string NameString ();
00115 static const std::string SymbolString ();
00116
00117 };
00118
00120 typedef Variable<langmuirAdsorptionRateConstant::Quantity>
00121 LangmuirAdsorptionRateConstant;
00122
00124 typedef Constant<langmuirAdsorptionRateConstant::Quantity>
00125 LangmuirAdsorptionRateConstantConstant;
00126
00128 typedef
00129 VariableVector<QuantityVector<langmuirAdsorptionRateConstant::Class> >
00130 LangmuirAdsorptionRateConstantVector;
00131
00132 }
00133
00134 #endif