Changeset 5f612ee for src/config.cpp
- Timestamp:
- Apr 27, 2010, 2:25:42 PM (16 years ago)
- 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. - File:
-
- 1 edited
-
src/config.cpp (modified) (43 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/config.cpp
r13d5a9 r5f612ee 20 20 #include "molecule.hpp" 21 21 #include "periodentafel.hpp" 22 #include "World.hpp" 22 23 23 24 /******************************** Functions for class ConfigFileBuffer **********************/ … … 74 75 file= new ifstream(filename); 75 76 if (file == NULL) { 76 eLog() << Verbose(1) << "config file " << filename << " missing!" << endl;77 DoeLog(1) && (eLog()<< Verbose(1) << "config file " << filename << " missing!" << endl); 77 78 return; 78 79 } … … 85 86 file->clear(); 86 87 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); 88 89 89 90 // allocate buffer's 1st dimension 90 91 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); 92 93 return; 93 94 } else … … 105 106 lines++; 106 107 } 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); 108 109 109 110 // close and exit … … 144 145 map<const char *, int, IonTypeCompare> IonTypeLineMap; 145 146 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); 147 148 performCriticalExit(); 148 149 return; … … 160 161 LineMapping[CurrentLine+(nr++)] = runner->second; 161 162 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); 163 164 performCriticalExit(); 164 165 } … … 250 251 Thermostat = None; 251 252 } 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); 253 254 Thermostat = None; 254 255 } … … 258 259 ParseForParameter(verbose,fb,"Thermostat", 0, 2, 1, int_type, &ScaleTempStep, 1, critical); // read scaling frequency 259 260 } 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); 261 262 Thermostat = None; 262 263 } … … 266 267 ParseForParameter(verbose,fb,"Thermostat", 0, 2, 1, int_type, &ScaleTempStep, 1, critical); // read collision rate 267 268 } 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); 269 270 Thermostat = None; 270 271 } … … 274 275 ParseForParameter(verbose,fb,"Thermostat", 0, 2, 1, double_type, &TempFrequency, 1, critical); // read gamma 275 276 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); 277 278 } else { 278 279 alpha = 1.; 279 280 } 280 281 } 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); 282 283 Thermostat = None; 283 284 } … … 287 288 ParseForParameter(verbose,fb,"Thermostat", 0, 2, 1, double_type, &TempFrequency, 1, critical); // read \tau_T 288 289 } 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); 290 291 Thermostat = None; 291 292 } … … 296 297 alpha = 0.; 297 298 } 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); 299 300 Thermostat = None; 300 301 } 301 302 } 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); 303 304 Thermostat = None; 304 305 } 305 306 } else { 306 307 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); 308 309 Thermostat = None; 309 310 } … … 321 322 322 323 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); 354 355 // 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: "); 373 374 cin >> choice; 374 375 375 376 switch (choice) { 376 377 case 'A': // mainname 377 Log() << Verbose(0) << "Old: " << config::mainname << "\t new: ";378 DoLog(0) && (Log() << Verbose(0) << "Old: " << config::mainname << "\t new: "); 378 379 cin >> config::mainname; 379 380 break; 380 381 case 'B': // defaultpath 381 Log() << Verbose(0) << "Old: " << config::defaultpath << "\t new: ";382 DoLog(0) && (Log() << Verbose(0) << "Old: " << config::defaultpath << "\t new: "); 382 383 cin >> config::defaultpath; 383 384 break; 384 385 case 'C': // pseudopotpath 385 Log() << Verbose(0) << "Old: " << config::pseudopotpath << "\t new: ";386 DoLog(0) && (Log() << Verbose(0) << "Old: " << config::pseudopotpath << "\t new: "); 386 387 cin >> config::pseudopotpath; 387 388 break; 388 389 389 390 case 'D': // ProcPEGamma 390 Log() << Verbose(0) << "Old: " << config::ProcPEGamma << "\t new: ";391 DoLog(0) && (Log() << Verbose(0) << "Old: " << config::ProcPEGamma << "\t new: "); 391 392 cin >> config::ProcPEGamma; 392 393 break; 393 394 case 'E': // ProcPEPsi 394 Log() << Verbose(0) << "Old: " << config::ProcPEPsi << "\t new: ";395 DoLog(0) && (Log() << Verbose(0) << "Old: " << config::ProcPEPsi << "\t new: "); 395 396 cin >> config::ProcPEPsi; 396 397 break; 397 398 case 'F': // DoOutVis 398 Log() << Verbose(0) << "Old: " << config::DoOutVis << "\t new: ";399 DoLog(0) && (Log() << Verbose(0) << "Old: " << config::DoOutVis << "\t new: "); 399 400 cin >> config::DoOutVis; 400 401 break; 401 402 case 'G': // DoOutMes 402 Log() << Verbose(0) << "Old: " << config::DoOutMes << "\t new: ";403 DoLog(0) && (Log() << Verbose(0) << "Old: " << config::DoOutMes << "\t new: "); 403 404 cin >> config::DoOutMes; 404 405 break; 405 406 case 'H': // DoOutOrbitals 406 Log() << Verbose(0) << "Old: " << config::DoOutOrbitals << "\t new: ";407 DoLog(0) && (Log() << Verbose(0) << "Old: " << config::DoOutOrbitals << "\t new: "); 407 408 cin >> config::DoOutOrbitals; 408 409 break; 409 410 case 'I': // DoOutCurrent 410 Log() << Verbose(0) << "Old: " << config::DoOutCurrent << "\t new: ";411 DoLog(0) && (Log() << Verbose(0) << "Old: " << config::DoOutCurrent << "\t new: "); 411 412 cin >> config::DoOutCurrent; 412 413 break; 413 414 case 'J': // DoFullCurrent 414 Log() << Verbose(0) << "Old: " << config::DoFullCurrent << "\t new: ";415 DoLog(0) && (Log() << Verbose(0) << "Old: " << config::DoFullCurrent << "\t new: "); 415 416 cin >> config::DoFullCurrent; 416 417 break; 417 418 case 'K': // DoPerturbation 418 Log() << Verbose(0) << "Old: " << config::DoPerturbation << "\t new: ";419 DoLog(0) && (Log() << Verbose(0) << "Old: " << config::DoPerturbation << "\t new: "); 419 420 cin >> config::DoPerturbation; 420 421 break; 421 422 case 'L': // CommonWannier 422 Log() << Verbose(0) << "Old: " << config::CommonWannier << "\t new: ";423 DoLog(0) && (Log() << Verbose(0) << "Old: " << config::CommonWannier << "\t new: "); 423 424 cin >> config::CommonWannier; 424 425 break; 425 426 case 'M': // SawtoothStart 426 Log() << Verbose(0) << "Old: " << config::SawtoothStart << "\t new: ";427 DoLog(0) && (Log() << Verbose(0) << "Old: " << config::SawtoothStart << "\t new: "); 427 428 cin >> config::SawtoothStart; 428 429 break; 429 430 case 'N': // VectorPlane 430 Log() << Verbose(0) << "Old: " << config::VectorPlane << "\t new: ";431 DoLog(0) && (Log() << Verbose(0) << "Old: " << config::VectorPlane << "\t new: "); 431 432 cin >> config::VectorPlane; 432 433 break; 433 434 case 'O': // VectorCut 434 Log() << Verbose(0) << "Old: " << config::VectorCut << "\t new: ";435 DoLog(0) && (Log() << Verbose(0) << "Old: " << config::VectorCut << "\t new: "); 435 436 cin >> config::VectorCut; 436 437 break; 437 438 case 'P': // UseAddGramSch 438 Log() << Verbose(0) << "Old: " << config::UseAddGramSch << "\t new: ";439 DoLog(0) && (Log() << Verbose(0) << "Old: " << config::UseAddGramSch << "\t new: "); 439 440 cin >> config::UseAddGramSch; 440 441 break; 441 442 case 'Q': // Seed 442 Log() << Verbose(0) << "Old: " << config::Seed << "\t new: ";443 DoLog(0) && (Log() << Verbose(0) << "Old: " << config::Seed << "\t new: "); 443 444 cin >> config::Seed; 444 445 break; 445 446 446 447 case 'R': // MaxOuterStep 447 Log() << Verbose(0) << "Old: " << config::MaxOuterStep << "\t new: ";448 DoLog(0) && (Log() << Verbose(0) << "Old: " << config::MaxOuterStep << "\t new: "); 448 449 cin >> config::MaxOuterStep; 449 450 break; 450 451 case 'T': // OutVisStep 451 Log() << Verbose(0) << "Old: " << config::OutVisStep << "\t new: ";452 DoLog(0) && (Log() << Verbose(0) << "Old: " << config::OutVisStep << "\t new: "); 452 453 cin >> config::OutVisStep; 453 454 break; 454 455 case 'U': // OutSrcStep 455 Log() << Verbose(0) << "Old: " << config::OutSrcStep << "\t new: ";456 DoLog(0) && (Log() << Verbose(0) << "Old: " << config::OutSrcStep << "\t new: "); 456 457 cin >> config::OutSrcStep; 457 458 break; 458 459 case 'X': // MaxPsiStep 459 Log() << Verbose(0) << "Old: " << config::MaxPsiStep << "\t new: ";460 DoLog(0) && (Log() << Verbose(0) << "Old: " << config::MaxPsiStep << "\t new: "); 460 461 cin >> config::MaxPsiStep; 461 462 break; 462 463 case 'Y': // EpsWannier 463 Log() << Verbose(0) << "Old: " << config::EpsWannier << "\t new: ";464 DoLog(0) && (Log() << Verbose(0) << "Old: " << config::EpsWannier << "\t new: "); 464 465 cin >> config::EpsWannier; 465 466 break; 466 467 467 468 case 'Z': // MaxMinStep 468 Log() << Verbose(0) << "Old: " << config::MaxMinStep << "\t new: ";469 DoLog(0) && (Log() << Verbose(0) << "Old: " << config::MaxMinStep << "\t new: "); 469 470 cin >> config::MaxMinStep; 470 471 break; 471 472 case 'a': // RelEpsTotalEnergy 472 Log() << Verbose(0) << "Old: " << config::RelEpsTotalEnergy << "\t new: ";473 DoLog(0) && (Log() << Verbose(0) << "Old: " << config::RelEpsTotalEnergy << "\t new: "); 473 474 cin >> config::RelEpsTotalEnergy; 474 475 break; 475 476 case 'b': // RelEpsKineticEnergy 476 Log() << Verbose(0) << "Old: " << config::RelEpsKineticEnergy << "\t new: ";477 DoLog(0) && (Log() << Verbose(0) << "Old: " << config::RelEpsKineticEnergy << "\t new: "); 477 478 cin >> config::RelEpsKineticEnergy; 478 479 break; 479 480 case 'c': // MaxMinStopStep 480 Log() << Verbose(0) << "Old: " << config::MaxMinStopStep << "\t new: ";481 DoLog(0) && (Log() << Verbose(0) << "Old: " << config::MaxMinStopStep << "\t new: "); 481 482 cin >> config::MaxMinStopStep; 482 483 break; 483 484 case 'e': // MaxInitMinStep 484 Log() << Verbose(0) << "Old: " << config::MaxInitMinStep << "\t new: ";485 DoLog(0) && (Log() << Verbose(0) << "Old: " << config::MaxInitMinStep << "\t new: "); 485 486 cin >> config::MaxInitMinStep; 486 487 break; 487 488 case 'f': // InitRelEpsTotalEnergy 488 Log() << Verbose(0) << "Old: " << config::InitRelEpsTotalEnergy << "\t new: ";489 DoLog(0) && (Log() << Verbose(0) << "Old: " << config::InitRelEpsTotalEnergy << "\t new: "); 489 490 cin >> config::InitRelEpsTotalEnergy; 490 491 break; 491 492 case 'g': // InitRelEpsKineticEnergy 492 Log() << Verbose(0) << "Old: " << config::InitRelEpsKineticEnergy << "\t new: ";493 DoLog(0) && (Log() << Verbose(0) << "Old: " << config::InitRelEpsKineticEnergy << "\t new: "); 493 494 cin >> config::InitRelEpsKineticEnergy; 494 495 break; 495 496 case 'h': // InitMaxMinStopStep 496 Log() << Verbose(0) << "Old: " << config::InitMaxMinStopStep << "\t new: ";497 DoLog(0) && (Log() << Verbose(0) << "Old: " << config::InitMaxMinStopStep << "\t new: "); 497 498 cin >> config::InitMaxMinStopStep; 498 499 break; … … 500 501 // case 'j': // BoxLength 501 502 // Log() << Verbose(0) << "enter lower triadiagonalo form of basis matrix" << endl << endl; 503 // double * const cell_size = World::getInstance().getDomain(); 502 504 // for (int i=0;i<6;i++) { 503 505 // Log() << Verbose(0) << "Cell size" << i << ": "; 504 // cin >> mol->cell_size[i];506 // cin >> cell_size[i]; 505 507 // } 506 508 // break; 507 509 508 510 case 'k': // ECut 509 Log() << Verbose(0) << "Old: " << config::ECut << "\t new: ";511 DoLog(0) && (Log() << Verbose(0) << "Old: " << config::ECut << "\t new: "); 510 512 cin >> config::ECut; 511 513 break; 512 514 case 'l': // MaxLevel 513 Log() << Verbose(0) << "Old: " << config::MaxLevel << "\t new: ";515 DoLog(0) && (Log() << Verbose(0) << "Old: " << config::MaxLevel << "\t new: "); 514 516 cin >> config::MaxLevel; 515 517 break; 516 518 case 'm': // RiemannTensor 517 Log() << Verbose(0) << "Old: " << config::RiemannTensor << "\t new: ";519 DoLog(0) && (Log() << Verbose(0) << "Old: " << config::RiemannTensor << "\t new: "); 518 520 cin >> config::RiemannTensor; 519 521 break; 520 522 case 'n': // LevRFactor 521 Log() << Verbose(0) << "Old: " << config::LevRFactor << "\t new: ";523 DoLog(0) && (Log() << Verbose(0) << "Old: " << config::LevRFactor << "\t new: "); 522 524 cin >> config::LevRFactor; 523 525 break; 524 526 case 'o': // RiemannLevel 525 Log() << Verbose(0) << "Old: " << config::RiemannLevel << "\t new: ";527 DoLog(0) && (Log() << Verbose(0) << "Old: " << config::RiemannLevel << "\t new: "); 526 528 cin >> config::RiemannLevel; 527 529 break; 528 530 case 'p': // Lev0Factor 529 Log() << Verbose(0) << "Old: " << config::Lev0Factor << "\t new: ";531 DoLog(0) && (Log() << Verbose(0) << "Old: " << config::Lev0Factor << "\t new: "); 530 532 cin >> config::Lev0Factor; 531 533 break; 532 534 case 'r': // RTActualUse 533 Log() << Verbose(0) << "Old: " << config::RTActualUse << "\t new: ";535 DoLog(0) && (Log() << Verbose(0) << "Old: " << config::RTActualUse << "\t new: "); 534 536 cin >> config::RTActualUse; 535 537 break; 536 538 case 's': // PsiType 537 Log() << Verbose(0) << "Old: " << config::PsiType << "\t new: ";539 DoLog(0) && (Log() << Verbose(0) << "Old: " << config::PsiType << "\t new: "); 538 540 cin >> config::PsiType; 539 541 break; 540 542 case 't': // MaxPsiDouble 541 Log() << Verbose(0) << "Old: " << config::MaxPsiDouble << "\t new: ";543 DoLog(0) && (Log() << Verbose(0) << "Old: " << config::MaxPsiDouble << "\t new: "); 542 544 cin >> config::MaxPsiDouble; 543 545 break; 544 546 case 'u': // PsiMaxNoUp 545 Log() << Verbose(0) << "Old: " << config::PsiMaxNoUp << "\t new: ";547 DoLog(0) && (Log() << Verbose(0) << "Old: " << config::PsiMaxNoUp << "\t new: "); 546 548 cin >> config::PsiMaxNoUp; 547 549 break; 548 550 case 'v': // PsiMaxNoDown 549 Log() << Verbose(0) << "Old: " << config::PsiMaxNoDown << "\t new: ";551 DoLog(0) && (Log() << Verbose(0) << "Old: " << config::PsiMaxNoDown << "\t new: "); 550 552 cin >> config::PsiMaxNoDown; 551 553 break; 552 554 case 'w': // AddPsis 553 Log() << Verbose(0) << "Old: " << config::AddPsis << "\t new: ";555 DoLog(0) && (Log() << Verbose(0) << "Old: " << config::AddPsis << "\t new: "); 554 556 cin >> config::AddPsis; 555 557 break; 556 558 557 559 case 'x': // RCut 558 Log() << Verbose(0) << "Old: " << config::RCut << "\t new: ";560 DoLog(0) && (Log() << Verbose(0) << "Old: " << config::RCut << "\t new: "); 559 561 cin >> config::RCut; 560 562 break; 561 563 case 'y': // StructOpt 562 Log() << Verbose(0) << "Old: " << config::StructOpt << "\t new: ";564 DoLog(0) && (Log() << Verbose(0) << "Old: " << config::StructOpt << "\t new: "); 563 565 cin >> config::StructOpt; 564 566 break; 565 567 case 'z': // IsAngstroem 566 Log() << Verbose(0) << "Old: " << config::IsAngstroem << "\t new: ";568 DoLog(0) && (Log() << Verbose(0) << "Old: " << config::IsAngstroem << "\t new: "); 567 569 cin >> config::IsAngstroem; 568 570 break; 569 571 case 'i': // RelativeCoord 570 Log() << Verbose(0) << "Old: " << config::RelativeCoord << "\t new: ";572 DoLog(0) && (Log() << Verbose(0) << "Old: " << config::RelativeCoord << "\t new: "); 571 573 cin >> config::RelativeCoord; 572 574 break; … … 647 649 } 648 650 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); 650 652 delete[](buffer); 651 653 }; … … 658 660 { 659 661 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); 661 663 delete(FileBuffer); 662 664 } … … 684 686 685 687 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."); 687 689 performCriticalExit(); 688 690 } … … 690 692 ParseForParameter(verbose,FileBuffer,"MaxTypes", 0, 1, 1, int_type, &(MaxTypes), 1, critical); 691 693 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(); 694 696 } else { 695 697 // 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); 697 699 int NoAtoms = 0; 698 700 for (int i=0; i < MaxTypes; i++) { … … 701 703 ParseForParameter(verbose,FileBuffer, name, 0, 2, 1, int_type, &Z, 1, critical); 702 704 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); 704 706 NoAtoms += No[i]; 705 707 } … … 709 711 sprintf(name,"Ion_Type%i",MaxTypes); 710 712 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); 712 714 performCriticalExit(); 713 715 return; … … 727 729 bool status = true; 728 730 while (status) { 729 Log() << Verbose(0) << "Currently parsing MD step " << repetition << "." << endl;731 DoLog(0) && (Log() << Verbose(0) << "Currently parsing MD step " << repetition << "." << endl); 730 732 for (int i=0; i < MaxTypes; i++) { 731 733 sprintf(name,"Ion_Type%i",i+1); … … 793 795 } 794 796 repetition--; 795 Log() << Verbose(0) << "Found " << repetition << " trajectory steps." << endl;797 DoLog(0) && (Log() << Verbose(0) << "Found " << repetition << " trajectory steps." << endl); 796 798 if (repetition <= 1) // if onyl one step, desactivate use of trajectories 797 799 mol->MDSteps = 0; … … 805 807 ParseForParameter(verbose,FileBuffer, "Ion_Type1_1", 0, 3, 1, double_type, &value[2], repetition, (repetition == 0) ? critical : optional)) 806 808 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); 808 810 // parse in molecule coordinates 809 811 for (int i=0; i < MaxTypes; i++) { … … 854 856 ifstream *file = new ifstream(filename); 855 857 if (file == NULL) { 856 eLog() << Verbose(1) << "config file " << filename << " missing!" << endl;858 DoeLog(1) && (eLog()<< Verbose(1) << "config file " << filename << " missing!" << endl); 857 859 return; 858 860 } … … 966 968 // Unit cell and magnetic field 967 969 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]; 974 977 //if (1) fprintf(stderr,"\n"); 975 978 … … 1061 1064 BG = new BondGraph(IsAngstroem); 1062 1065 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); 1064 1067 } else { 1065 eLog() << Verbose(1) << "Bond length table loading failed." << endl;1068 DoeLog(1) && (eLog()<< Verbose(1) << "Bond length table loading failed." << endl); 1066 1069 } 1067 1070 } … … 1092 1095 ifstream *file = new ifstream(filename); 1093 1096 if (file == NULL) { 1094 eLog() << Verbose(1) << "config file " << filename << " missing!" << endl;1097 DoeLog(1) && (eLog()<< Verbose(1) << "config file " << filename << " missing!" << endl); 1095 1098 return; 1096 1099 } … … 1170 1173 1171 1174 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]; 1178 1182 if (1) fprintf(stderr,"\n"); 1179 1183 config::DoPerturbation = 0; … … 1251 1255 BG = new BondGraph(IsAngstroem); 1252 1256 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); 1254 1258 } else { 1255 Log() << Verbose(0) << "Bond length table loading failed." << endl;1259 DoLog(0) && (Log() << Verbose(0) << "Bond length table loading failed." << endl); 1256 1260 } 1257 1261 … … 1260 1264 for (i=MAX_ELEMENTS;i--;) 1261 1265 elementhash[i] = NULL; 1262 Log() << Verbose(0) << "Parsing Ions ..." << endl;1266 DoLog(0) && (Log() << Verbose(0) << "Parsing Ions ..." << endl); 1263 1267 No=0; 1264 1268 found = 0; 1265 1269 while (getline(*file,zeile,'\n')) { 1266 1270 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); 1268 1272 found ++; 1269 1273 } … … 1279 1283 input >> b; // element mass 1280 1284 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); 1282 1286 for(i=0;i<AtomNo;i++) { 1283 1287 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); 1285 1289 // return 1; 1286 1290 } else { … … 1313 1317 // bring MaxTypes up to date 1314 1318 mol->CountElements(); 1319 const double * const cell_size = World::getInstance().getDomain(); 1315 1320 ofstream * const output = new ofstream(filename, ios::out); 1316 1321 if (output != NULL) { … … 1383 1388 *output << endl; 1384 1389 *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; 1388 1393 // FIXME 1389 1394 *output << endl; … … 1429 1434 return result; 1430 1435 } else { 1431 eLog() << Verbose(1) << "Cannot open output file:" << filename << endl;1436 DoeLog(1) && (eLog()<< Verbose(1) << "Cannot open output file:" << filename << endl); 1432 1437 return false; 1433 1438 } … … 1451 1456 output = new ofstream(fname->str().c_str(), ios::out); 1452 1457 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); 1454 1459 delete(fname); 1455 1460 return false; … … 1494 1499 output = new ofstream(fname->str().c_str(), ios::out); 1495 1500 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); 1497 1502 delete(fname); 1498 1503 return false; … … 1550 1555 f = fopen(name, "w" ); 1551 1556 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); 1553 1558 return false; 1554 1559 } … … 1605 1610 f = fopen(name, "w" ); 1606 1611 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); 1608 1613 Free(&elementNo); 1609 1614 return false; … … 1642 1647 /** Stores all atoms in a TREMOLO data input file. 1643 1648 * 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! 1644 1650 * \param *filename name of file (without ".in" suffix!) 1645 1651 * \param *mol pointer to molecule … … 1654 1660 output = new ofstream(fname->str().c_str(), ios::out); 1655 1661 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); 1657 1663 delete(fname); 1658 1664 return false; … … 1696 1702 /** Stores all atoms from all molecules in a TREMOLO data input file. 1697 1703 * 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! 1698 1705 * \param *filename name of file (without ".in" suffix!) 1699 1706 * \param *MolList pointer to MoleculeListClass containing all atoms … … 1708 1715 output = new ofstream(fname->str().c_str(), ios::out); 1709 1716 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); 1711 1718 delete(fname); 1712 1719 return false; … … 1748 1755 while (Walker->next != (*MolWalker)->end) { 1749 1756 Walker = Walker->next; 1750 *output << AtomNo << "\t";1757 *output << AtomNo+1 << "\t"; 1751 1758 *output << Walker->Name << "\t"; 1752 1759 *output << (*MolWalker)->name << "\t"; 1753 *output << MolCounter << "\t";1760 *output << MolCounter+1 << "\t"; 1754 1761 *output << Walker->node->x[0] << "\t" << Walker->node->x[1] << "\t" << Walker->node->x[2] << "\t"; 1755 1762 *output << (double)Walker->type->Valence << "\t"; 1756 1763 *output << Walker->type->symbol << "\t"; 1757 1764 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"; 1759 1766 for(int i=Walker->ListOfBonds.size(); i < MaxNeighbours; i++) 1760 1767 *output << "-\t";
Note:
See TracChangeset
for help on using the changeset viewer.
