Changes to be committed:
modified: hdr/stats.hpp
new file: src/statistics/binder_cumulant.cpp
modified: src/statistics/data.cpp
modified: src/statistics/initialize.cpp
modified: src/statistics/makefile
modified: src/statistics/reset.cpp
modified: src/statistics/update.cpp
modified: src/vio/datalog.cpp
modified: src/vio/internal.hpp
modified: src/vio/match.cpp
modified: src/vio/outputfunctions.cpp
It is hard to find Tc for a material since it changes with the size of the system, but the 4th order binder cumulant can be written as a function of the ratio L/xi, where L is the size of the system and xi is the correlation length. Independent of L, this ratio is zero at Tc since the correlation length diverges. Therefore, the Tc can be found by simulating systems of different size and seeing where the binder cumulants from these different simulations intersect.
The formula is
U_L = 1 - <M^4>/(3*<M^2>^2)
and this implementation in Vampire follows that of the susceptibility very closely.
There is both system wide binder cumulant, and material specific binder cumulant, specified in the input file with:
output:binder-cumulant
output:material-binder-cumulant
The attached image shows the binder cumulant included into the Curie temperature tutorial simulation on the Vampire website. A smaller temperature step is used, and near/above Tc the number of time steps is increased and simulations are repeated for an average.
Changes to be committed: modified: hdr/stats.hpp new file: src/statistics/binder_cumulant.cpp modified: src/statistics/data.cpp modified: src/statistics/initialize.cpp modified: src/statistics/makefile modified: src/statistics/reset.cpp modified: src/statistics/update.cpp modified: src/vio/datalog.cpp modified: src/vio/internal.hpp modified: src/vio/match.cpp modified: src/vio/outputfunctions.cpp
It is hard to find Tc for a material since it changes with the size of the system, but the 4th order binder cumulant can be written as a function of the ratio L/xi, where L is the size of the system and xi is the correlation length. Independent of L, this ratio is zero at Tc since the correlation length diverges. Therefore, the Tc can be found by simulating systems of different size and seeing where the binder cumulants from these different simulations intersect.
The formula is U_L = 1 - <M^4>/(3*<M^2>^2) and this implementation in Vampire follows that of the susceptibility very closely.
There is both system wide binder cumulant, and material specific binder cumulant, specified in the input file with: output:binder-cumulant output:material-binder-cumulant
The attached image shows the binder cumulant included into the Curie temperature tutorial simulation on the Vampire website. A smaller temperature step is used, and near/above Tc the number of time steps is increased and simulations are repeated for an average.