MCStates

ParallelTemperingMonteCarlo.MCStates.MCStateType
MCState(temp::Number, beta::Number, config::Config{N, BC, T}, dist2_mat::Matrix{Number}, new_dist2_vec::VorS, new_en::Number, en_tot::Number, potentialvariables::AbstractPotentialVariables, ensemble_variables::AbstractEnsembleVariables; max_displ = [0.1, 0.1, 1.0], max_boxlength = max_length(config.bc), count_atom = [0, 0], count_vol = [0, 0], count_exc = [0, 0]) where {T, N, BC}
MCState(temp::Number, beta::Number, config::Config, ensemble::Etype, pot::Ptype; kwargs...)

Creates an MC state vector at a given temperature temp containing temperature-dependent information

  • Fieldnames:
    • temp: temperature
    • beta: inverse temperature
    • config: actual configuration in Markov chain Config
    • dist_2mat: matrix of squared distances d_ij between atoms i and j; generated automatically when potential pot given
    • new_dist2_vec: calculates the new r2 between atoms based on a trial move
    • new_en : new energy value for trial configuraiton
    • en_tot: total energy of config; generated automatically when pot given
    • potential_variables : mutable struct containing energy-related variables for the current configuration
    • ensemble_variables : mutable struct containing ensemble-related variables for the current configuraiton
    • ham: vector containing sampled energies - generated in MC run
    • count_atom: number of accepted atom moves - total and between adjustment of step sizes; key-word argument
    • count_vol: number of accepted volume moves - total and between adjustment of step sizes; key-word argument
    • count_exc: number of attempted (10%) and accepted exchanges with neighbouring trajectories; key-word argument
source
ParallelTemperingMonteCarlo.MCStates.MCStateMethod
(MCState(temp::Number, beta::Number, config::Config{N, BC, T}, dist2_mat::Matrix{Z}, new_dist2_vec::VorS, new_en::Number, en_tot::Number, potentialvariables::AbstractPotentialVariables, ensemble_variables::AbstractEnsembleVariables; max_displ = [0.1, 0.1, 1.0], max_boxlength = max_length(config.bc), count_atom = [0, 0], count_vol = [0, 0], count_exc = [0, 0]) where {T, N, BC}) where Z <: Number
MCState(temp::Number, beta::Number, config::Config, ensemble::Etype, pot::Ptype; kwargs...)

Constructor for the MCState struct.

source
ParallelTemperingMonteCarlo.MCStates.max_lengthMethod
max_length(bc::SphericalBC)
max_length(bc::CubicBC)
max_length(bc::RhombicBC)

Returns the max box_length allowed when a volume change step is performed. For spherical boundary, it is not used during the MC steps.

source