source: pcp/src/perturbed.h@ cc9c36

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

CalculateChemicalShielding() renamed to CalculateMagneticMoment() and (small) changes to code.

The routine does already almost all that's wanted for moments, only prefactors needed change. The rest was just renaming [sS]igma to [mM]oment.

  • Property mode set to 100644
File size: 3.3 KB
Line 
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 CalculateMagneticMoment(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[NDIM], const int index);
45inline double sawtooth(struct Lattice *Lat, const double L, const int index);
46inline void MinImageConv(struct Lattice *Lat, const double R[NDIM], const double r[NDIM], double *result);
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);
51void TestReciprocalCurrent(struct Problem *P, const fftw_complex *currentC, struct OneGData *GArray, int in);
52
53#endif /*PERTURBED_H_*/
Note: See TracBrowser for help on using the repository browser.