-
Notifications
You must be signed in to change notification settings - Fork 100
Heatbath
When compiled with QUDA_GAUGE_ALG=ON
, QUDA provides a reference implementation of a full heatbath evolution with the 1x1 plaquette (Wilson) gauge action in the test executable heatbath_test
. The reference implementation supports starting from a hot or cold start, or starting from a loaded gauge configuration. After an optional thermalization ("warmup") phase, the reference code performs a specified number of steps, each of which performs a specified number of heatbath and overrelaxation updates and then measures the mean plaquette and the topology. The code optionally saves the generated gauge configuration at the end.
As written, the code can be run in single or double precision. As a warning, the code assumes any gauge field you load is stored in the same precision as the runtime precision.
In the below table we describe each parameter and also note the matching command-line parameter that sets this parameter in heatbath_test
.
Name | Description | Comment | Command-line parameter |
---|---|---|---|
char latfile[256] |
The filename, relative to the current path, of an input gauge configuration | If empty, does a cold or hot start as noted before | --load-gauge file |
char gauge_outfile[256] |
The filename, relative to the current path, of where to save an output configuration | If empty, doesn't save the final configuration | --save-gauge file |
double heatbath_beta_value |
The bare gauge coupling in the plaquette action | --heatbath-beta <beta> |
|
int heatbath_warmup_steps |
Number of thermalization steps | Greater than or equal to zero | --heatbath-warmup-steps <n> |
int heatbath_num_steps |
Number of steps after thermalization | Greater than or equal to zero | --heatbath-num-steps <n> |
int heatbath_num_heatbath_per_step |
Number of heatbath hits per step | Greater than or equal to zero | --heatbath-num-hb-per-step <n> |
int heatbath_num_overrelax_per_step |
Number of overrelaxation hits per step | Greater than or equal to zero | --heatbath-num-or-per-step <n> |
bool heatbath_coldstart |
Whether to use a cold or hot start | Ignored if --load-gauge is specified |
--heatbath-coldstart <true/false> |