Changed some things in the implementation of EHB: PRB 71 014521 (2005)
- 3D iterations now keep the hexagonal symmetry (the irritating compiler warning was right after all...) However: - Iterations do not converge at all... - The maximum of the field is slightly off the vortex core ;-( - This problem is cursed!
This commit is contained in:
parent
c663446dae
commit
2aaa56959c
File diff suppressed because it is too large
Load Diff
@ -87,7 +87,9 @@ public:
|
||||
|
||||
fftwf_complex* GetAkMatrix() const {return fFFTin;}
|
||||
fftwf_complex* GetBkMatrix() const {return fBkMatrix;}
|
||||
fftwf_complex* GetRealSpaceMatrix() const {return fRealSpaceMatrix;}
|
||||
float* GetOmegaMatrix() const {return fOmegaMatrix;}
|
||||
float* GetBkSMatrix() const {return fBkS;}
|
||||
vector<float*> GetOmegaDiffMatrix() const {return fOmegaDiffMatrix;}
|
||||
fftwf_complex* GetQMatrix() const {return fQMatrix;}
|
||||
fftwf_complex* GetPMatrix() const {return fPkMatrix;}
|
||||
@ -103,16 +105,19 @@ private:
|
||||
void ManipulateFourierCoefficientsForQy() const;
|
||||
void ManipulateFourierCoefficientsForBperpX() const;
|
||||
void ManipulateFourierCoefficientsForBperpY() const;
|
||||
void CalculateGatVortexCore() const;
|
||||
|
||||
mutable float *fOmegaMatrix;
|
||||
mutable vector<float*> fOmegaDiffMatrix;
|
||||
mutable fftwf_complex *fRealSpaceMatrix;
|
||||
mutable fftwf_complex *fBkMatrix;
|
||||
mutable fftwf_complex *fPkMatrix;
|
||||
mutable fftwf_complex *fQMatrix;
|
||||
mutable fftwf_complex *fQMatrixA;
|
||||
mutable fftwf_complex *fSumAkFFTin;
|
||||
mutable float *fSumAk;
|
||||
mutable fftwf_complex *fSumAk;
|
||||
mutable float *fBkS;
|
||||
mutable float *fGstorage;
|
||||
|
||||
mutable float *fCheckAkConvergence;
|
||||
mutable float *fCheckBkConvergence;
|
||||
|
49
src/external/TFitPofB-lib/test/Makefile.testVortexFilm
vendored
Normal file
49
src/external/TFitPofB-lib/test/Makefile.testVortexFilm
vendored
Normal file
@ -0,0 +1,49 @@
|
||||
#---------------------------------------------------
|
||||
# get compilation and library flags from root-config
|
||||
|
||||
ROOTCFLAGS = $(shell $(ROOTSYS)/bin/root-config --cflags)
|
||||
ROOTLIBS = $(shell $(ROOTSYS)/bin/root-config --libs)
|
||||
|
||||
#---------------------------------------------------
|
||||
|
||||
CXX = g++-4.4.2
|
||||
CXXFLAGS = -g -O3 -Wall
|
||||
LOCALINCLUDE = ../include
|
||||
ROOTINCLUDE = $(ROOTSYS)/include
|
||||
INCLUDES = -I$(LOCALINCLUDE) -I$(ROOTINCLUDE)
|
||||
LD = g++-4.4.2
|
||||
LDFLAGS = -g -O3 -L../classes -lTFitPofB -lfftw3_threads -lfftw3 -lfftw3f -lm -lpthread -fopenmp -lPMusr
|
||||
|
||||
# the output from the root-config script:
|
||||
CXXFLAGS += $(ROOTCFLAGS)
|
||||
LDFLAGS +=
|
||||
|
||||
# the ROOT libraries
|
||||
LIBS = $(ROOTLIBS) -lXMLParser -lMathMore
|
||||
|
||||
EXEC = testVortexFilm
|
||||
|
||||
# some definitions: headers, sources, objects,...
|
||||
OBJS =
|
||||
OBJS += $(EXEC).o
|
||||
|
||||
# make the executable:
|
||||
#
|
||||
all: $(EXEC)
|
||||
|
||||
$(EXEC): $(OBJS)
|
||||
@echo "---> Building $(EXEC) ..."
|
||||
$(LD) $(LDFLAGS) $(OBJS) -o $(EXEC) $(LIBS)
|
||||
@echo "done"
|
||||
|
||||
# clean up: remove all object file (and core files)
|
||||
# semicolon needed to tell make there is no source
|
||||
# for this target!
|
||||
#
|
||||
clean:; @rm -f $(OBJS)
|
||||
@echo "---> removing $(OBJS)"
|
||||
|
||||
#
|
||||
$(OBJS): %.o: %.cpp
|
||||
$(CXX) $(INCLUDES) $(CXXFLAGS) -c $<
|
||||
|
1005
src/external/TFitPofB-lib/test/testVortexFilm.cpp
vendored
Normal file
1005
src/external/TFitPofB-lib/test/testVortexFilm.cpp
vendored
Normal file
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user