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