Configurations
ParallelTemperingMonteCarlo.Configurations — Module
module ConfigurationsThis module defines types and functions for working with atomic configurations of N atoms.
Exported types
Exported functions
ParallelTemperingMonteCarlo.Configurations.Config — Type
Config(pos::Vector{SVector{3,T}}, bc::BC) where BC <: AbstractBC
Config{N}(pos::Vector{SVector{3,T}}, bc::BC) where BC <: AbstractBC
Config(pos::PositionArray, bc::BC) where BC <: AbstractBCGenerates a configuration of N atomic positions, each position saved as SVector of length 3.
- Fieldnames:
pos: vector of x,y, and z coordinates of every atombc: boundary condition
ParallelTemperingMonteCarlo.Configurations.distance2 — Method
distance2(a::PositionVector,b::PositionVector)
distance2(a::PositionVector,b::PositionVector,bc::SphericalBC)
distance2(a::PositionVector,b::PositionVector,bc::CubicBC)
distance2(a::PositionVector,b::PositionVector,bc::RhombicBC)Method 1&2 - Finds the distance between two positions a and b. Method 3 - Finds the distance between two positions a and the nearest image of b in a cubic box. Method 4 - Finds the distance between two positions a and the nearest image of b in a rhombic box. Minimum image convension in the z-direction is the same as the cubic box. In x and y-direction, first the box is transformed into a rectangular box, then MIC is done, finally the new coordinates are transformed back.
ParallelTemperingMonteCarlo.Configurations.get_centre — Method
get_centre(position::PositionArray,N::Int64)Function to find the centre of mass of a configuration. Accepts the positions and number of positions and calculates the xyz coordinates of their centre.
ParallelTemperingMonteCarlo.Configurations.get_distance2_mat — Method
get_distance2_mat(conf::Config{N})Builds the matrix of squared distances between positions of configuration.
ParallelTemperingMonteCarlo.Configurations.get_tan — Method
get_tan(a::PositionVector,b::PositionVector)
get_tan(a::PositionVector,b::PositionVector,bc::SphericalBC)
get_tan(a::PositionVector,b::PositionVector,bc::CubicBC)
get_tan(a::PositionVector,b::PositionVector,bc::RhombicBC)Method 1&2 : tan of the angle between the line connecting two points a and b, and the z-direction Method 3: tan of the angle between the line connecting two points a and the nearest image of b, and the z-direction in a cubic boundary Method 4: tan of the angle between the line connecting two points a and the nearest image of b, and the z-direction in a rhombic boundary
ParallelTemperingMonteCarlo.Configurations.get_tantheta_mat — Method
get_tantheta_mat(conf::Config,bc::BC) where BC <: AbstractBCBuilds the matrix of tan of angles between positions of configuration in a spherical boundary.
ParallelTemperingMonteCarlo.Configurations.get_volume — Method
get_volume(bc::CubicBC)
get_volume(bc::RhombicBC)Returns the volume of a box according to its geometry for use where the ensemble does not imply a fixed V.
ParallelTemperingMonteCarlo.Configurations.recentre! — Method
recentre!(conf::Config{N,BC,T}) where {N,BC,T}Function to change the centre of mass of a configuration conf to [0,0,0] in Cartesian space.