From 4b8f4005c30f5ad66408216f4ef78f75ad08741f Mon Sep 17 00:00:00 2001 From: Jaron Kent-Dobias Date: Wed, 10 Oct 2018 22:19:57 -0400 Subject: added INSTALL and README files --- INSTALL | 12 ++++++++++++ README | 19 +++++++++++++++++++ examples/src/models/On/CMakeLists.txt | 2 +- examples/src/models/ising/CMakeLists.txt | 2 +- examples/src/models/potts/CMakeLists.txt | 2 +- examples/src/models/roughening/CMakeLists.txt | 2 +- examples/src/tools/CMakeLists.txt | 2 ++ 7 files changed, 37 insertions(+), 4 deletions(-) create mode 100644 INSTALL create mode 100644 README 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) + -- cgit v1.2.3-70-g09d2