#ifndef gramsch_h #define gramsch_h /** \file gramsch.h * Header file for \ref gramsch.c * * Contains declarations of the functions implemented in \ref gramsch.c * Project: ParallelCarParrinello Jan Hamaekers 2000 File: gramsch.h $Id: gramsch.h,v 1.14.2.1 2007-04-21 12:49:50 foo Exp $ */ MPI_Datatype MPI_OnePsiElement; //!< OnePsiElement defined for the MPI structure to exchange between processes void FreeMPI_OnePsiElement(); void FirstInitGramSchData(struct Problem *P, struct Psis *Psi); double GramSchGetNorm2(const struct Problem *P, struct LatticeLevel *Lev, fftw_complex *LPsiDat); void GramSch(struct Problem *P, struct LatticeLevel *Lev, struct Psis *Psi, enum PsiGramSchToDoType ToDo); void SetGramSchExtraPsi(const struct Problem *P, struct Psis *Psi, enum PsiGramSchStatusType PsiGramSchStatus); void SetGramSchActualPsi(const struct Problem *P, struct Psis *Psi, enum PsiGramSchStatusType PsiGramSchStatus); void UpdateGramSchAllPsiStatus(struct Problem *P, struct Psis *Psi); void UpdateGramSchActualPsiNo(struct Problem *P, struct Psis *Psi); void SetGramSchOldActualPsi(const struct Problem *P, struct Psis *Psi, enum PsiGramSchStatusType PsiGramSchStatus); void UpdateGramSchOldActualPsiNo(struct Problem *P, struct Psis *Psi); void ResetGramSch(const struct Problem *P, struct Psis *Psi); void ResetGramSchTagType(const struct Problem *P, struct Psis *Psi, enum PsiTypeTag type, enum PsiGramSchStatusType ToDo); void TestGramSch(struct Problem *P, struct LatticeLevel *Lev, struct Psis *Psi, int Type2test); void TestForOrth(struct Problem *P, struct LatticeLevel *Lev, fftw_complex *psi); #endif