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

#include <xy.h>

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

Public Member Functions

 XY (double beta, double J, double B, unsigned int Nx, unsigned int Ny, unsigned int Nz, bool hc=true)
 Constructs a XY Model.
More...
 
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 Attributes

vector< double > mgrid
 A vector containing double values. They represent the polar angulars between 0 and 2*pi of spins of unit length. The position in the grid (x,y,z) is (indexm_Nx, index/m_Nxm_Ny, index/(m_Nx*m_Ny)) wher / denotes an integer division and % a modulo operation. More...
 

Detailed Description

Definition at line 7 of file xy.h.

Constructor & Destructor Documentation

◆ XY()

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

Constructs a XY 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 16 of file xy.h.

Here is the call graph for this function:

Member Function Documentation

◆ cold_start()

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

◆ compute_energy()

double XY::compute_energy ( )
final

◆ delta_energy()

double XY::delta_energy ( unsigned int  )
finalprotected

◆ flip()

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

◆ hot_start()

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

Member Data Documentation

◆ mgrid

vector<double> XY::mgrid
private

A vector containing double values. They represent the polar angulars between 0 and 2*pi of spins of unit length. The position in the grid (x,y,z) is (indexm_Nx, index/m_Nxm_Ny, index/(m_Nx*m_Ny)) wher / denotes an integer division and % a modulo operation.

Definition at line 34 of file xy.h.


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