Collective Variables Module - Developer Documentation
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Protected Attributes | List of all members
colvarmodule::system_boundary_conditions Class Reference

Class to store the system's boundary conditions. More...

#include <colvars_system.h>

Collaboration diagram for colvarmodule::system_boundary_conditions:
Collaboration graph
[legend]

Public Types

enum class  types {
  non_periodic , mixed , pbc_orthogonal , pbc_triclinic ,
  unsupported
}
 Type of boundary conditions defined for the current computation. More...
 

Public Member Functions

COLVARS_HOST_DEVICE system_boundary_conditions ()
 Default constructor.
 
 system_boundary_conditions (system_boundary_conditions const &)=default
 Copy constructor.
 
COLVARS_HOST_DEVICE types type () const
 Type of boundary conditions in the current computation.
 
COLVARS_HOST_DEVICE void set_type (types t)
 Set the type of boundary explicitly.
 
COLVARS_HOST_DEVICE cvm::rvector position_distance (cvm::atom_pos const &pos1, cvm::atom_pos const &pos2) const
 Compute the distance between two positions.
 
COLVARS_HOST_DEVICE cvm::rvector get_triclinic_shift (cvm::rvector const &diff) const
 Compute a shift vector that accounts for tilt factors up to 0.5.
 
COLVARS_HOST_DEVICE void reset ()
 Reset to defaults (non-periodic)
 
COLVARS_HOST_DEVICE void set_boundaries (bool periodic_x_in, bool periodic_y_in, bool periodic_z_in, cvm::rvector const &A, cvm::rvector const &B, cvm::rvector const &C)
 Set from explicit boundary configuration.
 

Protected Attributes

types type_ = types::non_periodic
 Type of boundary conditions in the current computation.
 
cvm::rvector unit_cell_x
 Bravais lattice vectors.
 
cvm::rvector unit_cell_y
 
cvm::rvector unit_cell_z
 
cvm::rvector reciprocal_cell_x
 Reciprocal lattice vectors.
 
cvm::rvector reciprocal_cell_y
 
cvm::rvector reciprocal_cell_z
 
bool periodic_x = false
 Periodic flags in each dimension.
 
bool periodic_y = false
 
bool periodic_z = false
 

Detailed Description

Class to store the system's boundary conditions.

Member Enumeration Documentation

◆ types

Type of boundary conditions defined for the current computation.

Enumerator
mixed 

All three dimensions are non-periodic.

pbc_orthogonal 

Some dimensions are periodic, but others are not.

pbc_triclinic 

All three dimensions are periodic, lattice vectors are orthogonal.

unsupported 

All three dimensions are periodic, lattice vectors are not orthogonal.

Unsupported boundary conditions


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