source: pcp/src/perturbed.h@ 1d77026

Last change on this file since 1d77026 was 1d77026, checked in by Frederik Heber <heber@…>, 17 years ago

MinImageConv(): now transform whole vector and does not return single axis value

Due to the switch from hoping for a rectangular simulation box to using Matrix trafo with Real- and ReciBasis, MinImageConv may use these trafos as well and hence may act on the whole vector at once, yielding the minimum image convention in all three directions.
This has impact on numerous functions inside perturbed.c

  • Property mode set to 100644
File size: 3.3 KB
RevLine 
[a0bcf1]1#ifndef PERTURBED_H_
2#define PERTURBED_H_
3
4/** \file perturbed.h
5 * Header file for \ref perturbed.c
6 *
7 * Contains declarations of the functions implemented in \ref perturbed.c
8 *
9 Project: ParallelCarParrinello
10 \author Frederik Heber
11 \date 2006
12
13*/
14
15
16void MinimisePerturbed (struct Problem *P, int *Stop, int *SuperStop);
17void InitPerturbedEnergyCalculation(struct Problem *P, const int first);
18void UpdatePerturbedEnergyCalculation(struct Problem *P);
19void CalculatePerturbedEnergy(struct Problem *P, const int l, const int DoGradient, const int first);
20void CalculatePerturbationOperator_PxR(struct Problem *P, const fftw_complex *source, fftw_complex *dest, const int l, const int index_pxr);
21void CalculatePerturbationOperator_RxP(struct Problem *P, const fftw_complex *source, fftw_complex *dest, const int l, const int index_rxp);
22void CalculatePerturbationOperator_R(struct Problem *P, const fftw_complex *source, fftw_complex *dest, const fftw_complex *source2, const int index_r, const int wavenr);
23void CalculatePerturbationOperator_P(struct Problem *P, const fftw_complex *source, fftw_complex *dest, const int index_g);
24void FillCurrentDensity(struct Problem *P);
25void FillDeltaCurrentDensity(struct Problem *P);
26double Calculate1stPerturbedDerivative(struct Problem *P, const fftw_complex *source0, const fftw_complex *source, const fftw_complex *ConDir, const fftw_complex *Hc_grad, const fftw_complex *H1c_grad);
27double Calculate2ndPerturbedDerivative(struct Problem *P, const fftw_complex *source0, const fftw_complex *source, const fftw_complex *ConDir, const double sourceHsource, const double ConDirHConDir, const double ConDirConDir);
28void FindPerturbedMinimum(struct Problem *P);
29void CalculateOverlap(struct Problem *P, const int l, const enum PsiTypeTag state);
30int CheckOrbitalOverlap(struct Problem *P);
31void ApplyTotalHamiltonian(struct Problem *P, const fftw_complex *source, fftw_complex *dest, fftw_complex ***fnl, const double PsiFactor, const int first);
32void CalculateMagneticSusceptibility (struct Problem *P);
33void CalculateChemicalShielding(struct Problem *P);
34void CalculateChemicalShieldingByReciprocalCurrentDensity(struct Problem *P);
35void CalculateChemicalShieldingbyDESolver(struct Problem *P);
36void OutputOrbitalPositions(struct Problem *P, const enum PsiTypeTag type);
37void fft_Psi(struct Problem *P, const fftw_complex *Psi, fftw_real *PsiR, const int index, const int symmetry);
38inline int cross(const int i, const int j);
39inline int crossed(int i, int j);
40void AllocCurrentDensity(struct Density *Dens0);
41void DisAllocCurrentDensity(struct Density *Dens0);
42void PlotVectorPlane(struct Problem *P, int B_Index, int n_orth);
43void ReadSrcPerturbedPsis(struct Problem *P, enum PsiTypeTag type);
44inline double ShiftGaugeOrigin(struct Problem *P, double r, const int index);
45inline double sawtooth(struct Lattice *Lat, const double L, const int index);
[1d77026]46inline void MinImageConv(struct Lattice *Lat, const double R[NDIM], const double r[NDIM], double *result);
[a0bcf1]47void test_fft_symmetry(struct Problem *P, const int l);
48void test_rxp(struct Problem *P);
49void TestSawtooth(struct Problem *P, const int index);
50void TestCurrent(struct Problem *P, const int index);
[8786c3]51void TestReciprocalCurrent(struct Problem *P, const fftw_complex *currentC, struct OneGData *GArray, int in);
[a0bcf1]52
53#endif /*PERTURBED_H_*/
Note: See TracBrowser for help on using the repository browser.