Hopefully fixed the 'negative order parameter issue'... The 'negative field issue' and the fact that the results are simply wrong remain...

This commit is contained in:
Bastian M. Wojek 2009-11-14 18:00:04 +00:00
parent 723cd29dcd
commit 7ab839495a
2 changed files with 484 additions and 587 deletions

File diff suppressed because it is too large Load Diff

View File

@ -97,46 +97,49 @@ public:
~TBulkTriVortexNGLFieldCalc(); ~TBulkTriVortexNGLFieldCalc();
void CalculateGrid() const; void CalculateGrid() const;
fftw_complex* GetRealSpaceMatrix() const {return fRealSpaceMatrix;} fftw_complex* GetTempMatrix() const {return fTempMatrix;}
fftw_complex* GetAkMatrix() const {return fAkMatrix;} fftw_complex* GetAkMatrix() const {return fFFTin;}
fftw_complex* GetBkMatrix() const {return fBkMatrix;} fftw_complex* GetBkMatrix() const {return fBkMatrix;}
double* GetOmegaMatrix() const {return fOmegaMatrix;} double* GetOmegaMatrix() const {return fOmegaMatrix;}
double* GetBMatrix() const {return fFFTout;} double* GetBMatrix() const {return fFFTout;}
double* GetOmegaDiffXMatrix() const {return fOmegaDiffXMatrix;} fftw_complex* GetOmegaDiffMatrix() const {return fOmegaDiffMatrix;}
double* GetOmegaDiffYMatrix() const {return fOmegaDiffYMatrix;} // double* GetOmegaDiffYMatrix() const {return fOmegaDiffYMatrix;}
double* GetQxMatrix() const {return fQxMatrix;} fftw_complex* GetQMatrix() const {return fQMatrix;}
double* GetQyMatrix() const {return fQyMatrix;} // double* GetQyMatrix() const {return fQyMatrix;}
double* GetAbrikosovCheck() const {return fAbrikosovCheck;} // double* GetAbrikosovCheck() const {return fAbrikosovCheck;}
private: private:
void CalculateIntermediateMatrices() const; void CalculateGradient() const;
void FillAbrikosovCoefficients() const;
void ManipulateFourierCoefficients(fftw_complex*, const double&, const double&) const; void ManipulateFourierCoefficients(fftw_complex*, const double&, const double&) const;
void ManipulateFourierCoefficientsForQx(fftw_complex*) const; void ManipulateFourierCoefficientsForQx() const;
void ManipulateFourierCoefficientsForQy(fftw_complex*) const; void ManipulateFourierCoefficientsForQy() const;
fftw_complex *fAkMatrix; fftw_complex *fTempMatrix;
fftw_complex *fBkMatrix; fftw_complex *fBkMatrix;
mutable fftw_complex *fRealSpaceMatrix; // mutable fftw_complex *fRealSpaceMatrix;
mutable double *fAbrikosovCheck; // mutable double *fAbrikosovCheck;
mutable double *fOmegaMatrix; mutable double *fOmegaMatrix;
mutable double *fOmegaSqMatrix; // mutable double *fOmegaSqMatrix;
mutable double *fOmegaDiffXMatrix; mutable fftw_complex *fOmegaDiffMatrix;
mutable double *fOmegaDiffYMatrix; // mutable double *fOmegaDiffYMatrix;
mutable double *fOmegaDDiffXMatrix; // mutable double *fOmegaDDiffXMatrix;
mutable double *fOmegaDDiffYMatrix; // mutable double *fOmegaDDiffYMatrix;
mutable double *fQxMatrix; mutable fftw_complex *fQMatrix;
mutable double *fQyMatrix; // mutable double *fQyMatrix;
mutable double *fQxMatrixA; mutable fftw_complex *fQMatrixA;
mutable double *fQyMatrixA; // mutable double *fQyMatrixA;
mutable double *fGMatrix; // mutable double *fGMatrix;
mutable double *fCheckAkConvergence; mutable double *fCheckAkConvergence;
mutable double *fCheckBkConvergence; mutable double *fCheckBkConvergence;
mutable double fLatticeConstant; mutable double fLatticeConstant;
mutable double fKappa;
mutable double fSumAk; mutable double fSumAk;
mutable double fSumOmegaSq; mutable double fSumOmegaSq;
mutable double fSumSum;
fftw_plan fFFTplanAkToOmega; fftw_plan fFFTplanAkToOmega;
fftw_plan fFFTplanBkToBandQ; fftw_plan fFFTplanBkToBandQ;
fftw_plan fFFTplanOmegaToAk; fftw_plan fFFTplanOmegaToAk;