Bipartite Blume-Capel Model

template<class StateVector>
class BlumeCapelBipartite_onsite

Public Functions

BlumeCapelBipartite_onsite(const double &D)
double get(const StateVector &phi)

Public Members

const double &h
template<typename SpinType = int>
class BlumeCapelBipartite

Public Types

typedef std::array<SpinType, SymD> StateVector

Public Functions

BlumeCapelBipartite(double J, double DA, double DB)
~BlumeCapelBipartite()
template<class StateSpace, class Lattice, class RNG>
void initstatespace(StateSpace &statespace, Lattice &grid, RNG &rng) const

Public Members

double J
double DA
double DB
const std::string name
std::array<Standard_Interaction<StateVector>*, 1> interactions = {new Standard_Interaction<StateVector>(J)}
std::array<BlumeCapelBipartite_onsite<StateVector>*, 2> onsite = {new BlumeCapelBipartite_onsite<StateVector>(DA), new BlumeCapelBipartite_onsite<StateVector>(DB)}
Magnetization obs_m
std::tuple<Magnetization> observables

Public Static Attributes

constexpr int SymD = 1
template<typename SpinType>
class Initializer<BlumeCapelBipartite<SpinType>> : public Spin1_Initializer<BlumeCapelBipartite<SpinType>::StateVector>