ModelTableCart1DHard

class ModelTableCart1DHard : public feasst::ModelOneBody

A tabular potential based on cartesian coordinates. Assumes symmetry along the x plane and that the Domain has no tilt.

Public Functions

void compute_table(Shape *shape, Domain *domain, Random *random, const argtype &args = argtype(), const int site_type = 0)

Generate the table by finding where the point is inside the shape and the nearest distance to the surface is half of the diameter. The initial bounds are [0, L/2] inclusive, assuming a plane (or line) of symmetry at origin perpendicular to y axis.

args:

  • diameter: diameter of the sphere (default: 1)

double energy(const Position &wrapped_site, const Site &site, const Configuration &config, const ModelParams &model_params)

Return the energy given the wrapped coordinates, site, config and params.

void serialize(std::ostream &ostr) const

Output a serialized version of the existing model.

class ModelTableCart2DIntegr : public feasst::ModelOneBody

A tabular potential based on cartesian coordinates. Assumes symmetry along the x, y planes and that the Domain has no tilt. Integration of material does not take periodicity into account. E.g., the shapes extend forever and are not periodic in the domain.

Public Functions

void compute_table(Shape *shape, Domain *domain, Random *random, const argtype &integration_args, const int site_type = 0)

Parameters
  • integration_args: See Shape for documentation of integration_args.

Generate the table by integration of the shape of the confinement over the entire and domain.

void compute_table_omp(Shape *shape, Domain *domain, Random *random, const argtype &integration_args, const int site_type = 0, const int node = 0, const int num_node = 1)

Same as above, but parallelize the task with OMP.

Parameters
  • node: See Thread for documentation of these two arguments.

double energy(const Position &wrapped_site, const Site &site, const Configuration &config, const ModelParams &model_params)

Return the energy given the wrapped coordinates, site, config and params.

void serialize(std::ostream &ostr) const

Output a serialized version of the existing model.

class ModelTableCart3DIntegr : public feasst::ModelOneBody

A tabular potential based on cartesian coordinates. Assumes symmetry along the x, y and z planes and that the Domain has no tilt. Integration of material does not take periodicity into account. E.g., the shapes extend forever and are not periodic in the domain.

Public Functions

const Table3D &table(const int site_type = 0) const

Return the table for a given site type.

void compute_table(Shape *shape, Domain *domain, Random *random, const argtype &integration_args, const int site_type = 0)

Parameters
  • integration_args: See Shape for documentation of integration_args.

Generate the table by integration of a shape, which represents a continuous medium, over the entire domain.

void compute_table_omp(Shape *shape, Domain *domain, Random *random, const argtype &integration_args, const int site_type = 0, const int node = 0, const int num_nodes = 1)

Same as above, but parallelize the task with OMP.

Parameters
  • node: See Thread for documentation of these two arguments.

void compute_table(System *system, Select *select, const int site_type = 0)

Generate the table by computing the energy of interaction of the select with the rest of the system. The select is assumed to be a single site, so that tables can be generated for each site type.

void compute_table_omp(System *system, Select *select, const int site_type = 0, const int node = 0, const int num_node = 1)

Same as above, but parallelize the task with OMP.

Parameters
  • node: See Thread for documentation of these two arguments.

double energy(const Position &wrapped_site, const Site &site, const Configuration &config, const ModelParams &model_params)

Return the energy given the wrapped coordinates, site, config and params.

void serialize(std::ostream &ostr) const

Output a serialized version of the existing model.