Tissue Forge C++ 0.2.1
Interactive, particle-based physics, chemistry and biology modeling and simulation environment
Loading...
Searching...
No Matches
TissueForge::py::PotentialPy Struct Reference
Inheritance diagram for TissueForge::py::PotentialPy:
Collaboration diagram for TissueForge::py::PotentialPy:

Static Public Member Functions

static PotentialcustomPy (FloatP_t min, FloatP_t max, PyObject *f, PyObject *fp=Py_None, PyObject *f6p=Py_None, FloatP_t *tol=NULL, uint32_t *flags=NULL)
 Creates a custom potential.
 
- Static Public Member Functions inherited from TissueForge::Potential
static PotentialfromString (const std::string &str)
 Create from a JSON string representation.
 
static Potentiallennard_jones_12_6 (FPTYPE min, FPTYPE max, FPTYPE A, FPTYPE B, FPTYPE *tol=NULL)
 Creates a 12-6 Lennard-Jones potential.
 
static Potentiallennard_jones_12_6_coulomb (FPTYPE min, FPTYPE max, FPTYPE A, FPTYPE B, FPTYPE q, FPTYPE *tol=NULL)
 Creates a potential of the sum of a 12-6 Lennard-Jones potential and a shifted Coulomb potential.
 
static Potentialewald (FPTYPE min, FPTYPE max, FPTYPE q, FPTYPE kappa, FPTYPE *tol=NULL, unsigned int *periodicOrder=NULL)
 Creates a real-space Ewald potential.
 
static Potentialcoulomb (FPTYPE q, FPTYPE *min=NULL, FPTYPE *max=NULL, FPTYPE *tol=NULL, unsigned int *periodicOrder=NULL)
 Creates a Coulomb potential.
 
static PotentialcoulombR (FPTYPE q, FPTYPE kappa, FPTYPE min, FPTYPE max, unsigned int *modes=NULL)
 Creates a Coulomb reciprocal potential.
 
static Potentialharmonic (FPTYPE k, FPTYPE r0, FPTYPE *min=NULL, FPTYPE *max=NULL, FPTYPE *tol=NULL)
 Creates a harmonic bond potential.
 
static Potentiallinear (FPTYPE k, FPTYPE *min=NULL, FPTYPE *max=NULL, FPTYPE *tol=NULL)
 Creates a linear potential.
 
static Potentialharmonic_angle (FPTYPE k, FPTYPE theta0, FPTYPE *min=NULL, FPTYPE *max=NULL, FPTYPE *tol=NULL)
 Creates a harmonic angle potential.
 
static Potentialharmonic_dihedral (FPTYPE k, FPTYPE delta, FPTYPE *min=NULL, FPTYPE *max=NULL, FPTYPE *tol=NULL)
 Creates a harmonic dihedral potential.
 
static Potentialcosine_dihedral (FPTYPE k, int n, FPTYPE delta, FPTYPE *tol=NULL)
 Creates a cosine dihedral potential.
 
static Potentialwell (FPTYPE k, FPTYPE n, FPTYPE r0, FPTYPE *min=NULL, FPTYPE *max=NULL, FPTYPE *tol=NULL)
 Creates a well potential.
 
static Potentialglj (FPTYPE e, FPTYPE *m=NULL, FPTYPE *n=NULL, FPTYPE *k=NULL, FPTYPE *r0=NULL, FPTYPE *min=NULL, FPTYPE *max=NULL, FPTYPE *tol=NULL, bool *shifted=NULL)
 Creates a generalized Lennard-Jones potential.
 
static Potentialmorse (FPTYPE *d=NULL, FPTYPE *a=NULL, FPTYPE *r0=NULL, FPTYPE *min=NULL, FPTYPE *max=NULL, FPTYPE *tol=NULL, bool *shifted=NULL)
 Creates a Morse potential.
 
static Potentialoverlapping_sphere (FPTYPE *mu=NULL, FPTYPE *kc=NULL, FPTYPE *kh=NULL, FPTYPE *r0=NULL, FPTYPE *min=NULL, FPTYPE *max=NULL, FPTYPE *tol=NULL)
 Creates an overlapping-sphere potential from :cite:Osborne:2017hk.
 
static Potentialpower (FPTYPE *k=NULL, FPTYPE *r0=NULL, FPTYPE *alpha=NULL, FPTYPE *min=NULL, FPTYPE *max=NULL, FPTYPE *tol=NULL)
 Creates a power potential.
 
static Potentialdpd (FPTYPE *alpha=NULL, FPTYPE *gamma=NULL, FPTYPE *sigma=NULL, FPTYPE *cutoff=NULL, bool *shifted=NULL)
 Creates a Dissipative Particle Dynamics potential.
 
static Potentialcustom (FPTYPE min, FPTYPE max, FPTYPE(*f)(FPTYPE), FPTYPE(*fp)(FPTYPE), FPTYPE(*f6p)(FPTYPE), FPTYPE *tol=NULL, uint32_t *flags=NULL)
 Creates a custom potential.
 

Additional Inherited Members

- Public Member Functions inherited from TissueForge::Potential
FPTYPE operator() (const FPTYPE &r, const FPTYPE &r0=-1.0)
 
FPTYPE operator() (const std::vector< FPTYPE > &r)
 
FPTYPE operator() (struct ParticleHandle *pi, const FVector3 &pt)
 
FPTYPE operator() (struct ParticleHandle *pi, struct ParticleHandle *pj)
 
FPTYPE operator() (struct ParticleHandle *pi, struct ParticleHandle *pj, struct ParticleHandle *pk)
 
FPTYPE operator() (struct ParticleHandle *pi, struct ParticleHandle *pj, struct ParticleHandle *pk, struct ParticleHandle *pl)
 
FPTYPE force (FPTYPE r, FPTYPE ri=-1.0, FPTYPE rj=-1.0)
 
std::vector< FPTYPE > force (const std::vector< FPTYPE > &r)
 
std::vector< FPTYPE > force (struct ParticleHandle *pi, const FVector3 &pt)
 
std::vector< FPTYPE > force (struct ParticleHandle *pi, struct ParticleHandle *pj)
 
std::pair< std::vector< FPTYPE >, std::vector< FPTYPE > > force (struct ParticleHandle *pi, struct ParticleHandle *pj, struct ParticleHandle *pk)
 
std::pair< std::vector< FPTYPE >, std::vector< FPTYPE > > force (struct ParticleHandle *pi, struct ParticleHandle *pj, struct ParticleHandle *pk, struct ParticleHandle *pl)
 
std::vector< Potential * > constituents ()
 
Potentialoperator+ (const Potential &rhs)
 
virtual std::string toString ()
 Get a JSON string representation.
 
FPTYPE getMin ()
 
FPTYPE getMax ()
 
FPTYPE getCutoff ()
 
std::pair< FPTYPE, FPTYPE > getDomain ()
 
int getIntervals ()
 
bool getBound ()
 
void setBound (const bool &_bound)
 
FPTYPE getR0 ()
 
void setR0 (const FPTYPE &_r0)
 
bool getShifted ()
 
bool getPeriodic ()
 
bool getRSquare ()
 
- Public Attributes inherited from TissueForge::Potential
uint32_t kind
 
uint32_t flags
 
FPTYPE alpha [4]
 
FPTYPE * c
 
FPTYPE r0_plusone
 
FPTYPE a
 
FPTYPE b
 
FPTYPE mu
 
FPTYPE offset [3]
 
int n
 
PotentialCreate create_func
 
PotentialClear clear_func
 
PotentialEval_ByParticle eval_bypart
 
PotentialEval_ByParticles eval_byparts
 
PotentialEval_ByParticles3 eval_byparts3
 
PotentialEval_ByParticles4 eval_byparts4
 
Potentialpca
 
Potentialpcb
 
const char * name
 

Member Function Documentation

◆ customPy()

static Potential * TissueForge::py::PotentialPy::customPy ( FloatP_t min,
FloatP_t max,
PyObject * f,
PyObject * fp = Py_None,
PyObject * f6p = Py_None,
FloatP_t * tol = NULL,
uint32_t * flags = NULL )
static

Creates a custom potential.

Parameters
minThe smallest radius for which the potential will be constructed.
maxThe largest radius for which the potential will be constructed.
ffunction returning the value of the potential
fpfunction returning the value of first derivative of the potential
f6pfunction returning the value of sixth derivative of the potential
tolTolerance, defaults to 0.001.
Returns
Potential*

The documentation for this struct was generated from the following file: