Changeset 850bce
- Timestamp:
- Jul 11, 2012, 9:03:48 AM (13 years ago)
- Children:
- 4aba27
- Parents:
- 035791
- git-author:
- Frederik Heber <heber@…> (07/10/12 17:17:37)
- git-committer:
- Frederik Heber <heber@…> (07/11/12 09:03:48)
- Location:
- src/bin/mpqc
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
src/bin/mpqc/Makefile
r035791 r850bce 30 30 default:: mpqc 31 31 32 DEFINES += -DHAVE_JOBMARKET -I/home/heber/packages/JobMarket-1.0.0/include -I/home/heber/workspace_C/JobMarket/build64 -I/home/heber/packages/boost-1.47/include/boost-1_47 33 34 XDEF = -DHAVE_JOBMARKET -I/home/heber/packages/JobMarket-1.0.0/include 35 XLIBS = -L/home/heber/packages/JobMarket-1.0.0/lib -lJobMarketPoolWorker -Wl,-rpath,/home/heber/packages/JobMarket-1.0.0/lib -Wl,-rpath,/home/heber/packages/boost-1.47/lib 32 DEFINES += \ 33 -DHAVE_JOBMARKET -I/home/heber/packages/JobMarket-1.0.0/include -I/home/heber/workspace_C/JobMarket/build64 -I/home/heber/packages/boost-1.47/include/boost-1_47\ 34 -DHAVE_MPQCDATA -I/home/heber/workspace_C/molecuilder_LinkedCell/build64-jobmarket/include/MoleCuilder 35 36 XDEF = 37 XLIBS = -L/home/heber/packages/JobMarket-1.0.0/lib -lJobMarketPoolWorker -Wl,-rpath,/home/heber/packages/JobMarket-1.0.0/lib -Wl,-rpath,/home/heber/packages/boost-1.47/lib -L/home/heber/workspace_C/molecuilder_LinkedCell/build64-jobmarket/lib/ -lMolecuilderJobs -Wl,-rpath,/home/heber/workspace_C/molecuilder_LinkedCell/build64-jobmarket/lib 36 38 ifeq ($(HAVE_SC_SRC_LIB_CHEMISTRY_QC_PSI),yes) 37 39 XDEF += -DHAVE_CHEMISTRY_QC_PSI -
src/bin/mpqc/mpqc.cc
r035791 r850bce 134 134 #include "JobMarket/poolworker_main.hpp" 135 135 #include "MPQCJob.h" 136 137 #ifdef HAVE_MPQCDATA 138 #include "Jobs/MPQCCommandJob_MPQCData.hpp" 139 #endif 136 140 137 141 #include <algorithm> … … 1214 1218 char *&in_char_array, 1215 1219 int argc, 1216 char **argv) 1220 char **argv 1221 #ifdef HAVE_MPQCDATA 1222 , MPQCData &data 1223 #endif 1224 ) 1217 1225 { 1218 1226 // get the message group. first try the commandline and environment … … 1443 1451 1444 1452 // here, we may gather the results 1445 // we start to constructthe MPQC_Data object1453 // we start to fill the MPQC_Data object 1446 1454 { 1447 1455 Ref<Wavefunction> wfn; … … 1459 1467 ExEnv::out0() << wfn->basis()->r(nr,i) << "\t"; 1460 1468 ExEnv::out0() << endl; 1469 } 1470 // print the energy 1471 data.energy = mole->energy(); 1472 ExEnv::out0() << endl << indent 1473 << scprintf("Value of the MolecularEnergy: %15.10f", 1474 mole->energy()) 1475 << endl; 1476 // print the gradient 1477 RefSCVector grad; 1478 if (mole->gradient_result().computed()) { 1479 grad = mole->gradient_result().result_noupdate(); 1480 } 1481 else { 1482 grad = mole->gradient(); 1483 } 1484 if (grad.nonnull()) { 1485 data.forces.resize(grad.dim()/3); 1486 for (int j=0;j<grad.dim()/3; ++j) { 1487 data.forces[j].resize(3); 1488 } 1489 std::cout << "Gradient of the MolecularEnergy:" << std::endl; 1490 for (int j=0;j<grad.dim()/3; ++j) { 1491 std::cout << "\t"; 1492 for (int i=0; i< 3; ++i) { 1493 data.forces[j][i] = grad[3*j+i]; 1494 std::cout << grad[3*j+i] << "\t"; 1495 } 1496 std::cout << endl; 1497 } 1461 1498 } 1462 1499 // GaussianShell is the actual orbital functions it seems ... … … 1558 1595 const char *input = 0; 1559 1596 const char *generic_input = 0; 1560 mainFunction(values, input, generic_input, in_char_array, argc, argv); 1597 MPQCData data; 1598 mainFunction(values, input, generic_input, in_char_array, argc, argv, data); 1561 1599 delete[] in_char_array; 1562 1600 … … 1567 1605 // delete[] argv; 1568 1606 // 1569 FragmentResult::ptr result( new FragmentResult(getId()) ); 1570 return result; 1607 // place into returnstream 1608 std::stringstream returnstream; 1609 boost::archive::text_oarchive oa(returnstream); 1610 oa << data; 1611 1612 FragmentResult::ptr s( new FragmentResult(getId(), returnstream.str()) ); 1613 return s; 1571 1614 } 1572 1615 #endif … … 1644 1687 // if not, work on the command line input 1645 1688 char *in_char_array = 0; 1689 #ifdef HAVE_MPQCDATA 1690 MPQCData data; 1691 mainFunction(values, input, generic_input, in_char_array, argc, argv, data); 1692 #else 1646 1693 mainFunction(values, input, generic_input, in_char_array, argc, argv); 1694 #endif 1647 1695 } 1648 1696
Note:
See TracChangeset
for help on using the changeset viewer.
