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
Candidate_v1.7.0
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 43dad6 was 43dad6, checked in by Frederik Heber <heber@…>, 15 years ago |
|
Introducing (but not yet incorporated) FormatParser specializations for MPQC and PCP config files.
- new modules MpqcParser.[ch]pp and PcpParser.[ch]pp.
- class MpqcParser:
- class PcpParser:
- load and save basically adapted from config::Load and config::Save.
- new functions OutputAtoms() and OutputElements() from molecule::Output() and molecule::CheckOut().
- ne function ParseThermostats() - as the parsing is specific to the format it should be handled by the FormatParser, not bz ThermoStatContainer.
- most of the variables from config placed into struct to put them into groups (for later splitting up load&save into subfunctions).
- new overload ConfigFileBuffer::InitFileBuffer() accepting streams (FormatParser works on streams, config still with filenames).
- World: new member Thermostats which contains all thermostat parameters with getter function.
- ThermoStatContainer::ParseThermostats() moved over to PcpParser and re-introduced in config.
- atom::OutputArrayIndexed() now works on ostream, not ofstream.
- molecule::Output() adapted to ostream change.
|
-
Property mode
set to
100644
|
|
File size:
2.5 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 <iostream>
|
|---|
| 12 | #include "FormatParser.hpp"
|
|---|
| 13 |
|
|---|
| 14 | /**
|
|---|
| 15 | * Parser for PCP config files.
|
|---|
| 16 | */
|
|---|
| 17 | class PcpParser : public FormatParser {
|
|---|
| 18 | public:
|
|---|
| 19 | PcpParser();
|
|---|
| 20 | ~PcpParser();
|
|---|
| 21 | void load(std::istream* file);
|
|---|
| 22 | void save(std::ostream* file);
|
|---|
| 23 |
|
|---|
| 24 | private:
|
|---|
| 25 |
|
|---|
| 26 | void ParseThermostats(class ConfigFileBuffer * const fb);
|
|---|
| 27 | void OutputAtoms(ostream *file, vector<atom *> &allatoms, map<int, int> &ZtoIndexMap);
|
|---|
| 28 | void OutputElements(ostream *file, vector<atom *> &allatoms, map<int, int> &ZtoIndexMap);
|
|---|
| 29 |
|
|---|
| 30 | struct StructParallelization {
|
|---|
| 31 | int ProcPEGamma;
|
|---|
| 32 | int ProcPEPsi;
|
|---|
| 33 | } Parallelization;
|
|---|
| 34 |
|
|---|
| 35 | /*
|
|---|
| 36 | * Contains all the paths and names
|
|---|
| 37 | */
|
|---|
| 38 | struct StructPaths {
|
|---|
| 39 | char *databasepath;
|
|---|
| 40 | char *configpath;
|
|---|
| 41 | char *configname;
|
|---|
| 42 | char *mainname;
|
|---|
| 43 | char *defaultpath;
|
|---|
| 44 | char *pseudopotpath;
|
|---|
| 45 | } Paths;
|
|---|
| 46 |
|
|---|
| 47 | /*
|
|---|
| 48 | * Contains all Do/Don't switches
|
|---|
| 49 | */
|
|---|
| 50 | struct StructSwitches {
|
|---|
| 51 | int DoConstrainedMD;
|
|---|
| 52 | int DoOutVis;
|
|---|
| 53 | int DoOutMes;
|
|---|
| 54 | int DoOutNICS;
|
|---|
| 55 | int DoOutOrbitals;
|
|---|
| 56 | int DoOutCurrent;
|
|---|
| 57 | int DoFullCurrent;
|
|---|
| 58 | int DoPerturbation;
|
|---|
| 59 | int DoWannier;
|
|---|
| 60 | } Switches;
|
|---|
| 61 |
|
|---|
| 62 | /*
|
|---|
| 63 | * Contains parameters regarding localization of orbitals or magnetic perturbation
|
|---|
| 64 | */
|
|---|
| 65 | struct StructLocalizedOrbitals {
|
|---|
| 66 | int CommonWannier;
|
|---|
| 67 | double SawtoothStart;
|
|---|
| 68 | int VectorPlane;
|
|---|
| 69 | double VectorCut;
|
|---|
| 70 | int UseAddGramSch;
|
|---|
| 71 | int Seed;
|
|---|
| 72 | double EpsWannier;
|
|---|
| 73 | } LocalizedOrbitals;
|
|---|
| 74 |
|
|---|
| 75 | /*
|
|---|
| 76 | * Contains all step count and other epsilon threshold parameters
|
|---|
| 77 | */
|
|---|
| 78 | struct StructStepCounts {
|
|---|
| 79 | int MaxMinStopStep;
|
|---|
| 80 | int InitMaxMinStopStep;
|
|---|
| 81 |
|
|---|
| 82 | int OutVisStep;
|
|---|
| 83 | int OutSrcStep;
|
|---|
| 84 | int MaxPsiStep;
|
|---|
| 85 |
|
|---|
| 86 | int MaxOuterStep;
|
|---|
| 87 |
|
|---|
| 88 | int MaxMinStep;
|
|---|
| 89 | double RelEpsTotalEnergy;
|
|---|
| 90 | double RelEpsKineticEnergy;
|
|---|
| 91 | int MaxMinGapStopStep;
|
|---|
| 92 | int MaxInitMinStep;
|
|---|
| 93 | double InitRelEpsTotalEnergy;
|
|---|
| 94 | double InitRelEpsKineticEnergy;
|
|---|
| 95 | int InitMaxMinGapStopStep;
|
|---|
| 96 | } StepCounts;
|
|---|
| 97 |
|
|---|
| 98 | /*
|
|---|
| 99 | * Contains all parameters specific to the plane wave basis set
|
|---|
| 100 | */
|
|---|
| 101 | struct StructPlaneWaveSpecifics {
|
|---|
| 102 | int PsiType;
|
|---|
| 103 | int MaxPsiDouble;
|
|---|
| 104 | int PsiMaxNoUp;
|
|---|
| 105 | int PsiMaxNoDown;
|
|---|
| 106 | double ECut;
|
|---|
| 107 | int MaxLevel;
|
|---|
| 108 | int RiemannTensor;
|
|---|
| 109 | int LevRFactor;
|
|---|
| 110 | int RiemannLevel;
|
|---|
| 111 | int Lev0Factor;
|
|---|
| 112 | int RTActualUse;
|
|---|
| 113 | int AddPsis;
|
|---|
| 114 | double RCut;
|
|---|
| 115 | } PlaneWaveSpecifics;
|
|---|
| 116 |
|
|---|
| 117 | bool FastParsing;
|
|---|
| 118 |
|
|---|
| 119 | double Deltat;
|
|---|
| 120 | int IsAngstroem;
|
|---|
| 121 | int RelativeCoord;
|
|---|
| 122 | int StructOpt;
|
|---|
| 123 | int MaxTypes;
|
|---|
| 124 | string basis;
|
|---|
| 125 | };
|
|---|
| 126 |
|
|---|
| 127 | #endif /* PCPPARSER_HPP_ */
|
|---|
Note:
See
TracBrowser
for help on using the repository browser.