|
numerics
|
Public Member Functions | |
| IsingLattice () | |
| void | set_temperature (real T) |
| void | set_field (real Fnew) |
| real | temperature () const |
| void | rebuild_boltz () |
| void | random_init () |
| void | all_up () |
| void | generate_nucleus (real r=100.0) |
| void | sweep () |
| int | sweep_umbrella (int lo, int hi, num::ClusterResult &det) |
| real | magnetization () const |
| real | energy_per_spin () |
Static Public Member Functions | |
| static real | mean_field_m (real beta_val, real F_val) |
Public Attributes | |
| Vector | spins |
| Vector | ones |
| Vector | nbr_buf |
| SparseMatrix | adj |
| num::PBCLattice2D | nbr_ |
| real | boltz [2][5] {} |
| std::vector< real > | save_buf |
| std::mt19937 | rng |
| std::uniform_real_distribution< real > | dist {0.0, 1.0} |
| real | beta = 1.0 / (1.0 / 0.58) |
| real | F = 0.0 |
|
inline |
Definition at line 94 of file main.cpp.
References random_init(), and rebuild_boltz().
|
inline |
Definition at line 127 of file main.cpp.
References spins.
Referenced by generate_nucleus(), and main().
|
inline |
Definition at line 195 of file main.cpp.
References adj, num::dot(), F, nbr_buf, ones, num::sparse_matvec(), and spins.
Referenced by main().
|
inline |
|
inline |
|
inline |
Definition at line 111 of file main.cpp.
References beta, boltz, num::markov::boltzmann_accept(), and F.
Referenced by IsingLattice(), set_field(), and set_temperature().
|
inline |
Definition at line 143 of file main.cpp.
References boltz, num::PBCLattice2D::dn, num::PBCLattice2D::lt, num::markov::metropolis_sweep_prob(), nbr_, rng, num::PBCLattice2D::rt, spins, and num::PBCLattice2D::up.
Referenced by main().
|
inline |
Definition at line 161 of file main.cpp.
References boltz, num::connected_components(), num::PBCLattice2D::dn, num::ClusterResult::largest_size, num::PBCLattice2D::lt, nbr_, rng, num::PBCLattice2D::rt, save_buf, spins, num::markov::umbrella_sweep_prob(), and num::PBCLattice2D::up.
Referenced by main().
|
inline |
| SparseMatrix IsingLattice::adj |
Definition at line 74 of file main.cpp.
Referenced by energy_per_spin().
| real IsingLattice::beta = 1.0 / (1.0 / 0.58) |
Definition at line 91 of file main.cpp.
Referenced by main(), rebuild_boltz(), set_temperature(), and temperature().
| real IsingLattice::boltz[2][5] {} |
Definition at line 84 of file main.cpp.
Referenced by rebuild_boltz(), sweep(), and sweep_umbrella().
| std::uniform_real_distribution<real> IsingLattice::dist {0.0, 1.0} |
Definition at line 89 of file main.cpp.
Referenced by random_init().
| real IsingLattice::F = 0.0 |
Definition at line 92 of file main.cpp.
Referenced by energy_per_spin(), main(), rebuild_boltz(), and set_field().
| num::PBCLattice2D IsingLattice::nbr_ |
Definition at line 77 of file main.cpp.
Referenced by sweep(), and sweep_umbrella().
| Vector IsingLattice::nbr_buf |
Definition at line 73 of file main.cpp.
Referenced by energy_per_spin().
| Vector IsingLattice::ones |
Definition at line 72 of file main.cpp.
Referenced by energy_per_spin(), and magnetization().
| std::mt19937 IsingLattice::rng |
Definition at line 88 of file main.cpp.
Referenced by random_init(), sweep(), and sweep_umbrella().
| std::vector<real> IsingLattice::save_buf |
Definition at line 86 of file main.cpp.
Referenced by sweep_umbrella().
| Vector IsingLattice::spins |
Definition at line 71 of file main.cpp.
Referenced by all_up(), energy_per_spin(), generate_nucleus(), magnetization(), main(), random_init(), sweep(), and sweep_umbrella().