HILA
Loading...
Searching...
No Matches
gauge_field_base< sun > Class Template Reference

#include <gauge_field.h>

Inheritance diagram for gauge_field_base< sun >:
Collaboration diagram for gauge_field_base< sun >:

Public Types

using basetype = hila::arithmetic_type< sun >
 The base type of the matrix (double, int,...)
 
using gauge_type = sun
 The matrix type.
 
using gauge_type_flt = sun
 

Public Member Functions

virtual void add_momentum (Field< SquareMatrix< N, Complex< basetype > > > *force)
 Update the momentum by given force.
 
virtual void backup ()
 Make a copy of the gauge field for HMC.
 
virtual void draw_momentum ()
 Draw gaussian random momentum.
 
virtual void random ()
 Draw a random gauge field.
 
virtual void refresh ()
 Recalculate represented or smeared field.
 
virtual void restore_backup ()
 
virtual void set_unity ()
 Set the field to unity.
 
virtual void zero_momentum ()
 Set the momentum to zero.
 

Public Attributes

Field< sun > gauge [4]
 A matrix field for each Direction.
 
Field< sun > momentum [4]
 

Static Public Attributes

static constexpr int N = sun::size
 The size of the matrix.
 

Detailed Description

template<typename sun>
class gauge_field_base< sun >

Define a standard base gauge class. Gauge field types (represented, smeared, etc) inherit from this

Definition at line 11 of file gauge_field.h.

Member Typedef Documentation

◆ gauge_type_flt

template<typename sun >
using gauge_field_base< sun >::gauge_type_flt = sun

If the base type is double, this will be the corresponding floating point type.

Definition at line 47 of file gauge_field.h.

Member Function Documentation

◆ restore_backup()

template<typename sun >
virtual void gauge_field_base< sun >::restore_backup ( )
inlinevirtual

Restore the gauge field from the backup. Used when an HMC trajectory is rejected.

Reimplemented in gauge_field< matrix >, gauge_field< fund_type >, gauge_field< sun >, represented_gauge_field< repr >, and stout_smeared_field< sun >.

Definition at line 43 of file gauge_field.h.

Member Data Documentation

◆ momentum

template<typename sun >
Field<sun> gauge_field_base< sun >::momentum[4]

Also create a momentum field. This is only allocated if necessary

Definition at line 24 of file gauge_field.h.


The documentation for this class was generated from the following file: