9 #define _PI 3.141592653589793 20 virtual double dE(
field_type* lattice, std::vector<int>& position) {
return 0;}
23 virtual double get_J()
const {
return 0;}
24 virtual double get_H()
const {
return 0;}
25 virtual std::vector<double>
get_Js()
const {}
26 virtual std::vector<double>
get_Hs()
const {}
27 virtual double get_K()
const {
return 0;}
28 virtual void get_test(
double &x,
double &y,
double &z){}
30 virtual void set_H(
double Hin) {}
52 ham_ising(
double Hin,
double Jin){H = Hin; J = Jin;}
58 double dE(
field_type* lattice, std::vector<int>& position);
59 double get_J()
const {
return J;}
60 double get_H()
const {
return H;}
63 void set_H(
double Hin) {H = Hin;}
69 std::vector<double> H,
J;
71 std::vector<double>
vsum, curr, H_sum, J_sum, test;
72 std::vector<double>
tchar, s2, s3, sbuff;
84 virtual double dE(
field_type* lattice, std::vector<int>& position);
85 std::vector<double>
get_Js()
const {
return J;}
86 std::vector<double>
get_Hs()
const {
return H;}
90 {x = test[0]; y = test[1]; z = test[2];}
91 void set_H(
double Hin) {H[2] = Hin;}
98 std::vector<int> pos2, dxs, dys, dzs;
99 std::vector<double> Js, adj_curr, d_ijs;
107 double dE(
field_type* lattice, std::vector<int>& position);
119 std::vector<double> cmp;
120 std::vector<double> J2_sum;
123 ham_skyrm(
double Hin,
double Jin,
double Kin);
127 virtual double dE(
field_type* lattice, std::vector<int>& position);
virtual std::vector< double > get_Js() const
Definition: hamiltonian.hpp:25
void get_test(double &x, double &y, double &z)
Definition: hamiltonian.hpp:89
bool is3d
Definition: hamiltonian.hpp:74
std::vector< int > pos
Definition: hamiltonian.hpp:73
virtual std::vector< double > calc_M(field_type *lattice)
Definition: hamiltonian.hpp:21
Definition: hamiltonian.hpp:95
Definition: hamiltonian.hpp:66
virtual double get_J() const
Definition: hamiltonian.hpp:23
ham_ising(double Hin, double Jin)
Definition: hamiltonian.hpp:52
~ham_skyrm()
Definition: hamiltonian.hpp:125
virtual void set_H(double Hin)
Definition: hamiltonian.hpp:30
~ham_heis()
Definition: hamiltonian.hpp:80
double get_J() const
Definition: hamiltonian.hpp:59
std::vector< double > J
Definition: hamiltonian.hpp:69
ham_skyrm()
Definition: hamiltonian.hpp:122
virtual double dE(field_type *lattice, std::vector< int > &position)
Definition: hamiltonian.hpp:20
virtual std::vector< double > calc_top_charge(field_type *lattice)
Definition: hamiltonian.hpp:31
std::vector< double > tchar
Definition: hamiltonian.hpp:72
void set_H(double Hin)
Definition: hamiltonian.hpp:63
Definition: hamiltonian.hpp:45
virtual double get_K() const
Definition: hamiltonian.hpp:27
~ham_ising()
Definition: hamiltonian.hpp:54
virtual double get_H() const
Definition: hamiltonian.hpp:24
double ** adj
Definition: hamiltonian.hpp:70
~ham_FePt()
Definition: hamiltonian.hpp:105
virtual void get_test(double &x, double &y, double &z)
Definition: hamiltonian.hpp:28
Definition: hamiltonian.hpp:14
std::vector< double > get_Hs() const
Definition: hamiltonian.hpp:86
int dim
Definition: hamiltonian.hpp:17
ham_heis()
Definition: hamiltonian.hpp:77
Definition: hamiltonian.hpp:113
std::vector< double > get_Js() const
Definition: hamiltonian.hpp:85
Definition: field_type.hpp:13
double get_K() const
Definition: hamiltonian.hpp:129
virtual void init_dim(field_type *field)
Definition: hamiltonian.hpp:29
virtual std::vector< double > get_Hs() const
Definition: hamiltonian.hpp:26
std::vector< double > vsum
Definition: hamiltonian.hpp:71
ham_ising()
Definition: hamiltonian.hpp:51
void set_H(double Hin)
Definition: hamiltonian.hpp:91
int tchar_size
Definition: hamiltonian.hpp:75
virtual double calc_E(field_type *lattice)
Definition: hamiltonian.hpp:19
double get_H() const
Definition: hamiltonian.hpp:60
virtual std::vector< double > calc_subM(field_type *lattice, int subnumber)
Definition: hamiltonian.hpp:22