00001 #include<config.h> 00002 CPS_START_NAMESPACE 00003 //------------------------------------------------------------------ 00004 // 00005 // alg_inst.h 00006 // 00007 // Header file for the AlgInst class. 00008 // 00009 // AlgInst is derived from Alg and is relevant to the 00010 // generation of an instanton configuration. 00011 // 00012 //----- Begin Adrian 00013 // ??? 00014 // 00015 // This operator creates a single instanton at 00016 // the center of the lattice. It is aware of the 00017 // overall size of the lattice, and uses this, to 00018 // place the instanton at the actual center of the 00019 // whole lattice, regardless of the number of processors. 00020 // The instanton requires two arguments. 00021 // 0 'Instanton Size' 00022 // 1 average value of delta-nu. If this 00023 // argument is +1 or -1 then the move 00024 // is forced, if it is 0, then the 00025 // move is in a random direction and 00026 // there is an accept reject step. 00027 // 2 For squashed instantons, this is 00028 // the value of "r_max" 00029 // The return value is the change in the action of the 00030 // configuration as a result of the operation. 00031 // 00032 // The actual 'instanton' configuration is the solution 00033 // outlined in Coleman(p297): 00034 // g1 = (1/r) * (x_4 + i x_dot_sigma ) 00035 // f(r) = r^2/(r^2/rho^2) 00036 // A_mu = f(r) g1 d_mu [g1]^-1 00037 // 00038 //----- End Adrian 00039 // 00040 //------------------------------------------------------------------ 00041 00042 #ifndef INCLUDED_INST_PBP_H 00043 #define INCLUDED_INST_PBP_H 00044 00045 CPS_END_NAMESPACE 00046 #include <util/lattice.h> 00047 #include <util/smalloc.h> 00048 #include <util/pmalloc.h> 00049 #include <alg/alg_base.h> 00050 #include <alg/common_arg.h> 00051 #include <alg/inst_arg.h> 00052 CPS_START_NAMESPACE 00053 00054 00055 class AlgInst : public Alg 00056 { 00057 private: 00058 char *cname; 00059 00060 InstArg *alg_inst_arg; 00061 // The argument structure for the inst algorithm 00062 00063 public: 00064 AlgInst(Lattice & latt, CommonArg *c_arg, InstArg *arg); 00065 00066 virtual ~AlgInst(); 00067 00068 void run(void); 00069 }; 00070 00071 #endif 00072 00073 00074 00075 00076 00077 CPS_END_NAMESPACE
1.3.9.1