class TabulateTwoRigidBody3D : public feasst::Action

Generate a table of interactions between two rigid bodies in 3D. This class is currently in development and not well supported.

Contact distances are determined by RefPotential. This is typically a HardSphere potential with an optimzied VisitModelCell.

Public Functions

double max_cubic_side_length(const int particle_type, const Configuration &config) const

Return the maximum cubic side length required for particle type.

void adjust_domain(System *system)

Adjust the Domain.

void write_table(MonteCarlo *mc) const

Write the table file as described in VisitModelInnerTable. If num_z == -1, include the unique id for use in subsequent energy calc.

void read_contact_table(MonteCarlo *mc)

Read table for contact (num_z == -1) produced from the above, in order to compute energy table (num_z > 1).

void combine_table(argtype args = argtype()) const

Write a combined table file.


  • prefix: characters in file name before processor index.

  • suffix: characters in file name after processor index.


  • num_orientations_per_pi: As described in VisitModelInnerTable (default: -1).

  • num_z: As described in VisitModelInnerTable (default: -1). Set to -1 when computing contact distances.

  • gamma: As described in VisitModelInnerTable (default: -4).

  • smoothing_distance: As described in VisitModelInnerTable (default: 2).

  • max_energy: For handshake configurations (large energy for z > 0), set the energy to max_energy_set instead, which may be 1e30, near the max single precision, or lower (default: 1e30).

  • max_energy_set: set to this energy if above max and z > 0 (default: 5).

  • output_orientation_file: name of file to output unique orientations, and terminate early, if not empty (default: empty). This is used to compute unique orientations using a fast and simple model.

  • input_orientation_file: name of file to input unique orientations, if not empty (default: empty).

  • output_table_file: name of file to output computed table.

  • input_table_file: name of file to input computed table.

  • xyz_file: if not empty, visualize (default: empty).

  • contact_xyz_file: if not empty, visualize (default: empty).

  • contact_xyz_index: if not -1, only consider this index (default: -1).

  • Rotator arguments.