summaryrefslogtreecommitdiff
path: root/dimers_torus.cpp
diff options
context:
space:
mode:
authorJaron Kent-Dobias <jaron@kent-dobias.com>2020-02-26 09:14:04 -0500
committerJaron Kent-Dobias <jaron@kent-dobias.com>2020-02-26 09:14:04 -0500
commit468c25eabd1aaac7d02988fef97b66bb378988b3 (patch)
tree9e457e7f68af65729b32354584423153c8799164 /dimers_torus.cpp
parent6461165f4daea01c5baa1d969ee5c726fb4c559e (diff)
downloadspace_wolff-468c25eabd1aaac7d02988fef97b66bb378988b3.tar.gz
space_wolff-468c25eabd1aaac7d02988fef97b66bb378988b3.tar.bz2
space_wolff-468c25eabd1aaac7d02988fef97b66bb378988b3.zip
More cleanup and temperary saving routines for presentation
Diffstat (limited to 'dimers_torus.cpp')
-rw-r--r--dimers_torus.cpp28
1 files changed, 7 insertions, 21 deletions
diff --git a/dimers_torus.cpp b/dimers_torus.cpp
index ec7c73a..4b44a83 100644
--- a/dimers_torus.cpp
+++ b/dimers_torus.cpp
@@ -58,22 +58,10 @@ int main(int argc, char* argv[]) {
}
auto zSingle = zSpheresTorus<D>(L, a, k);
+ auto Z = zDimers(zSingle);
- std::function<double(const Spin<double, D, Dimer<double, D>>&,
- const Spin<double, D, Dimer<double, D>>&)>
- Z = [L, zSingle, a, k](const Spin<double, D, Dimer<double, D>>& s1,
- const Spin<double, D, Dimer<double, D>>& s2) -> double {
- Spin<double, D, Radius> s11 = {.x = s1.x + s1.s.relativePosition, .s = s1.s.radius};
- Spin<double, D, Radius> s12 = {.x = s1.x - s1.s.relativePosition, .s = s1.s.radius};
- Spin<double, D, Radius> s21 = {.x = s2.x + s2.s.relativePosition, .s = s2.s.radius};
- Spin<double, D, Radius> s22 = {.x = s2.x - s2.s.relativePosition, .s = s2.s.radius};
-
- return zSingle(s11, s21) + zSingle(s12, s21) + zSingle(s11, s22) + zSingle(s12, s22);
- };
-
- std::function<double(Spin<double, D, Dimer<double, D>>)> B = [L, H](Spin<double, D, Dimer<double, D>> s) -> double {
- return H * s.x(1);
- };
+ std::function<double(Spin<double, D, Dimer<double, D>>)> B =
+ [L, H](Spin<double, D, Dimer<double, D>> s) -> double { return H * s.x(1); };
auto g1 = uniformGenTorus<D, Dimer<double, D>>(L);
@@ -97,18 +85,16 @@ int main(int argc, char* argv[]) {
sphere.wolff(T, {g1}, A, N);
- /*
std::ofstream snapfile;
- snapfile.open("sphere_snap.dat");
+ snapfile.open("dimers_torus_snap.dat");
- for (Spin<double, D, double>* s : sphere.s) {
- Spin<double, D, double> rs = sphere.s0.inverse().act(*s);
- snapfile << rs.s << " " << rs.x.transpose() << "\n";
+ for (Spin<double, D, Dimer<double, D>>* s : sphere.s) {
+ Spin<double, D, Dimer<double, D>> rs = sphere.s0.inverse().act(*s);
+ snapfile << rs.s.radius << " " << rs.x.transpose() << " " << rs.s.relativePosition.transpose() << "\n";
delete s;
}
snapfile.close();
- */
return 0;
}