Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/RJHudspith/GLU

Gauge Link Utility (GLU) is a lattice field theory library.
https://github.com/RJHudspith/GLU

Last synced: 12 days ago
JSON representation

Gauge Link Utility (GLU) is a lattice field theory library.

Awesome Lists containing this project

README

        

Overview and dependencies
-------------------------

GLU is a thread-parallel NC and ND generic gluonic observable code
for lattice field theory calculations.

It does not generate configurations or compute Fermionic quantities.

It does do gauge fixing, smearing, gluon propagators ...

More on my --enable flags
-------------------------

./configure --help is probably your friend here

I have a handful of flags that one can enable at configure time.

1) --enable-fastsmear

This throws caution to the wind, and for STOUT and LOG dramatically speeds
up the time taken to smear gauge fields. For the STOUT case and approximate
set of Taylor expansions to the smooth functions in Morningside and Peardon's
paper are used. For the LOG a general Vandermonde solver is used to calculate
the f-constants used. Both of these work OK.

3) --enable-notcondor

This enable turns on the saving of FFTW's planned DFTs giving decent speed-up,
this can be quite useful but is heavily architecture dependent. Do not turn this
on and then try and run the binary on different machines as it is detrimental.
I think this also turns on the saving of (p,-p) doublets for the generation of
the A_{\mu}(p) (Gluonic fields in momentum space), in cuts.c.

Some little extras
------------------

The makefile compiles the shared library, and then creates the binary "GLU"
from this in the ${Path to installation}/bin/ directory.

This needs to be run with

./GLU -i input_file -c NERSC_config_file *{-o NERSC_output_file}

*is optional

The most up to date versioning of the input_file as well as a couple of test
configs are to be found in ./CONF/.

Otherwise, what this code could be considered quite useful for is its extension
to some of the library UKhadron. If you are linking this then good luck, I have
written around bits to accomadate this library but who knows what creative
ways people will find to crush my spirits.

GLU help
--------

You can access help on the iput file for the binary GLU with the command,

./GLU --help

Will bring up the possible options

./GLU --help={options}

Then provides some information on what the options in the input file do

GLU's input file
-----------------

If you run

./GLU --autoin={options}

It will print to stdout a readable version of the input file. Again,

./GLU --help

will provide a list of the available options for the code.

CONTACTS
--------

This library was written by Renwick James Hudspith (Jamie). You can contact him
at [email protected], he will probably not enjoy this experience.