Changeset 5f612ee for src/config.cpp


Ignore:
Timestamp:
Apr 27, 2010, 2:25:42 PM (16 years ago)
Author:
Frederik Heber <heber@…>
Branches:
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
Children:
632bc3
Parents:
13d5a9 (diff), c695c9 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

Merge branch 'Analysis_PairCorrelation' into StructureRefactoring

Conflicts:

molecuilder/src/Makefile.am
molecuilder/src/World.cpp
molecuilder/src/World.hpp
molecuilder/src/boundary.cpp
molecuilder/src/builder.cpp
molecuilder/src/log.cpp
molecuilder/src/moleculelist.cpp
molecuilder/src/periodentafel.cpp
molecuilder/src/tesselation.cpp
molecuilder/src/unittests/AnalysisCorrelationToSurfaceUnitTest.cpp
molecuilder/src/unittests/Makefile.am
molecuilder/src/unittests/bondgraphunittest.cpp
molecuilder/src/unittests/gslvectorunittest.cpp
molecuilder/src/unittests/logunittest.cpp
molecuilder/src/unittests/tesselation_boundarytriangleunittest.hpp
molecuilder/src/vector.cpp
molecuilder/tests/Tesselations/defs.in

Conflicts have been many and too numerous to listen here, just the few general cases

  • new molecule() replaced by World::getInstance().createMolecule()
  • new atom() replaced by World::getInstance().createAtom() where appropriate.
  • Some DoLog()s added interfered with changes to the message produced by Log() << Verbose(.) << ...
  • DoLog() has been erroneously added to TestRunner.cpp as well, there cout is appropriate
  • ...

Additionally, there was a bug in atom::clone(), sort was set to atom::nr of the atom to clone not of the clone itself. This caused a failure of the fragmentation.

This merge has been fully checked from a clean build directory with subsequent configure,make all install and make check.
It configures, compiles and runs all test cases and the test suite without errors.

Signed-off-by: Frederik Heber <heber@…>

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/config.cpp

    r13d5a9 r5f612ee  
    2020#include "molecule.hpp"
    2121#include "periodentafel.hpp"
     22#include "World.hpp"
    2223
    2324/******************************** Functions for class ConfigFileBuffer **********************/
     
    7475  file= new ifstream(filename);
    7576  if (file == NULL) {
    76     eLog() << Verbose(1) << "config file " << filename << " missing!" << endl;
     77    DoeLog(1) && (eLog()<< Verbose(1) << "config file " << filename << " missing!" << endl);
    7778    return;
    7879  }
     
    8586  file->clear();
    8687  file->seekg(file_position, ios::beg);
    87   Log() << Verbose(1) << NoLines-1 << " lines were recognized." << endl;
     88  DoLog(1) && (Log() << Verbose(1) << NoLines-1 << " lines were recognized." << endl);
    8889
    8990  // allocate buffer's 1st dimension
    9091  if (buffer != NULL) {
    91     eLog() << Verbose(1) << "FileBuffer->buffer is not NULL!" << endl;
     92    DoeLog(1) && (eLog()<< Verbose(1) << "FileBuffer->buffer is not NULL!" << endl);
    9293    return;
    9394  } else
     
    105106    lines++;
    106107  } while((!file->eof()) && (lines < NoLines));
    107   Log() << Verbose(1) << lines-1 << " lines were read into the buffer." << endl;
     108  DoLog(1) && (Log() << Verbose(1) << lines-1 << " lines were read into the buffer." << endl);
    108109
    109110  // close and exit
     
    144145  map<const char *, int, IonTypeCompare> IonTypeLineMap;
    145146  if (LineMapping == NULL) {
    146     eLog() << Verbose(0) << "map pointer is NULL: " << LineMapping << endl;
     147    DoeLog(0) && (eLog()<< Verbose(0) << "map pointer is NULL: " << LineMapping << endl);
    147148    performCriticalExit();
    148149    return;
     
    160161      LineMapping[CurrentLine+(nr++)] = runner->second;
    161162    else {
    162       eLog() << Verbose(0) << "config::MapIonTypesInBuffer - NoAtoms is wrong: We are past the end of the file!" << endl;
     163      DoeLog(0) && (eLog()<< Verbose(0) << "config::MapIonTypesInBuffer - NoAtoms is wrong: We are past the end of the file!" << endl);
    163164      performCriticalExit();
    164165    }
     
    250251        Thermostat = None;
    251252      } else {
    252         Log() << Verbose(1) << "Warning: " << ThermostatNames[0] << " thermostat not implemented, falling back to None." << endl;
     253        DoLog(1) && (Log() << Verbose(1) << "Warning: " << ThermostatNames[0] << " thermostat not implemented, falling back to None." << endl);
    253254        Thermostat = None;
    254255      }
     
    258259        ParseForParameter(verbose,fb,"Thermostat", 0, 2, 1, int_type, &ScaleTempStep, 1, critical); // read scaling frequency
    259260      } else {
    260         Log() << Verbose(1) << "Warning: " << ThermostatNames[0] << " thermostat not implemented, falling back to None." << endl;
     261        DoLog(1) && (Log() << Verbose(1) << "Warning: " << ThermostatNames[0] << " thermostat not implemented, falling back to None." << endl);
    261262        Thermostat = None;
    262263      }
     
    266267        ParseForParameter(verbose,fb,"Thermostat", 0, 2, 1, int_type, &ScaleTempStep, 1, critical); // read collision rate
    267268      } else {
    268         Log() << Verbose(1) << "Warning: " << ThermostatNames[0] << " thermostat not implemented, falling back to None." << endl;
     269        DoLog(1) && (Log() << Verbose(1) << "Warning: " << ThermostatNames[0] << " thermostat not implemented, falling back to None." << endl);
    269270        Thermostat = None;
    270271      }
     
    274275        ParseForParameter(verbose,fb,"Thermostat", 0, 2, 1, double_type, &TempFrequency, 1, critical); // read gamma
    275276        if (ParseForParameter(verbose,fb,"Thermostat", 0, 3, 1, double_type, &alpha, 1, optional)) {
    276           Log() << Verbose(2) << "Extended Stochastic Thermostat detected with interpolation coefficient " << alpha << "." << endl;
     277          DoLog(2) && (Log() << Verbose(2) << "Extended Stochastic Thermostat detected with interpolation coefficient " << alpha << "." << endl);
    277278        } else {
    278279          alpha = 1.;
    279280        }
    280281      } else {
    281         Log() << Verbose(1) << "Warning: " << ThermostatNames[0] << " thermostat not implemented, falling back to None." << endl;
     282        DoLog(1) && (Log() << Verbose(1) << "Warning: " << ThermostatNames[0] << " thermostat not implemented, falling back to None." << endl);
    282283        Thermostat = None;
    283284      }
     
    287288        ParseForParameter(verbose,fb,"Thermostat", 0, 2, 1, double_type, &TempFrequency, 1, critical); // read \tau_T
    288289      } else {
    289         Log() << Verbose(1) << "Warning: " << ThermostatNames[0] << " thermostat not implemented, falling back to None." << endl;
     290        DoLog(1) && (Log() << Verbose(1) << "Warning: " << ThermostatNames[0] << " thermostat not implemented, falling back to None." << endl);
    290291        Thermostat = None;
    291292      }
     
    296297        alpha = 0.;
    297298      } else {
    298         Log() << Verbose(1) << "Warning: " << ThermostatNames[0] << " thermostat not implemented, falling back to None." << endl;
     299        DoLog(1) && (Log() << Verbose(1) << "Warning: " << ThermostatNames[0] << " thermostat not implemented, falling back to None." << endl);
    299300        Thermostat = None;
    300301      }
    301302    } else {
    302       Log() << Verbose(1) << " Warning: thermostat name was not understood!" << endl;
     303      DoLog(1) && (Log() << Verbose(1) << " Warning: thermostat name was not understood!" << endl);
    303304      Thermostat = None;
    304305    }
    305306  } else {
    306307    if ((MaxOuterStep > 0) && (TargetTemp != 0))
    307       Log() << Verbose(2) <<  "No thermostat chosen despite finite temperature MD, falling back to None." << endl;
     308      DoLog(2) && (Log() << Verbose(2) <<  "No thermostat chosen despite finite temperature MD, falling back to None." << endl);
    308309    Thermostat = None;
    309310  }
     
    321322
    322323  do {
    323     Log() << Verbose(0) << "===========EDIT CONFIGURATION============================" << endl;
    324     Log() << Verbose(0) << " A - mainname (prefix for all runtime files)" << endl;
    325     Log() << Verbose(0) << " B - Default path (for runtime files)" << endl;
    326     Log() << Verbose(0) << " C - Path of pseudopotential files" << endl;
    327     Log() << Verbose(0) << " D - Number of coefficient sharing processes" << endl;
    328     Log() << Verbose(0) << " E - Number of wave function sharing processes" << endl;
    329     Log() << Verbose(0) << " F - 0: Don't output density for OpenDX, 1: do" << endl;
    330     Log() << Verbose(0) << " G - 0: Don't output physical data, 1: do" << endl;
    331     Log() << Verbose(0) << " H - 0: Don't output densities of each unperturbed orbital for OpenDX, 1: do" << endl;
    332     Log() << Verbose(0) << " I - 0: Don't output current density for OpenDX, 1: do" << endl;
    333     Log() << Verbose(0) << " J - 0: Don't do the full current calculation, 1: do" << endl;
    334     Log() << Verbose(0) << " K - 0: Don't do perturbation calculation to obtain susceptibility and shielding, 1: do" << endl;
    335     Log() << Verbose(0) << " L - 0: Wannier centres as calculated, 1: common centre for all, 2: unite centres according to spread, 3: cell centre, 4: shifted to nearest grid point" << endl;
    336     Log() << Verbose(0) << " M - Absolute begin of unphysical sawtooth transfer for position operator within cell" << endl;
    337     Log() << Verbose(0) << " N - (0,1,2) x,y,z-plane to do two-dimensional current vector cut" << endl;
    338     Log() << Verbose(0) << " O - Absolute position along vector cut axis for cut plane" << endl;
    339     Log() << Verbose(0) << " P - Additional Gram-Schmidt-Orthonormalization to stabilize numerics" << endl;
    340     Log() << Verbose(0) << " Q - Initial integer value of random number generator" << endl;
    341     Log() << Verbose(0) << " R - for perturbation 0, for structure optimization defines upper limit of iterations" << endl;
    342     Log() << Verbose(0) << " T - Output visual after ...th step" << endl;
    343     Log() << Verbose(0) << " U - Output source densities of wave functions after ...th step" << endl;
    344     Log() << Verbose(0) << " X - minimization iterations per wave function, if unsure leave at default value 0" << endl;
    345     Log() << Verbose(0) << " Y - tolerance value for total spread in iterative Jacobi diagonalization" << endl;
    346     Log() << Verbose(0) << " Z - Maximum number of minimization iterations" << endl;
    347     Log() << Verbose(0) << " a - Relative change in total energy to stop min. iteration" << endl;
    348     Log() << Verbose(0) << " b - Relative change in kinetic energy to stop min. iteration" << endl;
    349     Log() << Verbose(0) << " c - Check stop conditions every ..th step during min. iteration" << endl;
    350     Log() << Verbose(0) << " e - Maximum number of minimization iterations during initial level" << endl;
    351     Log() << Verbose(0) << " f - Relative change in total energy to stop min. iteration during initial level" << endl;
    352     Log() << Verbose(0) << " g - Relative change in kinetic energy to stop min. iteration during initial level" << endl;
    353     Log() << Verbose(0) << " h - Check stop conditions every ..th step during min. iteration during initial level" << endl;
     324    DoLog(0) && (Log() << Verbose(0) << "===========EDIT CONFIGURATION============================" << endl);
     325    DoLog(0) && (Log() << Verbose(0) << " A - mainname (prefix for all runtime files)" << endl);
     326    DoLog(0) && (Log() << Verbose(0) << " B - Default path (for runtime files)" << endl);
     327    DoLog(0) && (Log() << Verbose(0) << " C - Path of pseudopotential files" << endl);
     328    DoLog(0) && (Log() << Verbose(0) << " D - Number of coefficient sharing processes" << endl);
     329    DoLog(0) && (Log() << Verbose(0) << " E - Number of wave function sharing processes" << endl);
     330    DoLog(0) && (Log() << Verbose(0) << " F - 0: Don't output density for OpenDX, 1: do" << endl);
     331    DoLog(0) && (Log() << Verbose(0) << " G - 0: Don't output physical data, 1: do" << endl);
     332    DoLog(0) && (Log() << Verbose(0) << " H - 0: Don't output densities of each unperturbed orbital for OpenDX, 1: do" << endl);
     333    DoLog(0) && (Log() << Verbose(0) << " I - 0: Don't output current density for OpenDX, 1: do" << endl);
     334    DoLog(0) && (Log() << Verbose(0) << " J - 0: Don't do the full current calculation, 1: do" << endl);
     335    DoLog(0) && (Log() << Verbose(0) << " K - 0: Don't do perturbation calculation to obtain susceptibility and shielding, 1: do" << endl);
     336    DoLog(0) && (Log() << Verbose(0) << " L - 0: Wannier centres as calculated, 1: common centre for all, 2: unite centres according to spread, 3: cell centre, 4: shifted to nearest grid point" << endl);
     337    DoLog(0) && (Log() << Verbose(0) << " M - Absolute begin of unphysical sawtooth transfer for position operator within cell" << endl);
     338    DoLog(0) && (Log() << Verbose(0) << " N - (0,1,2) x,y,z-plane to do two-dimensional current vector cut" << endl);
     339    DoLog(0) && (Log() << Verbose(0) << " O - Absolute position along vector cut axis for cut plane" << endl);
     340    DoLog(0) && (Log() << Verbose(0) << " P - Additional Gram-Schmidt-Orthonormalization to stabilize numerics" << endl);
     341    DoLog(0) && (Log() << Verbose(0) << " Q - Initial integer value of random number generator" << endl);
     342    DoLog(0) && (Log() << Verbose(0) << " R - for perturbation 0, for structure optimization defines upper limit of iterations" << endl);
     343    DoLog(0) && (Log() << Verbose(0) << " T - Output visual after ...th step" << endl);
     344    DoLog(0) && (Log() << Verbose(0) << " U - Output source densities of wave functions after ...th step" << endl);
     345    DoLog(0) && (Log() << Verbose(0) << " X - minimization iterations per wave function, if unsure leave at default value 0" << endl);
     346    DoLog(0) && (Log() << Verbose(0) << " Y - tolerance value for total spread in iterative Jacobi diagonalization" << endl);
     347    DoLog(0) && (Log() << Verbose(0) << " Z - Maximum number of minimization iterations" << endl);
     348    DoLog(0) && (Log() << Verbose(0) << " a - Relative change in total energy to stop min. iteration" << endl);
     349    DoLog(0) && (Log() << Verbose(0) << " b - Relative change in kinetic energy to stop min. iteration" << endl);
     350    DoLog(0) && (Log() << Verbose(0) << " c - Check stop conditions every ..th step during min. iteration" << endl);
     351    DoLog(0) && (Log() << Verbose(0) << " e - Maximum number of minimization iterations during initial level" << endl);
     352    DoLog(0) && (Log() << Verbose(0) << " f - Relative change in total energy to stop min. iteration during initial level" << endl);
     353    DoLog(0) && (Log() << Verbose(0) << " g - Relative change in kinetic energy to stop min. iteration during initial level" << endl);
     354    DoLog(0) && (Log() << Verbose(0) << " h - Check stop conditions every ..th step during min. iteration during initial level" << endl);
    354355//    Log() << Verbose(0) << " j - six lower diagonal entries of matrix, defining the unit cell" << endl;
    355     Log() << Verbose(0) << " k - Energy cutoff of plane wave basis in Hartree" << endl;
    356     Log() << Verbose(0) << " l - Maximum number of levels in multi-level-ansatz" << endl;
    357     Log() << Verbose(0) << " m - Factor by which grid nodes increase between standard and upper level" << endl;
    358     Log() << Verbose(0) << " n - 0: Don't use RiemannTensor, 1: Do" << endl;
    359     Log() << Verbose(0) << " o - Factor by which grid nodes increase between Riemann and standard(?) level" << endl;
    360     Log() << Verbose(0) << " p - Number of Riemann levels" << endl;
    361     Log() << Verbose(0) << " r - 0: Don't Use RiemannTensor, 1: Do" << endl;
    362     Log() << Verbose(0) << " s - 0: Doubly occupied orbitals, 1: Up-/Down-Orbitals" << endl;
    363     Log() << Verbose(0) << " t - Number of orbitals (depends pn SpinType)" << endl;
    364     Log() << Verbose(0) << " u - Number of SpinUp orbitals (depends on SpinType)" << endl;
    365     Log() << Verbose(0) << " v - Number of SpinDown orbitals (depends on SpinType)" << endl;
    366     Log() << Verbose(0) << " w - Number of additional, unoccupied orbitals" << endl;
    367     Log() << Verbose(0) << " x - radial cutoff for ewald summation in Bohrradii" << endl;
    368     Log() << Verbose(0) << " y - 0: Don't do structure optimization beforehand, 1: Do" << endl;
    369     Log() << Verbose(0) << " z - 0: Units are in Bohr radii, 1: units are in Aengstrom" << endl;
    370     Log() << Verbose(0) << " i - 0: Coordinates given in file are absolute, 1: ... are relative to unit cell" << endl;
    371     Log() << Verbose(0) << "=========================================================" << endl;
    372     Log() << Verbose(0) << "INPUT: ";
     356    DoLog(0) && (Log() << Verbose(0) << " k - Energy cutoff of plane wave basis in Hartree" << endl);
     357    DoLog(0) && (Log() << Verbose(0) << " l - Maximum number of levels in multi-level-ansatz" << endl);
     358    DoLog(0) && (Log() << Verbose(0) << " m - Factor by which grid nodes increase between standard and upper level" << endl);
     359    DoLog(0) && (Log() << Verbose(0) << " n - 0: Don't use RiemannTensor, 1: Do" << endl);
     360    DoLog(0) && (Log() << Verbose(0) << " o - Factor by which grid nodes increase between Riemann and standard(?) level" << endl);
     361    DoLog(0) && (Log() << Verbose(0) << " p - Number of Riemann levels" << endl);
     362    DoLog(0) && (Log() << Verbose(0) << " r - 0: Don't Use RiemannTensor, 1: Do" << endl);
     363    DoLog(0) && (Log() << Verbose(0) << " s - 0: Doubly occupied orbitals, 1: Up-/Down-Orbitals" << endl);
     364    DoLog(0) && (Log() << Verbose(0) << " t - Number of orbitals (depends pn SpinType)" << endl);
     365    DoLog(0) && (Log() << Verbose(0) << " u - Number of SpinUp orbitals (depends on SpinType)" << endl);
     366    DoLog(0) && (Log() << Verbose(0) << " v - Number of SpinDown orbitals (depends on SpinType)" << endl);
     367    DoLog(0) && (Log() << Verbose(0) << " w - Number of additional, unoccupied orbitals" << endl);
     368    DoLog(0) && (Log() << Verbose(0) << " x - radial cutoff for ewald summation in Bohrradii" << endl);
     369    DoLog(0) && (Log() << Verbose(0) << " y - 0: Don't do structure optimization beforehand, 1: Do" << endl);
     370    DoLog(0) && (Log() << Verbose(0) << " z - 0: Units are in Bohr radii, 1: units are in Aengstrom" << endl);
     371    DoLog(0) && (Log() << Verbose(0) << " i - 0: Coordinates given in file are absolute, 1: ... are relative to unit cell" << endl);
     372    DoLog(0) && (Log() << Verbose(0) << "=========================================================" << endl);
     373    DoLog(0) && (Log() << Verbose(0) << "INPUT: ");
    373374    cin >> choice;
    374375
    375376    switch (choice) {
    376377        case 'A': // mainname
    377           Log() << Verbose(0) << "Old: " << config::mainname << "\t new: ";
     378          DoLog(0) && (Log() << Verbose(0) << "Old: " << config::mainname << "\t new: ");
    378379          cin >> config::mainname;
    379380          break;
    380381        case 'B': // defaultpath
    381           Log() << Verbose(0) << "Old: " << config::defaultpath << "\t new: ";
     382          DoLog(0) && (Log() << Verbose(0) << "Old: " << config::defaultpath << "\t new: ");
    382383          cin >> config::defaultpath;
    383384          break;
    384385        case 'C': // pseudopotpath
    385           Log() << Verbose(0) << "Old: " << config::pseudopotpath << "\t new: ";
     386          DoLog(0) && (Log() << Verbose(0) << "Old: " << config::pseudopotpath << "\t new: ");
    386387          cin >> config::pseudopotpath;
    387388          break;
    388389
    389390        case 'D': // ProcPEGamma
    390           Log() << Verbose(0) << "Old: " << config::ProcPEGamma << "\t new: ";
     391          DoLog(0) && (Log() << Verbose(0) << "Old: " << config::ProcPEGamma << "\t new: ");
    391392          cin >> config::ProcPEGamma;
    392393          break;
    393394        case 'E': // ProcPEPsi
    394           Log() << Verbose(0) << "Old: " << config::ProcPEPsi << "\t new: ";
     395          DoLog(0) && (Log() << Verbose(0) << "Old: " << config::ProcPEPsi << "\t new: ");
    395396          cin >> config::ProcPEPsi;
    396397          break;
    397398        case 'F': // DoOutVis
    398           Log() << Verbose(0) << "Old: " << config::DoOutVis << "\t new: ";
     399          DoLog(0) && (Log() << Verbose(0) << "Old: " << config::DoOutVis << "\t new: ");
    399400          cin >> config::DoOutVis;
    400401          break;
    401402        case 'G': // DoOutMes
    402           Log() << Verbose(0) << "Old: " << config::DoOutMes << "\t new: ";
     403          DoLog(0) && (Log() << Verbose(0) << "Old: " << config::DoOutMes << "\t new: ");
    403404          cin >> config::DoOutMes;
    404405          break;
    405406        case 'H': // DoOutOrbitals
    406           Log() << Verbose(0) << "Old: " << config::DoOutOrbitals << "\t new: ";
     407          DoLog(0) && (Log() << Verbose(0) << "Old: " << config::DoOutOrbitals << "\t new: ");
    407408          cin >> config::DoOutOrbitals;
    408409          break;
    409410        case 'I': // DoOutCurrent
    410           Log() << Verbose(0) << "Old: " << config::DoOutCurrent << "\t new: ";
     411          DoLog(0) && (Log() << Verbose(0) << "Old: " << config::DoOutCurrent << "\t new: ");
    411412          cin >> config::DoOutCurrent;
    412413          break;
    413414        case 'J': // DoFullCurrent
    414           Log() << Verbose(0) << "Old: " << config::DoFullCurrent << "\t new: ";
     415          DoLog(0) && (Log() << Verbose(0) << "Old: " << config::DoFullCurrent << "\t new: ");
    415416          cin >> config::DoFullCurrent;
    416417          break;
    417418        case 'K': // DoPerturbation
    418           Log() << Verbose(0) << "Old: " << config::DoPerturbation << "\t new: ";
     419          DoLog(0) && (Log() << Verbose(0) << "Old: " << config::DoPerturbation << "\t new: ");
    419420          cin >> config::DoPerturbation;
    420421          break;
    421422        case 'L': // CommonWannier
    422           Log() << Verbose(0) << "Old: " << config::CommonWannier << "\t new: ";
     423          DoLog(0) && (Log() << Verbose(0) << "Old: " << config::CommonWannier << "\t new: ");
    423424          cin >> config::CommonWannier;
    424425          break;
    425426        case 'M': // SawtoothStart
    426           Log() << Verbose(0) << "Old: " << config::SawtoothStart << "\t new: ";
     427          DoLog(0) && (Log() << Verbose(0) << "Old: " << config::SawtoothStart << "\t new: ");
    427428          cin >> config::SawtoothStart;
    428429          break;
    429430        case 'N': // VectorPlane
    430           Log() << Verbose(0) << "Old: " << config::VectorPlane << "\t new: ";
     431          DoLog(0) && (Log() << Verbose(0) << "Old: " << config::VectorPlane << "\t new: ");
    431432          cin >> config::VectorPlane;
    432433          break;
    433434        case 'O': // VectorCut
    434           Log() << Verbose(0) << "Old: " << config::VectorCut << "\t new: ";
     435          DoLog(0) && (Log() << Verbose(0) << "Old: " << config::VectorCut << "\t new: ");
    435436          cin >> config::VectorCut;
    436437          break;
    437438        case 'P': // UseAddGramSch
    438           Log() << Verbose(0) << "Old: " << config::UseAddGramSch << "\t new: ";
     439          DoLog(0) && (Log() << Verbose(0) << "Old: " << config::UseAddGramSch << "\t new: ");
    439440          cin >> config::UseAddGramSch;
    440441          break;
    441442        case 'Q': // Seed
    442           Log() << Verbose(0) << "Old: " << config::Seed << "\t new: ";
     443          DoLog(0) && (Log() << Verbose(0) << "Old: " << config::Seed << "\t new: ");
    443444          cin >> config::Seed;
    444445          break;
    445446
    446447        case 'R': // MaxOuterStep
    447           Log() << Verbose(0) << "Old: " << config::MaxOuterStep << "\t new: ";
     448          DoLog(0) && (Log() << Verbose(0) << "Old: " << config::MaxOuterStep << "\t new: ");
    448449          cin >> config::MaxOuterStep;
    449450          break;
    450451        case 'T': // OutVisStep
    451           Log() << Verbose(0) << "Old: " << config::OutVisStep << "\t new: ";
     452          DoLog(0) && (Log() << Verbose(0) << "Old: " << config::OutVisStep << "\t new: ");
    452453          cin >> config::OutVisStep;
    453454          break;
    454455        case 'U': // OutSrcStep
    455           Log() << Verbose(0) << "Old: " << config::OutSrcStep << "\t new: ";
     456          DoLog(0) && (Log() << Verbose(0) << "Old: " << config::OutSrcStep << "\t new: ");
    456457          cin >> config::OutSrcStep;
    457458          break;
    458459        case 'X': // MaxPsiStep
    459           Log() << Verbose(0) << "Old: " << config::MaxPsiStep << "\t new: ";
     460          DoLog(0) && (Log() << Verbose(0) << "Old: " << config::MaxPsiStep << "\t new: ");
    460461          cin >> config::MaxPsiStep;
    461462          break;
    462463        case 'Y': // EpsWannier
    463           Log() << Verbose(0) << "Old: " << config::EpsWannier << "\t new: ";
     464          DoLog(0) && (Log() << Verbose(0) << "Old: " << config::EpsWannier << "\t new: ");
    464465          cin >> config::EpsWannier;
    465466          break;
    466467
    467468        case 'Z': // MaxMinStep
    468           Log() << Verbose(0) << "Old: " << config::MaxMinStep << "\t new: ";
     469          DoLog(0) && (Log() << Verbose(0) << "Old: " << config::MaxMinStep << "\t new: ");
    469470          cin >> config::MaxMinStep;
    470471          break;
    471472        case 'a': // RelEpsTotalEnergy
    472           Log() << Verbose(0) << "Old: " << config::RelEpsTotalEnergy << "\t new: ";
     473          DoLog(0) && (Log() << Verbose(0) << "Old: " << config::RelEpsTotalEnergy << "\t new: ");
    473474          cin >> config::RelEpsTotalEnergy;
    474475          break;
    475476        case 'b': // RelEpsKineticEnergy
    476           Log() << Verbose(0) << "Old: " << config::RelEpsKineticEnergy << "\t new: ";
     477          DoLog(0) && (Log() << Verbose(0) << "Old: " << config::RelEpsKineticEnergy << "\t new: ");
    477478          cin >> config::RelEpsKineticEnergy;
    478479          break;
    479480        case 'c': // MaxMinStopStep
    480           Log() << Verbose(0) << "Old: " << config::MaxMinStopStep << "\t new: ";
     481          DoLog(0) && (Log() << Verbose(0) << "Old: " << config::MaxMinStopStep << "\t new: ");
    481482          cin >> config::MaxMinStopStep;
    482483          break;
    483484        case 'e': // MaxInitMinStep
    484           Log() << Verbose(0) << "Old: " << config::MaxInitMinStep << "\t new: ";
     485          DoLog(0) && (Log() << Verbose(0) << "Old: " << config::MaxInitMinStep << "\t new: ");
    485486          cin >> config::MaxInitMinStep;
    486487          break;
    487488        case 'f': // InitRelEpsTotalEnergy
    488           Log() << Verbose(0) << "Old: " << config::InitRelEpsTotalEnergy << "\t new: ";
     489          DoLog(0) && (Log() << Verbose(0) << "Old: " << config::InitRelEpsTotalEnergy << "\t new: ");
    489490          cin >> config::InitRelEpsTotalEnergy;
    490491          break;
    491492        case 'g': // InitRelEpsKineticEnergy
    492           Log() << Verbose(0) << "Old: " << config::InitRelEpsKineticEnergy << "\t new: ";
     493          DoLog(0) && (Log() << Verbose(0) << "Old: " << config::InitRelEpsKineticEnergy << "\t new: ");
    493494          cin >> config::InitRelEpsKineticEnergy;
    494495          break;
    495496        case 'h': // InitMaxMinStopStep
    496           Log() << Verbose(0) << "Old: " << config::InitMaxMinStopStep << "\t new: ";
     497          DoLog(0) && (Log() << Verbose(0) << "Old: " << config::InitMaxMinStopStep << "\t new: ");
    497498          cin >> config::InitMaxMinStopStep;
    498499          break;
     
    500501//        case 'j': // BoxLength
    501502//          Log() << Verbose(0) << "enter lower triadiagonalo form of basis matrix" << endl << endl;
     503//          double * const cell_size = World::getInstance().getDomain();
    502504//          for (int i=0;i<6;i++) {
    503505//            Log() << Verbose(0) << "Cell size" << i << ": ";
    504 //            cin >> mol->cell_size[i];
     506//            cin >> cell_size[i];
    505507//          }
    506508//          break;
    507509
    508510        case 'k': // ECut
    509           Log() << Verbose(0) << "Old: " << config::ECut << "\t new: ";
     511          DoLog(0) && (Log() << Verbose(0) << "Old: " << config::ECut << "\t new: ");
    510512          cin >> config::ECut;
    511513          break;
    512514        case 'l': // MaxLevel
    513           Log() << Verbose(0) << "Old: " << config::MaxLevel << "\t new: ";
     515          DoLog(0) && (Log() << Verbose(0) << "Old: " << config::MaxLevel << "\t new: ");
    514516          cin >> config::MaxLevel;
    515517          break;
    516518        case 'm': // RiemannTensor
    517           Log() << Verbose(0) << "Old: " << config::RiemannTensor << "\t new: ";
     519          DoLog(0) && (Log() << Verbose(0) << "Old: " << config::RiemannTensor << "\t new: ");
    518520          cin >> config::RiemannTensor;
    519521          break;
    520522        case 'n': // LevRFactor
    521           Log() << Verbose(0) << "Old: " << config::LevRFactor << "\t new: ";
     523          DoLog(0) && (Log() << Verbose(0) << "Old: " << config::LevRFactor << "\t new: ");
    522524          cin >> config::LevRFactor;
    523525          break;
    524526        case 'o': // RiemannLevel
    525           Log() << Verbose(0) << "Old: " << config::RiemannLevel << "\t new: ";
     527          DoLog(0) && (Log() << Verbose(0) << "Old: " << config::RiemannLevel << "\t new: ");
    526528          cin >> config::RiemannLevel;
    527529          break;
    528530        case 'p': // Lev0Factor
    529           Log() << Verbose(0) << "Old: " << config::Lev0Factor << "\t new: ";
     531          DoLog(0) && (Log() << Verbose(0) << "Old: " << config::Lev0Factor << "\t new: ");
    530532          cin >> config::Lev0Factor;
    531533          break;
    532534        case 'r': // RTActualUse
    533           Log() << Verbose(0) << "Old: " << config::RTActualUse << "\t new: ";
     535          DoLog(0) && (Log() << Verbose(0) << "Old: " << config::RTActualUse << "\t new: ");
    534536          cin >> config::RTActualUse;
    535537          break;
    536538        case 's': // PsiType
    537           Log() << Verbose(0) << "Old: " << config::PsiType << "\t new: ";
     539          DoLog(0) && (Log() << Verbose(0) << "Old: " << config::PsiType << "\t new: ");
    538540          cin >> config::PsiType;
    539541          break;
    540542        case 't': // MaxPsiDouble
    541           Log() << Verbose(0) << "Old: " << config::MaxPsiDouble << "\t new: ";
     543          DoLog(0) && (Log() << Verbose(0) << "Old: " << config::MaxPsiDouble << "\t new: ");
    542544          cin >> config::MaxPsiDouble;
    543545          break;
    544546        case 'u': // PsiMaxNoUp
    545           Log() << Verbose(0) << "Old: " << config::PsiMaxNoUp << "\t new: ";
     547          DoLog(0) && (Log() << Verbose(0) << "Old: " << config::PsiMaxNoUp << "\t new: ");
    546548          cin >> config::PsiMaxNoUp;
    547549          break;
    548550        case 'v': // PsiMaxNoDown
    549           Log() << Verbose(0) << "Old: " << config::PsiMaxNoDown << "\t new: ";
     551          DoLog(0) && (Log() << Verbose(0) << "Old: " << config::PsiMaxNoDown << "\t new: ");
    550552          cin >> config::PsiMaxNoDown;
    551553          break;
    552554        case 'w': // AddPsis
    553           Log() << Verbose(0) << "Old: " << config::AddPsis << "\t new: ";
     555          DoLog(0) && (Log() << Verbose(0) << "Old: " << config::AddPsis << "\t new: ");
    554556          cin >> config::AddPsis;
    555557          break;
    556558
    557559        case 'x': // RCut
    558           Log() << Verbose(0) << "Old: " << config::RCut << "\t new: ";
     560          DoLog(0) && (Log() << Verbose(0) << "Old: " << config::RCut << "\t new: ");
    559561          cin >> config::RCut;
    560562          break;
    561563        case 'y': // StructOpt
    562           Log() << Verbose(0) << "Old: " << config::StructOpt << "\t new: ";
     564          DoLog(0) && (Log() << Verbose(0) << "Old: " << config::StructOpt << "\t new: ");
    563565          cin >> config::StructOpt;
    564566          break;
    565567        case 'z': // IsAngstroem
    566           Log() << Verbose(0) << "Old: " << config::IsAngstroem << "\t new: ";
     568          DoLog(0) && (Log() << Verbose(0) << "Old: " << config::IsAngstroem << "\t new: ");
    567569          cin >> config::IsAngstroem;
    568570          break;
    569571        case 'i': // RelativeCoord
    570           Log() << Verbose(0) << "Old: " << config::RelativeCoord << "\t new: ";
     572          DoLog(0) && (Log() << Verbose(0) << "Old: " << config::RelativeCoord << "\t new: ");
    571573          cin >> config::RelativeCoord;
    572574          break;
     
    647649  }
    648650  strcpy(configname, ptr);
    649   Log() << Verbose(0) << "Found configpath: " << configpath << ", dir slash was found at " << last << ", config name is " << configname << "." << endl;
     651  DoLog(0) && (Log() << Verbose(0) << "Found configpath: " << configpath << ", dir slash was found at " << last << ", config name is " << configname << "." << endl);
    650652  delete[](buffer);
    651653};
     
    658660{
    659661  if (FileBuffer != NULL) {
    660     eLog() << Verbose(2) << "deleting present FileBuffer in PrepareFileBuffer()." << endl;
     662    DoeLog(2) && (eLog()<< Verbose(2) << "deleting present FileBuffer in PrepareFileBuffer()." << endl);
    661663    delete(FileBuffer);
    662664  }
     
    684686
    685687  if (mol == NULL) {
    686     eLog() << Verbose(0) << "Molecule is not allocated in LoadMolecule(), exit.";
     688    DoeLog(0) && (eLog()<< Verbose(0) << "Molecule is not allocated in LoadMolecule(), exit.");
    687689    performCriticalExit();
    688690  }
     
    690692  ParseForParameter(verbose,FileBuffer,"MaxTypes", 0, 1, 1, int_type, &(MaxTypes), 1, critical);
    691693  if (MaxTypes == 0) {
    692     eLog() << Verbose(0) << "There are no atoms according to MaxTypes in this config file." << endl;
    693     performCriticalExit();
     694    DoeLog(1) && (eLog()<< Verbose(1) << "There are no atoms according to MaxTypes in this config file." << endl);
     695    //performCriticalExit();
    694696  } else {
    695697    // prescan number of ions per type
    696     Log() << Verbose(0) << "Prescanning ions per type: " << endl;
     698    DoLog(0) && (Log() << Verbose(0) << "Prescanning ions per type: " << endl);
    697699    int NoAtoms = 0;
    698700    for (int i=0; i < MaxTypes; i++) {
     
    701703      ParseForParameter(verbose,FileBuffer, name, 0, 2, 1, int_type, &Z, 1, critical);
    702704      elementhash[i] = periode->FindElement(Z);
    703       Log() << Verbose(1) << i << ". Z = " << elementhash[i]->Z << " with " << No[i] << " ions." << endl;
     705      DoLog(1) && (Log() << Verbose(1) << i << ". Z = " << elementhash[i]->Z << " with " << No[i] << " ions." << endl);
    704706      NoAtoms += No[i];
    705707    }
     
    709711    sprintf(name,"Ion_Type%i",MaxTypes);
    710712    if (!ParseForParameter(verbose,FileBuffer, (const char*)name, 1, 1, 1, int_type, &value[0], 1, critical)) {
    711       eLog() << Verbose(0) << "There are no atoms in the config file!" << endl;
     713      DoeLog(0) && (eLog()<< Verbose(0) << "There are no atoms in the config file!" << endl);
    712714      performCriticalExit();
    713715      return;
     
    727729      bool status = true;
    728730      while (status) {
    729         Log() << Verbose(0) << "Currently parsing MD step " << repetition << "." << endl;
     731        DoLog(0) && (Log() << Verbose(0) << "Currently parsing MD step " << repetition << "." << endl);
    730732        for (int i=0; i < MaxTypes; i++) {
    731733          sprintf(name,"Ion_Type%i",i+1);
     
    793795      }
    794796      repetition--;
    795       Log() << Verbose(0) << "Found " << repetition << " trajectory steps." << endl;
     797      DoLog(0) && (Log() << Verbose(0) << "Found " << repetition << " trajectory steps." << endl);
    796798      if (repetition <= 1)  // if onyl one step, desactivate use of trajectories
    797799        mol->MDSteps = 0;
     
    805807              ParseForParameter(verbose,FileBuffer, "Ion_Type1_1", 0, 3, 1, double_type, &value[2], repetition, (repetition == 0) ? critical : optional))
    806808        repetition++;
    807       Log() << Verbose(0) << "I found " << repetition << " times the keyword Ion_Type1_1." << endl;
     809      DoLog(0) && (Log() << Verbose(0) << "I found " << repetition << " times the keyword Ion_Type1_1." << endl);
    808810      // parse in molecule coordinates
    809811      for (int i=0; i < MaxTypes; i++) {
     
    854856  ifstream *file = new ifstream(filename);
    855857  if (file == NULL) {
    856     eLog() << Verbose(1) << "config file " << filename << " missing!" << endl;
     858    DoeLog(1) && (eLog()<< Verbose(1) << "config file " << filename << " missing!" << endl);
    857859    return;
    858860  }
     
    966968  // Unit cell and magnetic field
    967969  ParseForParameter(verbose,FileBuffer, "BoxLength", 0, 3, 3, lower_trigrid, BoxLength, 1, critical); /* Lattice->RealBasis */
    968   mol->cell_size[0] = BoxLength[0];
    969   mol->cell_size[1] = BoxLength[3];
    970   mol->cell_size[2] = BoxLength[4];
    971   mol->cell_size[3] = BoxLength[6];
    972   mol->cell_size[4] = BoxLength[7];
    973   mol->cell_size[5] = BoxLength[8];
     970  double * const cell_size = World::getInstance().getDomain();
     971  cell_size[0] = BoxLength[0];
     972  cell_size[1] = BoxLength[3];
     973  cell_size[2] = BoxLength[4];
     974  cell_size[3] = BoxLength[6];
     975  cell_size[4] = BoxLength[7];
     976  cell_size[5] = BoxLength[8];
    974977  //if (1) fprintf(stderr,"\n");
    975978
     
    10611064    BG = new BondGraph(IsAngstroem);
    10621065    if (BG->LoadBondLengthTable(BondGraphFileName)) {
    1063       Log() << Verbose(0) << "Bond length table loaded successfully." << endl;
     1066      DoLog(0) && (Log() << Verbose(0) << "Bond length table loaded successfully." << endl);
    10641067    } else {
    1065       eLog() << Verbose(1) << "Bond length table loading failed." << endl;
     1068      DoeLog(1) && (eLog()<< Verbose(1) << "Bond length table loading failed." << endl);
    10661069    }
    10671070  }
     
    10921095  ifstream *file = new ifstream(filename);
    10931096  if (file == NULL) {
    1094     eLog() << Verbose(1) << "config file " << filename << " missing!" << endl;
     1097    DoeLog(1) && (eLog()<< Verbose(1) << "config file " << filename << " missing!" << endl);
    10951098    return;
    10961099  }
     
    11701173
    11711174  ParseForParameter(verbose,file, "BoxLength", 0, 3, 3, lower_trigrid, BoxLength, 1, critical); /* Lattice->RealBasis */
    1172   mol->cell_size[0] = BoxLength[0];
    1173   mol->cell_size[1] = BoxLength[3];
    1174   mol->cell_size[2] = BoxLength[4];
    1175   mol->cell_size[3] = BoxLength[6];
    1176   mol->cell_size[4] = BoxLength[7];
    1177   mol->cell_size[5] = BoxLength[8];
     1175  double * const cell_size = World::getInstance().getDomain();
     1176  cell_size[0] = BoxLength[0];
     1177  cell_size[1] = BoxLength[3];
     1178  cell_size[2] = BoxLength[4];
     1179  cell_size[3] = BoxLength[6];
     1180  cell_size[4] = BoxLength[7];
     1181  cell_size[5] = BoxLength[8];
    11781182  if (1) fprintf(stderr,"\n");
    11791183  config::DoPerturbation = 0;
     
    12511255  BG = new BondGraph(IsAngstroem);
    12521256  if (BG->LoadBondLengthTable(BondGraphFileName)) {
    1253     Log() << Verbose(0) << "Bond length table loaded successfully." << endl;
     1257    DoLog(0) && (Log() << Verbose(0) << "Bond length table loaded successfully." << endl);
    12541258  } else {
    1255     Log() << Verbose(0) << "Bond length table loading failed." << endl;
     1259    DoLog(0) && (Log() << Verbose(0) << "Bond length table loading failed." << endl);
    12561260  }
    12571261
     
    12601264  for (i=MAX_ELEMENTS;i--;)
    12611265    elementhash[i] = NULL;
    1262   Log() << Verbose(0) << "Parsing Ions ..." << endl;
     1266  DoLog(0) && (Log() << Verbose(0) << "Parsing Ions ..." << endl);
    12631267  No=0;
    12641268  found = 0;
    12651269  while (getline(*file,zeile,'\n')) {
    12661270    if (zeile.find("Ions_Data") == 0) {
    1267       Log() << Verbose(1) << "found Ions_Data...begin parsing" << endl;
     1271      DoLog(1) && (Log() << Verbose(1) << "found Ions_Data...begin parsing" << endl);
    12681272      found ++;
    12691273    }
     
    12791283      input >> b;     // element mass
    12801284      elementhash[No] = periode->FindElement(Z);
    1281       Log() << Verbose(1) << "AtomNo: " << AtomNo << "\tZ: " << Z << "\ta:" << a << "\tl:"  << l << "\b:" << b << "\tElement:" << elementhash[No] << "\t:" << endl;
     1285      DoLog(1) && (Log() << Verbose(1) << "AtomNo: " << AtomNo << "\tZ: " << Z << "\ta:" << a << "\tl:"  << l << "\b:" << b << "\tElement:" << elementhash[No] << "\t:" << endl);
    12821286      for(i=0;i<AtomNo;i++) {
    12831287        if (!getline(*file,zeile,'\n')) {// parse on and on
    1284           Log() << Verbose(2) << "Error: Too few items in ionic list of element" << elementhash[No] << "." << endl << "Exiting." << endl;
     1288          DoLog(2) && (Log() << Verbose(2) << "Error: Too few items in ionic list of element" << elementhash[No] << "." << endl << "Exiting." << endl);
    12851289          // return 1;
    12861290        } else {
     
    13131317  // bring MaxTypes up to date
    13141318  mol->CountElements();
     1319  const double * const cell_size = World::getInstance().getDomain();
    13151320  ofstream * const output = new ofstream(filename, ios::out);
    13161321  if (output != NULL) {
     
    13831388    *output << endl;
    13841389    *output << "BoxLength\t\t\t# (Length of a unit cell)" << endl;
    1385     *output << mol->cell_size[0] << "\t" << endl;
    1386     *output << mol->cell_size[1] << "\t" << mol->cell_size[2] << "\t" << endl;
    1387     *output << mol->cell_size[3] << "\t" << mol->cell_size[4] << "\t" << mol->cell_size[5] << "\t" << endl;
     1390    *output << cell_size[0] << "\t" << endl;
     1391    *output << cell_size[1] << "\t" << cell_size[2] << "\t" << endl;
     1392    *output << cell_size[3] << "\t" << cell_size[4] << "\t" << cell_size[5] << "\t" << endl;
    13881393    // FIXME
    13891394    *output << endl;
     
    14291434    return result;
    14301435  } else {
    1431     eLog() << Verbose(1) << "Cannot open output file:" << filename << endl;
     1436    DoeLog(1) && (eLog()<< Verbose(1) << "Cannot open output file:" << filename << endl);
    14321437    return false;
    14331438  }
     
    14511456    output = new ofstream(fname->str().c_str(), ios::out);
    14521457    if (output == NULL) {
    1453       eLog() << Verbose(1) << "Cannot open mpqc output file:" << fname << endl;
     1458      DoeLog(1) && (eLog()<< Verbose(1) << "Cannot open mpqc output file:" << fname << endl);
    14541459      delete(fname);
    14551460      return false;
     
    14941499    output = new ofstream(fname->str().c_str(), ios::out);
    14951500    if (output == NULL) {
    1496       eLog() << Verbose(1) << "Cannot open mpqc hessian output file:" << fname << endl;
     1501      DoeLog(1) && (eLog()<< Verbose(1) << "Cannot open mpqc hessian output file:" << fname << endl);
    14971502      delete(fname);
    14981503      return false;
     
    15501555  f = fopen(name, "w" );
    15511556  if (f == NULL) {
    1552     eLog() << Verbose(1) << "Cannot open pdb output file:" << name << endl;
     1557    DoeLog(1) && (eLog()<< Verbose(1) << "Cannot open pdb output file:" << name << endl);
    15531558    return false;
    15541559  }
     
    16051610  f = fopen(name, "w" );
    16061611  if (f == NULL) {
    1607     eLog() << Verbose(1) << "Cannot open pdb output file:" << name << endl;
     1612    DoeLog(1) && (eLog()<< Verbose(1) << "Cannot open pdb output file:" << name << endl);
    16081613    Free(&elementNo);
    16091614    return false;
     
    16421647/** Stores all atoms in a TREMOLO data input file.
    16431648 * Note that this format cannot be parsed again.
     1649 * Note that TREMOLO does not like Id starting at 0, but at 1. Atoms with Id 0 are discarded!
    16441650 * \param *filename name of file (without ".in" suffix!)
    16451651 * \param *mol pointer to molecule
     
    16541660  output = new ofstream(fname->str().c_str(), ios::out);
    16551661  if (output == NULL) {
    1656     eLog() << Verbose(1) << "Cannot open tremolo output file:" << fname << endl;
     1662    DoeLog(1) && (eLog()<< Verbose(1) << "Cannot open tremolo output file:" << fname << endl);
    16571663    delete(fname);
    16581664    return false;
     
    16961702/** Stores all atoms from all molecules in a TREMOLO data input file.
    16971703 * Note that this format cannot be parsed again.
     1704 * Note that TREMOLO does not like Id starting at 0, but at 1. Atoms with Id 0 are discarded!
    16981705 * \param *filename name of file (without ".in" suffix!)
    16991706 * \param *MolList pointer to MoleculeListClass containing all atoms
     
    17081715  output = new ofstream(fname->str().c_str(), ios::out);
    17091716  if (output == NULL) {
    1710     eLog() << Verbose(1) << "Cannot open tremolo output file:" << fname << endl;
     1717    DoeLog(1) && (eLog()<< Verbose(1) << "Cannot open tremolo output file:" << fname << endl);
    17111718    delete(fname);
    17121719    return false;
     
    17481755      while (Walker->next != (*MolWalker)->end) {
    17491756        Walker = Walker->next;
    1750         *output << AtomNo << "\t";
     1757        *output << AtomNo+1 << "\t";
    17511758        *output << Walker->Name << "\t";
    17521759        *output << (*MolWalker)->name << "\t";
    1753         *output << MolCounter << "\t";
     1760        *output << MolCounter+1 << "\t";
    17541761        *output << Walker->node->x[0] << "\t" << Walker->node->x[1] << "\t" << Walker->node->x[2] << "\t";
    17551762        *output << (double)Walker->type->Valence << "\t";
    17561763        *output << Walker->type->symbol << "\t";
    17571764        for (BondList::iterator runner = Walker->ListOfBonds.begin(); runner != Walker->ListOfBonds.end(); runner++)
    1758           *output << LocalNotoGlobalNoMap[MolCounter][ (*runner)->GetOtherAtom(Walker)->nr ] << "\t";
     1765          *output << LocalNotoGlobalNoMap[MolCounter][ (*runner)->GetOtherAtom(Walker)->nr ]+1 << "\t";
    17591766        for(int i=Walker->ListOfBonds.size(); i < MaxNeighbours; i++)
    17601767          *output << "-\t";
Note: See TracChangeset for help on using the changeset viewer.