Changeset a98b86
- Timestamp:
- Jul 10, 2012, 1:15:49 PM (13 years ago)
- Children:
- 8860a6
- Parents:
- a8458d
- git-author:
- Frederik Heber <heber@…> (07/06/12 18:35:39)
- git-committer:
- Frederik Heber <heber@…> (07/10/12 13:15:49)
- File:
-
- 1 edited
-
src/bin/mpqc/mpqc.cc (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/bin/mpqc/mpqc.cc
ra8458d ra98b86 383 383 * \param opt optimization structure 384 384 * \param molname name of molecule 385 * \param name of restartfile385 * \param restartfile name of restartfile 386 386 */ 387 387 void printOptions( … … 429 429 << endl << decindent; 430 430 431 } 432 433 /** Saves the current state to checkpoint file. 434 * 435 * \param keyval key value structure 436 * \param opt optimization structure 437 * \param grp message group 438 * \param mole MolecularEnergy object 439 * \param molname name of molecule 440 * \param ckptfile name of check point file 441 */ 442 void saveState( 443 char *wfn_file, 444 int savestate, 445 Ref<Optimize> &opt, 446 Ref<MessageGrp> &grp, 447 Ref<MolecularEnergy> &mole, 448 char *&molname, 449 char *&ckptfile) 450 { 451 const char *devnull = "/dev/null"; 452 453 // function stuff 454 if (savestate) { 455 if (opt.nonnull()) { 456 if (grp->me() == 0) { 457 ckptfile = new char[strlen(molname)+6]; 458 sprintf(ckptfile,"%s.ckpt",molname); 459 } 460 else { 461 ckptfile = new char[strlen(devnull)+1]; 462 strcpy(ckptfile, devnull); 463 } 464 465 StateOutBin so(ckptfile); 466 SavableState::save_state(opt.pointer(),so); 467 so.close(); 468 469 delete[] ckptfile; 470 } 471 472 if (mole.nonnull()) { 473 if (grp->me() == 0) { 474 if (wfn_file == 0) { 475 wfn_file = new char[strlen(molname)+6]; 476 sprintf(wfn_file,"%s.wfn",molname); 477 } 478 } 479 else { 480 delete[] wfn_file; 481 wfn_file = new char[strlen(devnull)+1]; 482 strcpy(wfn_file, devnull); 483 } 484 485 StateOutBin so(wfn_file); 486 SavableState::save_state(mole.pointer(),so); 487 so.close(); 488 489 } 490 } 491 delete[] wfn_file; 431 492 } 432 493 … … 928 989 929 990 // save this before doing the frequency stuff since that obsoletes the 930 // function stuff 931 if (savestate) { 932 if (opt.nonnull()) { 933 if (grp->me() == 0) { 934 ckptfile = new char[strlen(molname)+6]; 935 sprintf(ckptfile,"%s.ckpt",molname); 936 } 937 else { 938 ckptfile = new char[strlen(devnull)+1]; 939 strcpy(ckptfile, devnull); 940 } 941 942 StateOutBin so(ckptfile); 943 SavableState::save_state(opt.pointer(),so); 944 so.close(); 945 946 delete[] ckptfile; 947 } 948 949 if (mole.nonnull()) { 950 if (grp->me() == 0) { 951 if (wfn_file == 0) { 952 wfn_file = new char[strlen(molname)+6]; 953 sprintf(wfn_file,"%s.wfn",molname); 954 } 955 } 956 else { 957 delete[] wfn_file; 958 wfn_file = new char[strlen(devnull)+1]; 959 strcpy(wfn_file, devnull); 960 } 991 saveState(wfn_file, savestate, opt, grp, mole, molname, ckptfile); 961 992 962 StateOutBin so(wfn_file);963 SavableState::save_state(mole.pointer(),so);964 so.close();965 966 }967 }968 delete[] wfn_file;969 970 993 // Frequency calculation. 971 994 if (ready_for_freq && molfreq.nonnull()) {
Note:
See TracChangeset
for help on using the changeset viewer.
