#include "pull.h"
#include "privatePull.h"
Defines | |
#define | SPRING "spring" |
#define | GAUSS "gauss" |
#define | COTAN "cotan" |
#define | QUARTIC "quartic" |
#define | ZERO "zero" |
#define | _GAUSS(x, sig, cut) |
#define | _DGAUSS(x, sig, cut) |
Functions | |
double | _pullEnergyUnknownEval (double *frc, double dist, const double *parm) |
double | _pullEnergySpringEval (double *frc, double dist, const double *parm) |
double | _pullEnergyGaussEval (double *frc, double dist, const double *parm) |
double | _pullEnergyCotanEval (double *frc, double dist, const double *parm) |
double | _pullEnergyQuarticEval (double *frc, double dist, const double *parm) |
double | _pullEnergyZeroEval (double *frc, double dist, const double *parm) |
pullEnergySpec * | pullEnergySpecNew () |
int | pullEnergySpecSet (pullEnergySpec *ensp, const pullEnergy *energy, const double parm[PULL_ENERGY_PARM_NUM]) |
pullEnergySpec * | pullEnergySpecNix (pullEnergySpec *ensp) |
int | pullEnergySpecParse (pullEnergySpec *ensp, const char *_str) |
int | _pullHestEnergyParse (void *ptr, char *str, char err[AIR_STRLEN_HUGE]) |
Variables | |
char | _pullEnergyTypeStr [PULL_ENERGY_TYPE_MAX+1][AIR_STRLEN_SMALL] |
char | _pullEnergyTypeDesc [PULL_ENERGY_TYPE_MAX+1][AIR_STRLEN_MED] |
airEnum | _pullEnergyType |
airEnum * | pullEnergyType = &_pullEnergyType |
pullEnergy | _pullEnergyUnknown |
const pullEnergy *const | pullEnergyUnknown = &_pullEnergyUnknown |
const pullEnergy | _pullEnergySpring |
const pullEnergy *const | pullEnergySpring = &_pullEnergySpring |
const pullEnergy | _pullEnergyGauss |
const pullEnergy *const | pullEnergyGauss = &_pullEnergyGauss |
const pullEnergy | _pullEnergyCotan |
const pullEnergy *const | pullEnergyCotan = &_pullEnergyCotan |
const pullEnergy | _pullEnergyQuartic |
const pullEnergy *const | pullEnergyQuartic = &_pullEnergyQuartic |
const pullEnergy | _pullEnergyZero |
const pullEnergy *const | pullEnergyZero = &_pullEnergyZero |
const pullEnergy *const | pullEnergyAll [PULL_ENERGY_TYPE_MAX+1] |
hestCB | _pullHestEnergySpec |
hestCB * | pullHestEnergySpec = &_pullHestEnergySpec |
#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 GAUSS "gauss" |
#define QUARTIC "quartic" |
#define SPRING "spring" |
#define ZERO "zero" |
double _pullEnergyCotanEval | ( | double * | frc, | |
double | dist, | |||
const double * | parm | |||
) |
double _pullEnergyGaussEval | ( | double * | frc, | |
double | dist, | |||
const double * | parm | |||
) |
double _pullEnergyQuarticEval | ( | double * | frc, | |
double | dist, | |||
const double * | parm | |||
) |
double _pullEnergySpringEval | ( | double * | frc, | |
double | dist, | |||
const double * | parm | |||
) |
double _pullEnergyUnknownEval | ( | double * | frc, | |
double | dist, | |||
const double * | parm | |||
) |
double _pullEnergyZeroEval | ( | double * | frc, | |
double | dist, | |||
const double * | parm | |||
) |
int _pullHestEnergyParse | ( | void * | ptr, | |
char * | str, | |||
char | err[AIR_STRLEN_HUGE] | |||
) |
pullEnergySpec* pullEnergySpecNew | ( | ) |
pullEnergySpec* pullEnergySpecNix | ( | pullEnergySpec * | ensp | ) |
int pullEnergySpecParse | ( | pullEnergySpec * | ensp, | |
const char * | _str | |||
) |
int pullEnergySpecSet | ( | pullEnergySpec * | ensp, | |
const pullEnergy * | energy, | |||
const double | parm[PULL_ENERGY_PARM_NUM] | |||
) |
const pullEnergy _pullEnergyCotan |
Initial value:
{ COTAN, 0, _pullEnergyCotanEval }
const pullEnergy _pullEnergyGauss |
Initial value:
{ GAUSS, 0, _pullEnergyGaussEval }
const pullEnergy _pullEnergyQuartic |
Initial value:
{ QUARTIC, 0, _pullEnergyQuarticEval }
const pullEnergy _pullEnergySpring |
Initial value:
{ SPRING, 1, _pullEnergySpringEval }
Initial value:
{ "energy", PULL_ENERGY_TYPE_MAX, _pullEnergyTypeStr, NULL, _pullEnergyTypeDesc, NULL, NULL, AIR_FALSE }
char _pullEnergyTypeDesc[PULL_ENERGY_TYPE_MAX+1][AIR_STRLEN_MED] |
Initial value:
{ "unknown_energy", "Hooke's law-based potential, with a tunable region of attraction", "Gaussian potential", "Cotangent-based potential (from Meyer et al. SMI '05)", "Quartic thing", "no energy" }
char _pullEnergyTypeStr[PULL_ENERGY_TYPE_MAX+1][AIR_STRLEN_SMALL] |
Initial value:
{ "unknown", 0, _pullEnergyUnknownEval }
const pullEnergy _pullEnergyZero |
Initial value:
{ ZERO, 0, _pullEnergyZeroEval }
Initial value:
{ sizeof(pullEnergySpec*), "energy specification", _pullHestEnergyParse, (airMopper)pullEnergySpecNix }
const pullEnergy* const pullEnergyAll[PULL_ENERGY_TYPE_MAX+1] |
Initial value:
const pullEnergy* const pullEnergyCotan = &_pullEnergyCotan |
const pullEnergy* const pullEnergyGauss = &_pullEnergyGauss |
const pullEnergy* const pullEnergyQuartic = &_pullEnergyQuartic |
const pullEnergy* const pullEnergySpring = &_pullEnergySpring |
const pullEnergy* const pullEnergyUnknown = &_pullEnergyUnknown |
const pullEnergy* const pullEnergyZero = &_pullEnergyZero |