19 namespace ExternalFieldEnv
24 if( (
i==
j)||(
j==
k)|| (
k==
i) )
37 XMLReader paramtop(xml, path);
40 read(paramtop,
"version", version);
48 QDPIO::cerr << __func__ <<
": parameter version " << version
49 <<
" unsupported." << std::endl;
56 if(paramtop.count(
"patch") !=0 )
68 write(xml,
"version", version);
82 XMLReader paramtop(xml, path);
85 read(paramtop,
"version", version);
93 QDPIO::cerr << __func__ <<
": parameter version " << version
94 <<
" unsupported." << std::endl;
101 if(paramtop.count(
"patch") !=0 )
104 param.
patch = false ;
113 write(xml,
"version", version);
133 return new ZeroExternalField();
137 ExternalField* ConstantMagneticFunc(XMLReader& xml_in,
140 ConstantMagneticParams
p ;
142 return new ConstantMagneticExternalField(
p);
147 ExternalField* LinearElectricFunc(XMLReader& xml_in,
150 LinearElectricParams
p ;
152 return new LinearElectricExternalField(
p);
162 XMLReader paramtop(xml, path);
167 read(paramtop, ext_field_path+
"/Name",
name);
168 QDPIO::cout<<
"Found external field: "<<
name<<std::endl ;
185 LatticeComplex
d = 1;
203 QDPIO::cout<<__func__<<
" A_"<<
mu<<
"="<<
A<<std::endl ;
204 LatticeReal B =
A*Layout::latticeCoordinate(
x_dir) ;
205 U = cmplx(cos(B),sin(B));
209 LatticeBoolean
XX = (Layout::latticeCoordinate(
x_dir)==
210 (Layout::lattSize()[
x_dir] - 1) ) ;
212 Layout::latticeCoordinate(
y_dir) ;
214 U = cmplx(cos(B),sin(B));
219 QDPIO::cerr<<
"OOOPS! don't know how to set up magnetic field in other than 4 dimenssions\n";
222 QDPIO::cout<<__func__<<
" A_"<<
mu<<
"= 0"<<std::endl ;
238 QDPIO::cout<<__func__<<
" A_"<<
mu<<
"="<<A0<<std::endl ;
240 LatticeReal E = A0*(Layout::latticeCoordinate(
x_dir)-
x_src)*(Layout::latticeCoordinate(
x_dir)-
x_src - 1) ;
241 U = cmplx(cos(E),sin(E));
245 LatticeBoolean
XX = (Layout::latticeCoordinate(
x_dir)==
246 (Layout::lattSize()[
x_dir] - 1) ) ;
247 LatticeReal E = -A0*
XX*(Layout::lattSize()[
x_dir]-1)*(Layout::lattSize()[
x_dir]-2)*
248 Layout::latticeCoordinate(
t_dir) ;
250 U = cmplx(cos(E),sin(E));
255 QDPIO::cout<<__func__<<
" A_"<<
mu<<
"= 0"<<std::endl ;
Primary include file for CHROMA library code.
LatticeComplex operator()(int dummy) const
Return the field.
LatticeComplex operator()(int dummy) const
Return the field.
LatticeComplex operator()(int dir) const
Return the field.
Base class for external fields.
Class for counted reference semantics.
Create a connection state.
External field functions.
void write(XMLWriter &xml, const std::string &path, const ExternalFieldEnv::ConstantMagneticParams ¶m)
Writer.
void read(XMLReader &xml, const std::string &path, ExternalFieldEnv::ConstantMagneticParams ¶m)
Reader.
const std::string name
Name to be used.
Handle< ExternalField > reader(XMLReader &xml, const std::string &path)
int epsilon(int i, int j, int k)
static bool registered
Local registration flag.
bool registerAll()
Register all the factories.
Asqtad Staggered-Dirac operator.
push(xml_out,"Condensates")
Support class for fermion actions and linear operators.
multi1d< LatticeColorMatrix > U