A parallel C++ Library for Simulations in the Heisenberg Model
Public Types | Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
Heisenberg Class Reference

#include <hb.h>

Inheritance diagram for Heisenberg:
Inheritance graph
[legend]
Collaboration diagram for Heisenberg:
Collaboration graph
[legend]

Public Types

using SimulationStrategy = std::function< void(const Heisenberg &)>
 

Public Member Functions

 Heisenberg (double beta, double J, double B, unsigned int Nx, unsigned int Ny, unsigned int Nz, bool hc=true)
 Constructs a Heisenberg Model.
More...
 
 ~Heisenberg ()=default
 
double compute_energy () final
 
void hot_start () final
 
void cold_start () final
 

Protected Member Functions

double delta_energy (unsigned int) final
 
void flip (unsigned int, gsl_rng *) final
 

Private Member Functions

void simulate () const override
 

Private Attributes

SimulationStrategy mS
 

Detailed Description

Definition at line 8 of file hb.h.

Member Typedef Documentation

◆ SimulationStrategy

using Heisenberg::SimulationStrategy = std::function<void(const Heisenberg&)>

Definition at line 11 of file hb.h.

Constructor & Destructor Documentation

◆ Heisenberg()

Heisenberg::Heisenberg ( double  beta,
double  J,
double  B,
unsigned int  Nx,
unsigned int  Ny,
unsigned int  Nz,
bool  hc = true 
)
inline

Constructs a Heisenberg Model.

Initializes a neighbour table and reads the inverse beta, J, B, Nx, Ny and Nz.
Also initializes the grid. If hc reads true, hot_start() is executed, otherwise cold_start().

Definition at line 19 of file hb.h.

Here is the call graph for this function:

◆ ~Heisenberg()

Heisenberg::~Heisenberg ( )
default

Member Function Documentation

◆ cold_start()

void Heisenberg::cold_start ( )
final
Here is the caller graph for this function:

◆ compute_energy()

double Heisenberg::compute_energy ( )
final

◆ delta_energy()

double Heisenberg::delta_energy ( unsigned int  )
finalprotected

◆ flip()

void Heisenberg::flip ( unsigned int  ,
gsl_rng *   
)
finalprotected

◆ hot_start()

void Heisenberg::hot_start ( )
final
Here is the caller graph for this function:

◆ simulate()

void Heisenberg::simulate ( ) const
inlineoverrideprivate

Definition at line 39 of file hb.h.

Member Data Documentation

◆ mS

SimulationStrategy Heisenberg::mS
private

Definition at line 41 of file hb.h.


The documentation for this class was generated from the following file: