summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJaron Kent-Dobias <jaron@kent-dobias.com>2018-10-10 22:19:57 -0400
committerJaron Kent-Dobias <jaron@kent-dobias.com>2018-10-10 22:19:57 -0400
commit4b8f4005c30f5ad66408216f4ef78f75ad08741f (patch)
treec79617dcb6958b6301d7aca10ebd3b49bd3fbb74
parenta43ff1f98e9b9814f858bccb11c174b418458491 (diff)
downloadc++-4b8f4005c30f5ad66408216f4ef78f75ad08741f.tar.gz
c++-4b8f4005c30f5ad66408216f4ef78f75ad08741f.tar.bz2
c++-4b8f4005c30f5ad66408216f4ef78f75ad08741f.zip
added INSTALL and README files
-rw-r--r--INSTALL12
-rw-r--r--README19
-rw-r--r--examples/src/models/On/CMakeLists.txt2
-rw-r--r--examples/src/models/ising/CMakeLists.txt2
-rw-r--r--examples/src/models/potts/CMakeLists.txt2
-rw-r--r--examples/src/models/roughening/CMakeLists.txt2
-rw-r--r--examples/src/tools/CMakeLists.txt2
7 files changed, 37 insertions, 4 deletions
diff --git a/INSTALL b/INSTALL
new file mode 100644
index 0000000..ff00242
--- /dev/null
+++ b/INSTALL
@@ -0,0 +1,12 @@
+
+To install, initialize cmake in a build directory, e.g.,
+
+# mkdir build
+# cd build
+# cmake ..
+# make
+
+The core library requires only the standard C++ libraries and a modern
+compiler. Most of the example code also has no dependencies. Compilation of
+examples/tools/analyze_correlations.cpp requires the FFTW3 library.
+
diff --git a/README b/README
new file mode 100644
index 0000000..2321cc7
--- /dev/null
+++ b/README
@@ -0,0 +1,19 @@
+
+A library for running the Wolff algorithm on arbitrary systems in arbitrary
+fields. A "spin state" and "spin symmetry transformation" type must be
+supplied to defined a system, along with a spin-spin coupling, a spin-field
+coupling, and a generator of transformations of rank two. The library then
+supplies the tools to run Wolff cluster-flip steps on the resulting (for now)
+hypercubic lattice system, with arbitrary measurements taken along the way.
+
+The core code resides in lib. lib/include/wolff.hpp is the principle
+interface, but lib/include/wolff/cluster.hpp does the heavy lifting, with
+essential data structures defined by lib/include/wolff/graph.h and
+lib/include/wolff/state.h. Skimming these files, or reviewing how they are
+used in the included examples, should help with their use. The simplest
+example is contained in examples/src/models/ising.
+
+lib/include/wolff/finite_states.h can be invoked when special objects have
+been defined to significantly speed computation for systems whose spins have
+finitely many states.
+
diff --git a/examples/src/models/On/CMakeLists.txt b/examples/src/models/On/CMakeLists.txt
index 26985b9..1b2e058 100644
--- a/examples/src/models/On/CMakeLists.txt
+++ b/examples/src/models/On/CMakeLists.txt
@@ -25,5 +25,5 @@ else()
target_link_libraries(wolff_heisenberg wolff wolff_examples glut GL GLU)
endif()
-install(TARGETS wolff_planar wolff_planar_2d_no-field wolff_heisenberg DESTINATION ${CMAKE_INSTALL_BINDIR})
+install(TARGETS wolff_planar wolff_planar_2d_no-field wolff_heisenberg DESTINATION ${CMAKE_INSTALL_BINDIR} OPTIONAL)
diff --git a/examples/src/models/ising/CMakeLists.txt b/examples/src/models/ising/CMakeLists.txt
index e8fbc9a..495c7e5 100644
--- a/examples/src/models/ising/CMakeLists.txt
+++ b/examples/src/models/ising/CMakeLists.txt
@@ -24,5 +24,5 @@ else()
target_link_libraries(wolff_ising_2d_no-field wolff wolff_examples glut GL GLU)
endif()
-install(TARGETS wolff_ising wolff_ising_2d wolff_ising_2d_no-field DESTINATION ${CMAKE_INSTALL_BINDIR})
+install(TARGETS wolff_ising wolff_ising_2d wolff_ising_2d_no-field DESTINATION ${CMAKE_INSTALL_BINDIR} OPTIONAL)
diff --git a/examples/src/models/potts/CMakeLists.txt b/examples/src/models/potts/CMakeLists.txt
index 53133b9..e78aa6b 100644
--- a/examples/src/models/potts/CMakeLists.txt
+++ b/examples/src/models/potts/CMakeLists.txt
@@ -35,5 +35,5 @@ else()
target_link_libraries(wolff_5clock wolff wolff_examples glut GL GLU)
endif()
-install(TARGETS wolff_3potts wolff_4potts wolff_7potts wolff_3clock wolff_5clock DESTINATION ${CMAKE_INSTALL_BINDIR})
+install(TARGETS wolff_3potts wolff_4potts wolff_7potts wolff_3clock wolff_5clock DESTINATION ${CMAKE_INSTALL_BINDIR} OPTIONAL)
diff --git a/examples/src/models/roughening/CMakeLists.txt b/examples/src/models/roughening/CMakeLists.txt
index 51a8644..163a0b9 100644
--- a/examples/src/models/roughening/CMakeLists.txt
+++ b/examples/src/models/roughening/CMakeLists.txt
@@ -17,5 +17,5 @@ else()
target_link_libraries(wolff_cgm wolff wolff_examples glut GL GLU)
endif()
-install(TARGETS wolff_dgm wolff_cgm DESTINATION ${CMAKE_INSTALL_BINDIR})
+install(TARGETS wolff_dgm wolff_cgm DESTINATION ${CMAKE_INSTALL_BINDIR} OPTIONAL)
diff --git a/examples/src/tools/CMakeLists.txt b/examples/src/tools/CMakeLists.txt
index 1c73c2d..4a6c1a0 100644
--- a/examples/src/tools/CMakeLists.txt
+++ b/examples/src/tools/CMakeLists.txt
@@ -5,3 +5,5 @@ add_executable(analyze_correlations analyze_correlations.cpp)
target_link_libraries(analyze_correlations fftw3 wolff)
+install(TARGETS analyze_correlations DESTINATION ${CMAKE_INSTALL_BINDIR} OPTIONAL)
+