1 | #ifndef output_h
|
---|
2 | #define output_h
|
---|
3 |
|
---|
4 | /** \file output.h
|
---|
5 | * Header file for \ref output.c.
|
---|
6 | *
|
---|
7 | * Contains declarations of the functions implemented in \ref output.c.
|
---|
8 | *
|
---|
9 | Project: ParallelCarParrinello
|
---|
10 | Jan Hamaekers
|
---|
11 | 2000
|
---|
12 |
|
---|
13 | File: output.h
|
---|
14 | $Id: output.h,v 1.17.2.1 2007-04-21 12:55:50 foo Exp $
|
---|
15 | */
|
---|
16 |
|
---|
17 | static const char suffixdensdat[] = ".density.data"; //!< Suffix for density data file
|
---|
18 | static const char suffixdensdx[] = ".density.dx"; //!< Suffix for density OpenDx file
|
---|
19 | static const char suffixdensdoc[] = ".density.doc"; //!< Suffix for density doc file
|
---|
20 | static const char suffixdenspos[] = ".density.pos"; //!< Suffix for density position file
|
---|
21 | #if BIGENDIAN == 1
|
---|
22 | static const char msb[] = "msb"; //!< most significant byte first
|
---|
23 | #else
|
---|
24 | static const char msb[] = "lsb"; //!< least significant byte first
|
---|
25 | #endif
|
---|
26 |
|
---|
27 |
|
---|
28 | static const char suffixsrcpsidat[] = ".srcpsi.data"; //!< Suffix for Psi state data file
|
---|
29 | static const char suffixsrcpsidowndat[] = ".srcpsi.down.data"; //!< Suffix for Psi state SpinDown data file
|
---|
30 | static const char suffixsrcpsiupdat[] = ".srcpsi.up.data"; //!< Suffix for Psi state SpinUp data file
|
---|
31 | static const char suffixsrcpsidoc[] = ".srcpsi.doc"; //!< Suffix for Psi state doc file
|
---|
32 | static const char suffixsrcpsidowndoc[] = ".srcpsi.down.doc"; //!< Suffix for Psi state SpinDown doc file
|
---|
33 | static const char suffixsrcpsiupdoc[] = ".srcpsi.up.doc"; //!< Suffix for Psi state SpinUp doc file
|
---|
34 |
|
---|
35 | static const char suffixforcesall[] = ".forces.all"; //!< Suffix for "measured" total forces file
|
---|
36 | static const char suffixenergyall[] = ".energy.all"; //!< Suffix for "measured" total energy file
|
---|
37 | static const char suffixhamiltonianall[] = ".hamiltonian.csv"; //!< Suffix for explicit hamiltonian coefficients (in Kohn-Sham-base) file
|
---|
38 | static const char suffixminall[] = ".minimisation.csv"; //!< Suffix for minimisation file
|
---|
39 | static const char suffixspreadall[] = ".spread.csv"; //!< Suffix for explicit hamiltonian coefficients (in Kohn-Sham-base) file
|
---|
40 | static const char suffixtempall[] = ".temperature.csv"; //!< Suffix for temperature file
|
---|
41 |
|
---|
42 | /* Konvention: Rueckgabe 0 einer Funktion, bedeutet keinen Fehler (entsprechend exitcode 0) */
|
---|
43 | /* Oeffnet Datei P->mainname+"..." mit what*/
|
---|
44 | int OpenFile(struct Problem *P, FILE** file, const char* suffix, const char* what, int verbose);
|
---|
45 |
|
---|
46 | /* Oeffnet Datei P->mainname+"...".Nr(2stellig) mit what*/
|
---|
47 | int OpenFileNo2(struct Problem *P, FILE** file, const char* suffix, int No, const char* what, int verbose);
|
---|
48 | /* Oeffnet Datei P->Files.mainname+"...".Nr(4stellig) mit what*/
|
---|
49 | int OpenFileNo(struct Problem *P, FILE** file, const char* suffix, int No, const char* what, int verbose);
|
---|
50 | /* Oeffnet Datei P->Files.mainname+"...".No.postfix mit what*/
|
---|
51 | int OpenFileNoPost(struct Problem *P, FILE** file, const char* suffix, int No, const char* postfix, const char* what, int verbose);
|
---|
52 | /* wie oben, nur mit zwei Nummern, %04i und %02i */
|
---|
53 | int OpenFileNoNo(struct Problem *P, FILE** file, const char* suffix, int No1, int No2, const char* what, int verbose);
|
---|
54 |
|
---|
55 | void OutputNorm (FILE *out, struct Problem *P);
|
---|
56 | void InitOutputFiles(struct Problem *P);
|
---|
57 | void InitOutVisArray(struct Problem *P);
|
---|
58 | void CloseOutputFiles(struct Problem *P);
|
---|
59 | void OutputVisAllOrbital(struct Problem *P, int offset, int increment, enum PsiTypeTag type);
|
---|
60 | void OutputCurrentDensity(struct Problem *P);
|
---|
61 | void OutputVis(struct Problem *P, fftw_real *srcdens);
|
---|
62 | void OutputVisSrcFiles(struct Problem *P, enum PsiTypeTag type);
|
---|
63 | int OutputSrcPsiDensity(struct Problem *P, enum PsiTypeTag type);
|
---|
64 | void ReadSrcFiles(struct Problem *P);
|
---|
65 | int ReadSrcIons(struct Problem *P);
|
---|
66 | int ReadSrcPsiDensity(struct Problem *P, enum PsiTypeTag type, int test, int LevSNo);
|
---|
67 | int TestReadnWriteSrcDensity(struct Problem *P, enum PsiTypeTag type);
|
---|
68 | void PlotSrcPlane(struct Problem *P, int index, double n_orth, int wavenr, fftw_real *density);
|
---|
69 | void PlotRealDensity(struct Problem *P, struct LatticeLevel *Lev, FILE *PlotFile, int index, double n_orth, fftw_real *density1, fftw_real *density2);
|
---|
70 | #endif
|
---|