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§
Sourcefn log_f_threshold(&self) -> f64
fn log_f_threshold(&self) -> f64
§returns currently set threshold for log_f
Sourcefn set_log_f_threshold(
&mut self,
log_f_threshold: f64,
) -> Result<f64, WangLandauErrors>
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 truelog_f_threshold
has to be finite
Sourcefn log_density(&self) -> &Vec<f64>
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
Sourcefn write_log<W: Write>(&self, writer: W) -> Result<(), Error>
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.
Sourcefn mode(&self) -> WangLandauMode
fn mode(&self) -> WangLandauMode
§Returns current wang landau mode
- see
WangLandauMode
for an explanation
Sourcefn step_counter(&self) -> usize
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
Sourcefn total_steps_accepted(&self) -> usize
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
Sourcefn total_steps_rejected(&self) -> usize
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§
Sourcefn is_finished(&self) -> bool
fn is_finished(&self) -> bool
§Checks wang landau threshold
log_f <= log_f_threshold
Sourcefn log_density_base10(&self) -> Vec<f64>
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
Sourcefn log_density_base(&self, base: f64) -> Vec<f64>
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
Sourcefn steps_total(&self) -> usize
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
Sourcefn fraction_accepted_total(&self) -> f64
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
Sourcefn fraction_rejected_total(&self) -> f64
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.