- Timestamp:
- Jun 11, 2010, 7:22:37 PM (15 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:
- 980dd6
- Parents:
- 6866aa
- Location:
- src
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
src/Actions/MapOfActions.cpp
r6866aa rf6bd32 108 108 DescriptionMap["bin-start"] = "start of the first bin"; 109 109 DescriptionMap["bin-width"] = "width of the bins"; 110 DescriptionMap["convex-file"] = "filename of the non-convex envelope"; 110 111 DescriptionMap["distance"] = "distance in space"; 111 112 DescriptionMap["distances"] = "list of three of distances in space, one for each axis direction"; … … 121 122 DescriptionMap["molecule-by-id"] = "index of a molecule"; 122 123 DescriptionMap["molecule-by-name"] = "name of a molecule"; 124 DescriptionMap["nonconvex-file"] = "filename of the non-convex envelope"; 123 125 DescriptionMap["order"] = "order of a discretization, dissection, ..."; 124 126 DescriptionMap["output-file"] = "name of the output file"; … … 209 211 TypeMap["bin-start"] = Double; 210 212 TypeMap["bin-width"] = Double; 213 TypeMap["convex-file"] = String; 211 214 TypeMap["distance"] = Double; 212 215 TypeMap["distances"] = Vector; … … 221 224 TypeMap["molecule-by-id"] = Molecule; 222 225 TypeMap["molecule-by-name"] = Molecule; 226 TypeMap["nonconvex-file"] = String; 223 227 TypeMap["order"] = Integer; 224 228 TypeMap["output-file"] = String; … … 246 250 // generic.insert("change-molname"); 247 251 generic.insert("change-element"); 248 //generic.insert("convex-envelope");252 generic.insert("convex-envelope"); 249 253 generic.insert("default-molname"); 250 254 generic.insert("depth-first-search"); … … 275 279 generic.insert("verlet-integrate"); 276 280 generic.insert("version"); 277 // // list of generic values278 // generic.insert("distance");279 // generic.insert("distances");280 // generic.insert("element");281 generic.insert("input");282 // generic.insert("length");283 281 284 282 // positional arguments 285 inputfile.insert("input"); 283 generic.insert("input"); 284 inputfile.insert("input"); 286 285 287 286 // hidden arguments … … 291 290 generic.insert("bin-start"); 292 291 generic.insert("bin-width"); 292 generic.insert("convex-file"); 293 293 generic.insert("distance"); 294 294 generic.insert("DoRotate"); … … 302 302 generic.insert("molecule-by-id"); 303 303 generic.insert("molecule-by-name"); 304 generic.insert("nonconvex-file"); 304 305 generic.insert("order"); 305 306 generic.insert("output-file"); -
src/Actions/TesselationAction/ConvexEnvelopeAction.cpp
r6866aa rf6bd32 19 19 #include "atom.hpp" 20 20 #include "boundary.hpp" 21 #include "config.hpp" 21 22 #include "linkedcell.hpp" 22 23 #include "log.hpp" … … 54 55 molecule * mol = NULL; 55 56 bool Success = false; 57 config *configuration = World::getInstance().getConfig(); 56 58 57 59 dialog->queryMolecule(NAME, &mol, MapOfActions::getInstance().getDescription(NAME)); 58 dialog->queryString(" output", &filenameConvex, MapOfActions::getInstance().getDescription("output"));59 dialog->queryString(" output", &filenameNonConvex, MapOfActions::getInstance().getDescription("output"));60 dialog->queryString("convex-file", &filenameConvex, MapOfActions::getInstance().getDescription("convex-file")); 61 dialog->queryString("nonconvex-file", &filenameNonConvex, MapOfActions::getInstance().getDescription("nonconvex-file")); 60 62 61 63 if(dialog->display()) { … … 70 72 FindNonConvexBorder(mol, TesselStruct, LCList, 50., filenameNonConvex.c_str()); 71 73 //RemoveAllBoundaryPoints(TesselStruct, mol, argv[argptr]); 72 ConvexizeNonconvexEnvelope(TesselStruct, mol, filenameConvex.c_str()); 74 const double volumedifference = ConvexizeNonconvexEnvelope(TesselStruct, mol, filenameConvex.c_str()); 75 const double clustervolume = VolumeOfConvexEnvelope(TesselStruct, configuration); 76 DoLog(0) && (Log() << Verbose(0) << "The tesselated volume area is " << clustervolume << " " << (configuration->GetIsAngstroem() ? "angstrom" : "atomiclength") << "^3." << endl); 77 DoLog(0) && (Log() << Verbose(0) << "The non-convex tesselated volume area is " << clustervolume-volumedifference << " " << (configuration->GetIsAngstroem() ? "angstrom" : "atomiclength") << "^3." << endl); 73 78 delete(TesselStruct); 74 79 delete(LCList); -
src/builder.cpp
r6866aa rf6bd32 2127 2127 case 'o': 2128 2128 if (ExitFlag == 0) ExitFlag = 1; 2129 if ((argptr+ 1>= argc) || (argv[argptr][0] == '-')){2129 if ((argptr+4 >= argc) || (argv[argptr][0] == '-')){ 2130 2130 ExitFlag = 255; 2131 DoeLog(0) && (eLog()<< Verbose(0) << "Not enough or invalid arguments given for convex envelope: -o < convex output file> <non-convexoutput file>" << endl);2131 DoeLog(0) && (eLog()<< Verbose(0) << "Not enough or invalid arguments given for convex envelope: -o <molecule_id> --output-file <output file> --output-file <binned output file>" << endl); 2132 2132 performCriticalExit(); 2133 2133 } else { 2134 class Tesselation *TesselStruct = NULL; 2135 const LinkedCell *LCList = NULL; 2136 DoLog(0) && (Log() << Verbose(0) << "Evaluating volume of the convex envelope."); 2137 DoLog(1) && (Log() << Verbose(1) << "Storing tecplot convex data in " << argv[argptr] << "." << endl); 2138 DoLog(1) && (Log() << Verbose(1) << "Storing tecplot non-convex data in " << argv[argptr+1] << "." << endl); 2139 LCList = new LinkedCell(mol, 10.); 2140 //FindConvexBorder(mol, LCList, argv[argptr]); 2141 FindNonConvexBorder(mol, TesselStruct, LCList, 5., argv[argptr+1]); 2142 // RemoveAllBoundaryPoints(TesselStruct, mol, argv[argptr]); 2143 double volumedifference = ConvexizeNonconvexEnvelope(TesselStruct, mol, argv[argptr]); 2144 double clustervolume = VolumeOfConvexEnvelope(TesselStruct, &configuration); 2145 DoLog(0) && (Log() << Verbose(0) << "The tesselated volume area is " << clustervolume << " " << (configuration.GetIsAngstroem() ? "angstrom" : "atomiclength") << "^3." << endl); 2146 DoLog(0) && (Log() << Verbose(0) << "The non-convex tesselated volume area is " << clustervolume-volumedifference << " " << (configuration.GetIsAngstroem() ? "angstrom" : "atomiclength") << "^3." << endl); 2147 delete(TesselStruct); 2148 delete(LCList); 2149 argptr+=2; 2134 ArgcList.insert(argptr-1); 2135 ArgcList.insert(argptr); 2136 ArgcList.insert(argptr+1); 2137 ArgcList.insert(argptr+2); 2138 ArgcList.insert(argptr+3); 2139 ArgcList.insert(argptr+4); 2140 argptr+=5; 2150 2141 } 2151 2142 break;
Note:
See TracChangeset
for help on using the changeset viewer.