BoundaryConditions
ParallelTemperingMonteCarlo.BoundaryConditions — Module
module BoundaryConditionsThis module provides structs and methods for different kinds of boundary conditions.
ParallelTemperingMonteCarlo.BoundaryConditions.AbstractBC — Type
AbstractBC{T}Encompasses possible boundary conditions; implemented:
Needs methods implemented for
ParallelTemperingMonteCarlo.BoundaryConditions.CubicBC — Type
CubicBC{T}(; side_length::Number)Subtype of periodic boundary conditions where the box_length is isotropic.
ParallelTemperingMonteCarlo.BoundaryConditions.PeriodicBC — Type
PeriodicBC{T}Overarching type of boundary condition for simulating the infinite bulk
ParallelTemperingMonteCarlo.BoundaryConditions.RhombicBC — Type
RhombicBC{T}(; length::Number, height::Number)Subtype of periodic boundary condition where the box_length and box_height are not the same. The projection of the box on the xy-plane is a rhombus, box_length applies to all four sides.
ParallelTemperingMonteCarlo.BoundaryConditions.SphericalBC — Type
SphericalBC{T}(;radius::Number)Implements type for spherical boundary conditions; subtype of AbstractBC. Needs radius of binding sphere as keyword argument. Fieldname: radius2: squared radius of binding sphere
ParallelTemperingMonteCarlo.BoundaryConditions.check_boundary — Method
check_boundary(bc::SpericalBC,pos::PositionVector) where T <: NumberReturns true when atom outside of spherical boundary (squared norm of position vector < radius^2 of binding sphere).
ParallelTemperingMonteCarlo.BoundaryConditions.test_cluster_inside — Method
test_cluster_inside(pos::Vector{SVector{3,T}},bc::SphericalBC) where T <: NumberTests if whole cluster lies in the binding sphere.