00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #ifndef __rdSprings_h__
00013 #define __rdSprings_h__
00014
00015
00016
00017 #include "rdModel.h"
00018
00019
00020
00021
00027 class RDSIMULATION_API rdSprings
00028 {
00029
00030
00031
00032
00033 private:
00034
00035
00036
00037
00038 public:
00039 rdSprings();
00040 virtual ~rdSprings();
00041
00042
00043
00044
00045 static double Damp(double kv,double v);
00046 static double Linear(double kx,double dx);
00047 static double Linear(double kx,double x0,double x);
00048 static double DampedLinear(double kv,double v,double kx,double x0,double x);
00049 static double ZeroForDampedLinear(double kv,double v,double kx,double x,
00050 double f);
00051 static double DisplacementOfDampedLinear(double kv,double v,double kx,double f);
00052 static double Quadratic(double kx,double dx);
00053 static double Quadratic(double kx,double x0,double x);
00054 static double DampedQuadratic(double kv,double v,double kx,double dx);
00055 static double DampedQuadratic(double kv,double v,double kx,double x0,double x);
00056 static double ExponentialBarrier(double v,double dx);
00057 static double ExponentialBarrier(double aG0,double aG1,double aG2,
00058 double aE0,double aE1,double aE2,
00059 double aKV,double aV,double aDX);
00060 static double ExponentialBarrierDX(double v,double dx);
00061 static double ExponentialBarrierDX(double aG0,double aG1,double aG2,
00062 double aE0,double aE1,double aE2,
00063 double aKV,double aV,double aDX);
00064 static double ExponentialBarrierDV(double v,double dx);
00065 static double ExponentialBarrierDV(double aG0,double aG1,double aG2,
00066 double aE0,double aE1,double aE2,
00067 double aKV,double aV,double aDX);
00068 static double oscillation(double delay,double t,double f);
00069
00070
00071 };
00072
00073
00074
00075
00076 #endif //__rdSprings_h__