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 bdc91e was             35b698, checked in by Frederik Heber <heber@…>, 15 years ago | 
        
          | 
BIG CHANGE: config::load and config::save in ParseCommandLineOptions() and main() replaced with FormatParser replacements.
 
Fragmentation:
 FragmentMolecule() - configuration is not needed anymore, but a path (including prefix)
class molecule:
lots of changes from char * to std:string (due to above): LinearInterpolationBetweenConfiguration(), CheckOrderAtSite(), StoreBondsToFile(), StoreAdjacencyToFile(), CheckAdjacencyFileAgainstMolecule(), CheckAdjacencyFileAgainstMolecule_Init(), ParseOrderAtSiteFromFile(), StoreOrderAtSiteFile(), StoreForcesFile(), ScanAdaptiveFileIntoMap(), StoreForcesFile(), AddHydrogenCorrection(), OutputConfigForListOfFragments()
in all above functions, also stringstreams have been replaced by simple strings and file != NULL by file.good()
no more CalculateOrbitals(), shifted to class PcpParser
FragmentationAction: argument of -f is now the prefix, molecule is obtained by molecule-by-id
no more strcpy needed in: MoleculeLinearInterpolationofTrajectoriesAction, MoleculeSaveAdjacencyAction, MoleculeSaveBondsAction
oldmenu::FragmentAtoms() - needs to ask for path with prefix now
config: RetrieveConfigPathAndName() and configpath removed (replaced by above path with prefix)
changes due to this removal: SaveConfig(), config::Load(), config::LoadOld()
 FIX: MoleculeFillWithMoleculeAction: filler atoms have to be removed before the system can be stored to file.
FIX: PcpParser::load() - has to put the molecule also into World's MoleculeListClass (otherwise the name cannot be set right after loading)
 ParseCommandLineOptions()
new parameter BondGraphFileName and creation of bond graph is done in main()
no more config::load, just parser->load(), ConfigFileName is set extra and we always set configPresent to present.
FIX: filename is only set when no molecule was allocated before
FIX: case 't' and 'f' had wrong argc checks
main()
 new Libparser.a
all sources from PARSER subdir are compiled into libparser such that only ParserUnitTest is recompiled.
 
Testfixes:
 testsuite-fragmentation - changes to due to different -f calling syntax.
most of the xyz files had to be replaced due to a single whitespace at the end of each entry: Domain/6, Simple_configuration/2, Simple_configuration/3, Simple_configuration/4, Simple_configuration/5, Simple_configuration/8
in many cases were the number orbitals (and thus MaxMinStopStep) wrong: Filling/1, Simple_configuration/4, Simple_configuration/5
 
Signed-off-by: Frederik Heber <heber@…>
 | 
        
          | 
              
Property                 mode
 set to                 100644 | 
        
          | File size:
            2.6 KB | 
      
      
| Rev | Line |  | 
|---|
| [43dad6] | 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> | 
|---|
| [650ca8c] | 12 | #include "Parser/FormatParser.hpp" | 
|---|
| [43dad6] | 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 |  | 
|---|
| [1b2d30] | 24 | bool operator==(const PcpParser& b) const; | 
|---|
|  | 25 |  | 
|---|
| [43dad6] | 26 | private: | 
|---|
|  | 27 |  | 
|---|
|  | 28 | void ParseThermostats(class ConfigFileBuffer * const fb); | 
|---|
|  | 29 | void OutputAtoms(ostream *file, vector<atom *> &allatoms, map<int, int> &ZtoIndexMap); | 
|---|
|  | 30 | void OutputElements(ostream *file, vector<atom *> &allatoms, map<int, int> &ZtoIndexMap); | 
|---|
| [650ca8c] | 31 | void CalculateOrbitals(vector<atom *> &allatoms); | 
|---|
| [43dad6] | 32 |  | 
|---|
|  | 33 | struct StructParallelization { | 
|---|
|  | 34 | int ProcPEGamma; | 
|---|
|  | 35 | int ProcPEPsi; | 
|---|
|  | 36 | } Parallelization; | 
|---|
|  | 37 |  | 
|---|
|  | 38 | /* | 
|---|
|  | 39 | * Contains all the paths and names | 
|---|
|  | 40 | */ | 
|---|
|  | 41 | struct StructPaths { | 
|---|
|  | 42 | char *databasepath; | 
|---|
|  | 43 | char *configname; | 
|---|
|  | 44 | char *mainname; | 
|---|
|  | 45 | char *defaultpath; | 
|---|
|  | 46 | char *pseudopotpath; | 
|---|
|  | 47 | } Paths; | 
|---|
|  | 48 |  | 
|---|
|  | 49 | /* | 
|---|
|  | 50 | * Contains all Do/Don't switches | 
|---|
|  | 51 | */ | 
|---|
|  | 52 | struct StructSwitches { | 
|---|
|  | 53 | int DoConstrainedMD; | 
|---|
|  | 54 | int DoOutVis; | 
|---|
|  | 55 | int DoOutMes; | 
|---|
|  | 56 | int DoOutNICS; | 
|---|
|  | 57 | int DoOutOrbitals; | 
|---|
|  | 58 | int DoOutCurrent; | 
|---|
|  | 59 | int DoFullCurrent; | 
|---|
|  | 60 | int DoPerturbation; | 
|---|
|  | 61 | int DoWannier; | 
|---|
|  | 62 | } Switches; | 
|---|
|  | 63 |  | 
|---|
|  | 64 | /* | 
|---|
|  | 65 | * Contains parameters regarding localization of orbitals or magnetic perturbation | 
|---|
|  | 66 | */ | 
|---|
|  | 67 | struct StructLocalizedOrbitals { | 
|---|
|  | 68 | int CommonWannier; | 
|---|
|  | 69 | double SawtoothStart; | 
|---|
|  | 70 | int VectorPlane; | 
|---|
|  | 71 | double VectorCut; | 
|---|
|  | 72 | int UseAddGramSch; | 
|---|
|  | 73 | int Seed; | 
|---|
|  | 74 | double EpsWannier; | 
|---|
|  | 75 | } LocalizedOrbitals; | 
|---|
|  | 76 |  | 
|---|
|  | 77 | /* | 
|---|
|  | 78 | * Contains all step count and other epsilon threshold parameters | 
|---|
|  | 79 | */ | 
|---|
|  | 80 | struct StructStepCounts { | 
|---|
|  | 81 | int MaxMinStopStep; | 
|---|
|  | 82 | int InitMaxMinStopStep; | 
|---|
|  | 83 |  | 
|---|
|  | 84 | int OutVisStep; | 
|---|
|  | 85 | int OutSrcStep; | 
|---|
|  | 86 | int MaxPsiStep; | 
|---|
|  | 87 |  | 
|---|
|  | 88 | int MaxOuterStep; | 
|---|
|  | 89 |  | 
|---|
|  | 90 | int MaxMinStep; | 
|---|
|  | 91 | double RelEpsTotalEnergy; | 
|---|
|  | 92 | double RelEpsKineticEnergy; | 
|---|
|  | 93 | int MaxMinGapStopStep; | 
|---|
|  | 94 | int MaxInitMinStep; | 
|---|
|  | 95 | double InitRelEpsTotalEnergy; | 
|---|
|  | 96 | double InitRelEpsKineticEnergy; | 
|---|
|  | 97 | int InitMaxMinGapStopStep; | 
|---|
|  | 98 | } StepCounts; | 
|---|
|  | 99 |  | 
|---|
|  | 100 | /* | 
|---|
|  | 101 | * Contains all parameters specific to the plane wave basis set | 
|---|
|  | 102 | */ | 
|---|
|  | 103 | struct StructPlaneWaveSpecifics { | 
|---|
|  | 104 | int PsiType; | 
|---|
|  | 105 | int MaxPsiDouble; | 
|---|
|  | 106 | int PsiMaxNoUp; | 
|---|
|  | 107 | int PsiMaxNoDown; | 
|---|
|  | 108 | double ECut; | 
|---|
|  | 109 | int MaxLevel; | 
|---|
|  | 110 | int RiemannTensor; | 
|---|
|  | 111 | int LevRFactor; | 
|---|
|  | 112 | int RiemannLevel; | 
|---|
|  | 113 | int Lev0Factor; | 
|---|
|  | 114 | int RTActualUse; | 
|---|
|  | 115 | int AddPsis; | 
|---|
|  | 116 | double RCut; | 
|---|
|  | 117 | } PlaneWaveSpecifics; | 
|---|
|  | 118 |  | 
|---|
|  | 119 | bool FastParsing; | 
|---|
|  | 120 |  | 
|---|
|  | 121 | double Deltat; | 
|---|
|  | 122 | int IsAngstroem; | 
|---|
|  | 123 | int RelativeCoord; | 
|---|
|  | 124 | int StructOpt; | 
|---|
|  | 125 | int MaxTypes; | 
|---|
|  | 126 | string basis; | 
|---|
|  | 127 | }; | 
|---|
|  | 128 |  | 
|---|
|  | 129 | #endif /* PCPPARSER_HPP_ */ | 
|---|
       
      
  Note:
 See   
TracBrowser
 for help on using the repository browser.