Use improved gauge action in HMC (Feature #256)
For up to date simulations, one has to use an improved gauge action.
The simplest one is the tree level symanzik improved action, where one adds an object similar to the plaquette, but consisting of rectangles, to the action. Both are weighted by some factors:
S_impr = c0 * S_wilson + c1 * S_tlsym
with c0 = 1 - 8c1
For the implementation, one has to add
- a kernel "rectangles" similar to the plaquette with appropiate testing
- overwork the calculation of the hamiltonian to include the improved action
- parameters c0, c1, and switches
In the end, it is easy to add additional improved gauge actions, "iwasaki" and "dbw2". For these, one just has to add different values to c0 and c1.
What is left to do is:
- implement and test the kernels
- check if HMC implementation is right
- % Done changed from 10 to 40
With 362ab38c I have debugged the tlsym related things a lot further.
The rectangles themselves are calculated correctly (on cold and hot config) and each of the 6 parts of the force ingredients (I mean the rectangles_staples function here) are also calculated correctly. I checked this with the tmlqcd code on CPU!
However, if I put together more than 2 ingredients, the result is wrong and not constant, i.e. it seems as if the compiler cannot handle the code!!!
This is of course severe, but there are good chances to break the function into a loop, for example.After that is done, it is only left to
- check overall force calculation
- check the hamiltonian part
- perform a gauge-only HMC run
- % Done changed from 70 to 90
With ac108730 I added a working test for the rectangles functions. The problem mentioned above was solved by Matthias Bach in bad66327.
Given the same input, the rectangles and force funtions give the same output as tmlqcd (see log file).
- File optimal_test_120309_2 added
With c6c66fdf I added everything related to the improved gauge actions.
For testing purposes I also added a switch to use pure gauge theory only (this may be advanced by neglecting more memory objects and kernels, but this has not been done yet). I tested this HMC version against tmlqcd for all 4 gauge actions (see log file).
- File optimal_test_120313 added
- % Done changed from 90 to 100
- Subject changed from tlSym improved gauge action to Use improved gauge action in HMC
In optimal_test_120413 I observed that the tlsmy gauge action with fermions gives the right final config, but a different dH (see #271 for the log file). This has to be investigated. The problem will most likely also arise in PGT, but was probably not seen before because I only looked at the plaquette values, not at the acc-probabilities.
- Status changed from Done to In Progress
- % Done changed from 100 to 90