Changeset cc6e5c for src/Python
- Timestamp:
- May 20, 2014, 8:47:10 AM (11 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, 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:
- 975b83
- Parents:
- 0d4168
- git-author:
- Frederik Heber <heber@…> (09/28/13 00:59:47)
- git-committer:
- Frederik Heber <heber@…> (05/20/14 08:47:10)
- Location:
- src/Python
- Files:
-
- 3 added
- 2 edited
- 3 moved
Legend:
- Unmodified
- Added
- Removed
-
src/Python/Makefile.am
r0d4168 rcc6e5c 3 3 4 4 PYTHONSOURCE = \ 5 Python/PythonScripting.cpp 5 Python/exit.cpp \ 6 Python/getBoundingBox.cpp \ 7 Python/getDomainVolume.cpp \ 8 Python/getSelectedMolarMass.cpp \ 9 Python/PythonScripting.cpp \ 10 Python/reinit.cpp 6 11 7 12 PYTHONHEADER = \ 13 Python/modules.hpp \ 8 14 Python/PythonScripting_impl.hpp \ 9 15 Python/PythonScripting.hpp -
src/Python/PythonScripting_impl.hpp
r0d4168 rcc6e5c 21 21 22 22 #include "CodePatterns/toString.hpp" 23 24 // all "getter" functions 25 #include "modules.hpp" 23 26 24 27 //!> define all present actions … … 64 67 65 68 } /* namespace PythonTypes */ 69 66 70 } /* namespace MoleCuilder */ 71 67 72 68 73 BOOST_PYTHON_MODULE(pyMoleCuilder) 69 74 { 75 // from this moment on, we need to be sure to deeinitialize in the correct or 76 // this is handled by the cleanup function 77 atexit(MoleCuilder::detail::module_exit); 78 70 79 // set the docstring of the current module scope 71 80 boost::python::scope().attr("__doc__") = "pyMolecuilder are the python bindings to all Actions of the program suite MoleCuilder.\n\nMoleCuilder is a program to build molecular (dynamics) worlds, allowing you indefinite manipulation, control and analysis over the atoms and molecules within a simulation domain."; 81 82 boost::python::def( 83 "reinit", 84 MoleCuilder::detail::module_reinit, 85 "Reinitializes the internal state of the python module as if it had been freshly imported,saves all input files beforehand." 86 ); 87 boost::python::def< MoleCuilder::detail::doubleVec() >( 88 "getBoundingBox", 89 MoleCuilder::detail::module_getBoundingBox, 90 "returns the cuboid bounding box of the current domain." 91 ); 92 boost::python::def< double() >( 93 "getDomainVolume", 94 MoleCuilder::detail::module_getDomainVolume, 95 "returns the volume of the simulation domain." 96 ); 97 boost::python::def< double() >( 98 "getSelectedMolarMass", 99 MoleCuilder::detail::module_getSelectedMolarMass, 100 "returns the molar mass of all selected atoms." 101 ); 72 102 73 103 // STL Vectors: … … 86 116 ; 87 117 88 118 // access to all Actions 89 119 #define export_print(z,n,list) \ 90 120 BOOST_PP_CAT(export_, BOOST_PP_SEQ_ELEM(n, list))(); -
src/Python/getBoundingBox.cpp
r0d4168 rcc6e5c 2 2 * Project: MoleCuilder 3 3 * Description: creates and alters molecular systems 4 * Copyright (C) 201 0-2012 University of Bonn. All rights reserved.4 * Copyright (C) 2013 Frederik Heber. All rights reserved. 5 5 * 6 6 * … … 22 22 23 23 /* 24 * CalculateBoundingBoxAction.cpp24 * getBoundingBox.cpp 25 25 * 26 * Created on: Nov 02, 201126 * Created on: Sep 28, 2013 27 27 * Author: heber 28 28 */ … … 35 35 #include "CodePatterns/MemDebug.hpp" 36 36 37 #include " CodePatterns/Log.hpp"37 #include "modules.hpp" 38 38 39 39 #include "Box.hpp" 40 40 #include "CodePatterns/Assert.hpp" 41 #include "CodePatterns/Log.hpp" 41 42 #include "LinearAlgebra/Plane.hpp" 42 43 #include <vector> … … 44 45 #include "World.hpp" 45 46 46 #include <iostream>47 47 #include <string> 48 48 49 #include "CalculateBoundingBoxAction.hpp"50 51 using namespace MoleCuilder;52 53 // and construct the stuff54 #include "CalculateBoundingBoxAction.def"55 #include "Reaction_impl_pre.hpp"56 57 #include "Reaction_impl.hpp"58 59 49 /** =========== define the function ====================== */ 60 doubleVec * AnalysisCalculateBoundingBoxAction::doCalc() { 50 MoleCuilder::detail::doubleVec MoleCuilder::detail::module_getBoundingBox() 51 { 61 52 typedef std::pair<Plane,Plane> PairOfPlanes; 62 53 typedef std::vector<PairOfPlanes> PairOfPlanesVector; … … 74 65 LOG(0, "RESULT: The current bounding box is " << returnvalues << "."); 75 66 76 return (new doubleVec(returnvalues));67 return returnvalues; 77 68 } 78 /** =========== end of function ====================== */ -
src/Python/getDomainVolume.cpp
r0d4168 rcc6e5c 2 2 * Project: MoleCuilder 3 3 * Description: creates and alters molecular systems 4 * Copyright (C) 201 0-2012 University of Bonn. All rights reserved.4 * Copyright (C) 2013 Frederik Heber. All rights reserved. 5 5 * 6 6 * … … 22 22 23 23 /* 24 * CalculateCellVolumeAction.cpp24 * getDomainVolume.cpp 25 25 * 26 * Created on: Oct 12, 201126 * Created on: Sep 28, 2013 27 27 * Author: heber 28 28 */ … … 35 35 #include "CodePatterns/MemDebug.hpp" 36 36 37 #include "modules.hpp" 38 37 39 #include "CodePatterns/Log.hpp" 38 40 … … 41 43 #include "World.hpp" 42 44 43 #include <iostream>44 45 #include <string> 45 46 46 #include "CalculateCellVolumeAction.hpp" 47 48 using namespace MoleCuilder; 49 50 // and construct the stuff 51 #include "CalculateCellVolumeAction.def" 52 #include "Reaction_impl_pre.hpp" 53 54 #include "Reaction_impl.hpp" 55 56 /** =========== define the function ====================== */ 57 double * AnalysisCalculateCellVolumeAction::doCalc() { 47 double MoleCuilder::detail::module_getDomainVolume() { 58 48 // calculate volume from Box 59 49 Box &B = World::getInstance().getDomain(); … … 63 53 LOG(0, "RESULT: The current box volume is " << volume << "."); 64 54 65 return (new double(volume));55 return volume; 66 56 } 67 /** =========== end of function ====================== */ -
src/Python/getSelectedMolarMass.cpp
r0d4168 rcc6e5c 2 2 * Project: MoleCuilder 3 3 * Description: creates and alters molecular systems 4 * Copyright (C) 201 0-2012 University of Bonn. All rights reserved.4 * Copyright (C) 2013 Frederik Heber. All rights reserved. 5 5 * 6 6 * … … 22 22 23 23 /* 24 * CalculateMolarMassAction.cpp24 * getSelectedMolarMass.cpp 25 25 * 26 * Created on: Nov 02, 201126 * Created on: Sep 28, 2013 27 27 * Author: heber 28 28 */ … … 35 35 #include "CodePatterns/MemDebug.hpp" 36 36 37 #include "modules.hpp" 38 37 39 #include "CodePatterns/Log.hpp" 38 40 … … 41 43 #include "World.hpp" 42 44 43 #include <iostream>44 45 #include <string> 45 46 46 #include "CalculateMolarMassAction.hpp" 47 48 using namespace MoleCuilder; 49 50 // and construct the stuff 51 #include "CalculateMolarMassAction.def" 52 #include "Reaction_impl_pre.hpp" 53 54 #include "Reaction_impl.hpp" 55 56 /** =========== define the function ====================== */ 57 double * AnalysisCalculateMolarMassAction::doCalc() { 47 double MoleCuilder::detail::module_getSelectedMolarMass() { 58 48 double mass = 0.; 59 49 size_t totalnumber = 0; … … 67 57 LOG(0, "RESULT: The mass of " << totalnumber << " selected atoms is " << mass << " atomicmassunit."); 68 58 69 return (new double(mass));59 return mass; 70 60 } 71 /** =========== end of function ====================== */ 61
Note:
See TracChangeset
for help on using the changeset viewer.