Trait WangLandau

Source
pub trait WangLandau {
Show 15 methods // Required methods fn log_f(&self) -> f64; fn log_f_threshold(&self) -> f64; fn set_log_f_threshold( &mut self, log_f_threshold: f64, ) -> Result<f64, WangLandauErrors>; fn log_density(&self) -> &Vec<f64>; fn write_log<W: Write>(&self, writer: W) -> Result<(), Error>; fn mode(&self) -> WangLandauMode; fn step_counter(&self) -> usize; fn total_steps_accepted(&self) -> usize; fn total_steps_rejected(&self) -> usize; // Provided methods fn is_finished(&self) -> bool { ... } fn log_density_base10(&self) -> Vec<f64> { ... } fn log_density_base(&self, base: f64) -> Vec<f64> { ... } fn steps_total(&self) -> usize { ... } fn fraction_accepted_total(&self) -> f64 { ... } fn fraction_rejected_total(&self) -> f64 { ... }
}
Expand description

§Traits for quantities that all Wang Landau simulations have

  • see also: WangLandauHist
  • this trait is for convenience, so that you do not have to write all the trait bounds of, e.g., WangLandauHist, if you are not using functionality, that requires it

Required Methods§

Source

fn log_f(&self) -> f64

get current value of log_f

Source

fn log_f_threshold(&self) -> f64

§returns currently set threshold for log_f
Source

fn set_log_f_threshold( &mut self, log_f_threshold: f64, ) -> Result<f64, WangLandauErrors>

Try to set the threshold.

  • log_f_threshold > 0.0 has to be true
  • log_f_threshold has to be finite
Source

fn log_density(&self) -> &Vec<f64>

§Current (non normalized) estimate of ln(P(E))
  • i.e., of the natural logarithm of the probability density function for the requested interval
  • this is what we are doing the simulations for
Source

fn write_log<W: Write>(&self, writer: W) -> Result<(), Error>

Writes Information about the simulation to a file. E.g. How many steps were performed.

Source

fn mode(&self) -> WangLandauMode

§Returns current wang landau mode
  • see WangLandauMode for an explanation
Source

fn step_counter(&self) -> usize

§Counter
  • how many wang Landau steps were performed until now?
  • this does not include steps, that were performed to find a initial valid ensemble
Source

fn total_steps_accepted(&self) -> usize

§How many steps were accepted until now?
  • this includes steps, that were performed to find a initial valid ensemble
Source

fn total_steps_rejected(&self) -> usize

§How many steps were rejected until now?
  • this includes steps, that were performed to find a initial valid ensemble

Provided Methods§

Source

fn is_finished(&self) -> bool

§Checks wang landau threshold
  • log_f <= log_f_threshold
Source

fn log_density_base10(&self) -> Vec<f64>

§Current (non normalized) estimate of log10(P(E))
  • i.e., of logarithm with base 10 of the probability density function for the requested interval
  • this is what we are doing the simulations for
Source

fn log_density_base(&self, base: f64) -> Vec<f64>

§Current (non normalized) estimate of log_base(P(E))
  • i.e., of logarithm with arbitrary base of the probability density function for the requested interval
  • this is what we are doing the simulations for
Source

fn steps_total(&self) -> usize

§Counter
  • how many wang Landau steps were performed until now?
  • this includes steps, that were performed to find a initial valid ensemble
Source

fn fraction_accepted_total(&self) -> f64

§Calculate, which fraction of steps were accepted
  • this includes steps, that were performed to find a initial valid ensemble
  • if no steps were performed, it returns f64::NAN
Source

fn fraction_rejected_total(&self) -> f64

§Calculate, which fraction of steps were rejected
  • this includes steps, that were performed to find a initial valid ensemble
  • if no steps were performed, it returns f64::NAN

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl<Hist, R, E, S, Res, Energy> WangLandau for WangLandau1T<Hist, R, E, S, Res, Energy>

Source§

impl<R, E, S, Res, Hist, Energy> WangLandau for WangLandauAdaptive<Hist, R, E, S, Res, Energy>