source: src/Parser/PcpParser.hpp@ a0064e

Action_Thermostats Add_AtomRandomPerturbation Add_FitFragmentPartialChargesAction Add_RotateAroundBondAction Add_SelectAtomByNameAction Added_ParseSaveFragmentResults AddingActions_SaveParseParticleParameters Adding_Graph_to_ChangeBondActions Adding_MD_integration_tests Adding_ParticleName_to_Atom Adding_StructOpt_integration_tests AtomFragments Automaking_mpqc_open AutomationFragmentation_failures Candidate_v1.5.4 Candidate_v1.6.0 Candidate_v1.6.1 ChangeBugEmailaddress ChangingTestPorts ChemicalSpaceEvaluator CombiningParticlePotentialParsing Combining_Subpackages Debian_Package_split Debian_package_split_molecuildergui_only Disabling_MemDebug Docu_Python_wait EmpiricalPotential_contain_HomologyGraph EmpiricalPotential_contain_HomologyGraph_documentation Enable_parallel_make_install Enhance_userguide Enhanced_StructuralOptimization Enhanced_StructuralOptimization_continued Example_ManyWaysToTranslateAtom Exclude_Hydrogens_annealWithBondGraph FitPartialCharges_GlobalError Fix_BoundInBox_CenterInBox_MoleculeActions Fix_ChargeSampling_PBC Fix_ChronosMutex Fix_FitPartialCharges Fix_FitPotential_needs_atomicnumbers Fix_ForceAnnealing Fix_IndependentFragmentGrids Fix_ParseParticles Fix_ParseParticles_split_forward_backward_Actions Fix_PopActions Fix_QtFragmentList_sorted_selection Fix_Restrictedkeyset_FragmentMolecule Fix_StatusMsg Fix_StepWorldTime_single_argument Fix_Verbose_Codepatterns Fix_fitting_potentials Fixes ForceAnnealing_goodresults ForceAnnealing_oldresults ForceAnnealing_tocheck ForceAnnealing_with_BondGraph ForceAnnealing_with_BondGraph_continued ForceAnnealing_with_BondGraph_continued_betteresults ForceAnnealing_with_BondGraph_contraction-expansion FragmentAction_writes_AtomFragments FragmentMolecule_checks_bonddegrees GeometryObjects Gui_Fixes Gui_displays_atomic_force_velocity ImplicitCharges IndependentFragmentGrids IndependentFragmentGrids_IndividualZeroInstances IndependentFragmentGrids_IntegrationTest IndependentFragmentGrids_Sole_NN_Calculation JobMarket_RobustOnKillsSegFaults JobMarket_StableWorkerPool JobMarket_unresolvable_hostname_fix MoreRobust_FragmentAutomation ODR_violation_mpqc_open PartialCharges_OrthogonalSummation PdbParser_setsAtomName PythonUI_with_named_parameters QtGui_reactivate_TimeChanged_changes Recreated_GuiChecks Rewrite_FitPartialCharges RotateToPrincipalAxisSystem_UndoRedo SaturateAtoms_findBestMatching SaturateAtoms_singleDegree StoppableMakroAction Subpackage_CodePatterns Subpackage_JobMarket Subpackage_LinearAlgebra Subpackage_levmar Subpackage_mpqc_open Subpackage_vmg Switchable_LogView ThirdParty_MPQC_rebuilt_buildsystem TrajectoryDependenant_MaxOrder TremoloParser_IncreasedPrecision TremoloParser_MultipleTimesteps TremoloParser_setsAtomName Ubuntu_1604_changes stable
Last change on this file since a0064e was 73916f, checked in by Frederik Heber <heber@…>, 14 years ago

Extended FormatParser::save() to use vector<atom *> to save.

  • This is needed to make the save functions also work on selected atoms or molecules only.
  • Within ParserCommonUnitTest, ParserTremoloUnitTest we create the vector by calling World's getAllAtoms() (which would have been done before in the specialized save() functions).
  • new functions in FormatParserStorage:
    • saveSelectedAtoms().
    • saveSelectedMolecules().
    • saveWorld().
  • renamed ::get() and ::put() to ::load() and ::save() to have it more consistent with underlying FormatParser functions and also to avoid misinterpretation with all ::get...() functions.
  • Property mode set to 100644
File size: 3.0 KB
Line 
1/*
2 * PcpParser.hpp
3 *
4 * Created on: 12.06.2010
5 * Author: heber
6 */
7
8#ifndef PCPPARSER_HPP_
9#define PCPPARSER_HPP_
10
11#include <iosfwd>
12#include "Parser/FormatParser.hpp"
13
14/**
15 * Parser for PCP config files.
16 */
17class PcpParser : public FormatParser {
18public:
19 PcpParser();
20 ~PcpParser();
21 void load(std::istream* file);
22 void save(std::ostream* file, const std::vector<atom *> &atoms);
23
24 bool operator==(const PcpParser& b) const;
25
26private:
27
28 void ParseThermostats(class ConfigFileBuffer * const fb);
29 void OutputAtoms(ostream *file, const std::vector<atom *> &allatoms, map<int, int> &ZtoIndexMap);
30 void OutputElements(ostream *file, const std::vector<atom *> &allatoms, map<int, int> &ZtoIndexMap);
31 void CalculateOrbitals(const std::vector<atom *> &allatoms);
32
33 class StructParallelization {
34 public:
35 StructParallelization();
36 ~StructParallelization();
37
38 int ProcPEGamma;
39 int ProcPEPsi;
40 } Parallelization;
41
42 /*
43 * Contains all the paths and names
44 */
45 class StructPaths {
46 public:
47 StructPaths();
48 ~StructPaths();
49
50 char *databasepath;
51 char *configname;
52 char *mainname;
53 char *defaultpath;
54 char *pseudopotpath;
55 } Paths;
56
57 /*
58 * Contains all Do/Don't switches
59 */
60 class StructSwitches {
61 public:
62 StructSwitches();
63 ~StructSwitches();
64
65 int DoConstrainedMD;
66 int DoOutVis;
67 int DoOutMes;
68 int DoOutNICS;
69 int DoOutOrbitals;
70 int DoOutCurrent;
71 int DoFullCurrent;
72 int DoPerturbation;
73 int DoWannier;
74 } Switches;
75
76 /*
77 * Contains parameters regarding localization of orbitals or magnetic perturbation
78 */
79 class StructLocalizedOrbitals {
80 public:
81 StructLocalizedOrbitals();
82 ~StructLocalizedOrbitals();
83
84 int CommonWannier;
85 double SawtoothStart;
86 int VectorPlane;
87 double VectorCut;
88 int UseAddGramSch;
89 int Seed;
90 double EpsWannier;
91 } LocalizedOrbitals;
92
93 /*
94 * Contains all step count and other epsilon threshold parameters
95 */
96 class StructStepCounts {
97 public:
98 StructStepCounts();
99 ~StructStepCounts();
100
101 int MaxMinStopStep;
102 int InitMaxMinStopStep;
103
104 int OutVisStep;
105 int OutSrcStep;
106 int MaxPsiStep;
107
108 int MaxOuterStep;
109
110 int MaxMinStep;
111 double RelEpsTotalEnergy;
112 double RelEpsKineticEnergy;
113 int MaxMinGapStopStep;
114 int MaxInitMinStep;
115 double InitRelEpsTotalEnergy;
116 double InitRelEpsKineticEnergy;
117 int InitMaxMinGapStopStep;
118 } StepCounts;
119
120 /*
121 * Contains all parameters specific to the plane wave basis set
122 */
123 class StructPlaneWaveSpecifics {
124 public:
125 StructPlaneWaveSpecifics();
126 ~StructPlaneWaveSpecifics();
127
128 int PsiType;
129 int MaxPsiDouble;
130 int PsiMaxNoUp;
131 int PsiMaxNoDown;
132 double ECut;
133 int MaxLevel;
134 int RiemannTensor;
135 int LevRFactor;
136 int RiemannLevel;
137 int Lev0Factor;
138 int RTActualUse;
139 int AddPsis;
140 double RCut;
141 } PlaneWaveSpecifics;
142
143 bool FastParsing;
144
145 double Deltat;
146 int IsAngstroem;
147 int RelativeCoord;
148 int StructOpt;
149 int MaxTypes;
150 string basis;
151};
152
153#endif /* PCPPARSER_HPP_ */
Note: See TracBrowser for help on using the repository browser.