src/push/forces.c File Reference

#include "push.h"
#include "privatePush.h"

Include dependency graph for forces.c:


Defines

#define SPRING   "spring"
#define GAUSS   "gauss"
#define COULOMB   "coulomb"
#define COTAN   "cotan"
#define ZERO   "zero"
#define _GAUSS(x, sig, cut)
#define _DGAUSS(x, sig, cut)

Functions

void _pushEnergyUnknownEval (double *enr, double *frc, double dist, const double *parm)
double _pushEnergyUnknownSupport (const double *parm)
void _pushEnergySpringEval (double *enr, double *frc, double dist, const double *parm)
double _pushEnergySpringSupport (const double *parm)
void _pushEnergyGaussEval (double *enr, double *frc, double dist, const double *parm)
double _pushEnergyGaussSupport (const double *parm)
void _pushEnergyCoulombEval (double *enr, double *frc, double dist, const double *parm)
double _pushEnergyCoulombSupport (const double *parm)
void _pushEnergyCotanEval (double *enr, double *frc, double dist, const double *parm)
double _pushEnergyCotanSupport (const double *parm)
void _pushEnergyZeroEval (double *enr, double *frc, double dist, const double *parm)
double _pushEnergyZeroSupport (const double *parm)
pushEnergySpecpushEnergySpecNew ()
void pushEnergySpecSet (pushEnergySpec *ensp, const pushEnergy *energy, const double parm[PUSH_ENERGY_PARM_NUM])
pushEnergySpecpushEnergySpecNix (pushEnergySpec *ensp)
int pushEnergySpecParse (pushEnergySpec *ensp, const char *_str)
int _pushHestEnergyParse (void *ptr, char *str, char err[AIR_STRLEN_HUGE])

Variables

char _pushEnergyTypeStr [PUSH_ENERGY_TYPE_MAX+1][AIR_STRLEN_SMALL]
char _pushEnergyTypeDesc [PUSH_ENERGY_TYPE_MAX+1][AIR_STRLEN_MED]
airEnum _pushEnergyType
airEnumpushEnergyType = &_pushEnergyType
pushEnergy _pushEnergyUnknown
const pushEnergy *const pushEnergyUnknown = &_pushEnergyUnknown
const pushEnergy _pushEnergySpring
const pushEnergy *const pushEnergySpring = &_pushEnergySpring
const pushEnergy _pushEnergyGauss
const pushEnergy *const pushEnergyGauss = &_pushEnergyGauss
const pushEnergy _pushEnergyCoulomb
const pushEnergy *const pushEnergyCoulomb = &_pushEnergyCoulomb
const pushEnergy _pushEnergyCotan
const pushEnergy *const pushEnergyCotan = &_pushEnergyCotan
const pushEnergy _pushEnergyZero
const pushEnergy *const pushEnergyZero = &_pushEnergyZero
const pushEnergy *const pushEnergyAll [PUSH_ENERGY_TYPE_MAX+1]
hestCB _pushHestEnergySpec
hestCBpushHestEnergySpec = &_pushHestEnergySpec

Define Documentation

#define _DGAUSS ( x,
sig,
cut   ) 

Value:

( \
   x >= sig*cut ? 0            \
   : -exp(-x*x/(2.0*sig*sig))*x/(sig*sig*sig*2.50662827463100050241))

#define _GAUSS ( x,
sig,
cut   ) 

Value:

( \
   x >= sig*cut ? 0           \
   : exp(-x*x/(2.0*sig*sig))/(sig*2.50662827463100050241))

#define COTAN   "cotan"

#define COULOMB   "coulomb"

#define GAUSS   "gauss"

#define SPRING   "spring"

#define ZERO   "zero"


Function Documentation

void _pushEnergyCotanEval ( double *  enr,
double *  frc,
double  dist,
const double *  parm 
)

double _pushEnergyCotanSupport ( const double *  parm  ) 

void _pushEnergyCoulombEval ( double *  enr,
double *  frc,
double  dist,
const double *  parm 
)

double _pushEnergyCoulombSupport ( const double *  parm  ) 

void _pushEnergyGaussEval ( double *  enr,
double *  frc,
double  dist,
const double *  parm 
)

double _pushEnergyGaussSupport ( const double *  parm  ) 

void _pushEnergySpringEval ( double *  enr,
double *  frc,
double  dist,
const double *  parm 
)

double _pushEnergySpringSupport ( const double *  parm  ) 

void _pushEnergyUnknownEval ( double *  enr,
double *  frc,
double  dist,
const double *  parm 
)

double _pushEnergyUnknownSupport ( const double *  parm  ) 

void _pushEnergyZeroEval ( double *  enr,
double *  frc,
double  dist,
const double *  parm 
)

double _pushEnergyZeroSupport ( const double *  parm  ) 

int _pushHestEnergyParse ( void *  ptr,
char *  str,
char  err[AIR_STRLEN_HUGE] 
)

pushEnergySpec* pushEnergySpecNew (  ) 

pushEnergySpec* pushEnergySpecNix ( pushEnergySpec ensp  ) 

int pushEnergySpecParse ( pushEnergySpec ensp,
const char *  _str 
)

void pushEnergySpecSet ( pushEnergySpec ensp,
const pushEnergy energy,
const double  parm[PUSH_ENERGY_PARM_NUM] 
)


Variable Documentation

Initial value:

char _pushEnergyTypeDesc[PUSH_ENERGY_TYPE_MAX+1][AIR_STRLEN_MED]

Initial value:

 {
  "unknown_energy",
  "Hooke's law-based potential, with a tunable region of attraction",
  "Gaussian potential",
  "Coulomb electrostatic potential, with tunable cut-off",
  "Cotangent-based potential (from Meyer et al. SMI '05)",
  "no energy"
}

char _pushEnergyTypeStr[PUSH_ENERGY_TYPE_MAX+1][AIR_STRLEN_SMALL]

Initial value:

 {
  "(unknown_energy)",
  SPRING,
  GAUSS,
  COULOMB,
  COTAN,
  ZERO
}

Initial value:

Initial value:

 {
  sizeof(pushEnergySpec*),
  "energy specification",
  _pushHestEnergyParse,
  (airMopper)pushEnergySpecNix
}

const pushEnergy* const pushEnergyAll[PUSH_ENERGY_TYPE_MAX+1]


Generated on Thu Jan 1 01:07:04 2009 for Teem by  doxygen 1.5.6