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, 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, argtype integration_args, const int site_type = 0)

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

param integration_args:

See Shape for documentation of integration_args.

void compute_table_omp(Shape *shape, Domain *domain, Random *random, 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.

param 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, const Domain &domain, Random *random, argtype integration_args, const int site_type = 0)

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

param integration_args:

See Shape for documentation of integration_args.

void compute_table_omp(Shape *shape, const Domain &domain, Random *random, 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.

param node:

See Thread for documentation of these two arguments.

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

See Shape for documentation of integration_args.

void compute_table_omp(Shape *shape, const Domain &domain, Random *random, 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.

param 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.

param 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.

Arguments

  • table_file: file name for the table.

  • shape_file: ShapeFile that describes the shape.

  • ModelTableCart3DIntegr::compute_table::integration_args.

  • use_omp: use OpenMP to compute the table (default: false).

  • node: for parallelization, see compute_table_omp (default: 0).

  • num_node: for parallelization, see compute_table_omp (default: 1).

  • Table3D arguments.

  • Domain arguments.

The format for the table file is as follows.

The first line should be ‘site_types’ followed by the number of site types and then the identity of each of those site types in order of the tables given below. (e.g., “site_types n i” where n is the number of site types and each following number is the type of each anisotropic site.)

The remaining lines are the individual tables for each of the site types.