00001
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef _Force_h
00026 #define _Force_h
00027
00028 #include "Quantity/Variable.h"
00029 #include "Quantity/Constant.h"
00030 #include "Quantity/QuantityCluster.h"
00031
00032 namespace Quantities {
00033
00034
00035 typedef BSUtilities::Rational<1> Force_LE;
00036 typedef BSUtilities::Rational<1> Force_M;
00037 typedef BSUtilities::Rational<-2> Force_TI;
00038 typedef BSUtilities::Rational<0> Force_E;
00039 typedef BSUtilities::Rational<0> Force_TE;
00040 typedef BSUtilities::Rational<0> Force_A;
00041 typedef BSUtilities::Rational<0> Force_LU;
00042 class ForceGroup
00043 {
00044 public:
00045 typedef TYPELIST_7(Force_LE, Force_M, Force_TI, Force_E,
00046 Force_TE, Force_A, Force_LU) DimTL;
00047 };
00048
00049
00050 namespace ForceUnits {
00051
00052
00053 typedef Units::Unit<ForceGroup> ForceUnit;
00054
00055
00056 class NewtonUnits;
00057 class DyneUnit;
00058 class KilogramForceUnit;
00059 class AtomicUnit;
00060
00061
00062
00063 typedef Units::Prefixable<ForceGroup, NewtonUnits> Newtons;
00064
00065 typedef Units::Prefixed<Newtons> Newton;
00066
00067
00068
00069 typedef Units::NonPrefixable<ForceGroup, DyneUnit> Dyne;
00070
00071
00072
00073 typedef Units::NonPrefixable<ForceGroup, KilogramForceUnit> KilogramForce;
00074
00075
00076
00077 typedef Units::NonPrefixable<ForceGroup, AtomicUnit> Atomic;
00078
00079 typedef Loki::TL::Append<Newtons::Units,
00080 TYPELIST_3(Dyne, KilogramForce, Atomic)>::Result ForceUnits;
00081
00082
00083
00084 typedef Newton N;
00085 typedef Dyne dyn;
00086
00087 }
00088
00089
00090
00091 typedef Dimensions::Dimension<ForceGroup> ForceDimension;
00092
00093
00094
00095 typedef Quantity<ForceGroup, ForceUnits::ForceUnits,
00096 ForceUnits::Newton> ForceQuantities;
00097
00098 typedef Variable<ForceQuantities> Force;
00099 typedef Constant<ForceQuantities> ForceConstant;
00100
00101 typedef VariableVector<ForceQuantities> ForceVector;
00102 }
00103
00104 #endif