- Timestamp:
- Jun 7, 2010, 11:55:30 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:
- 4ed18b
- Parents:
- 19c0e3
- Location:
- src
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
src/Actions/MoleculeAction/FillWithMoleculeAction.cpp
r19c0e3 r9907e7 66 66 67 67 if(dialog->display()) { 68 DoLog(1) && (Log() << Verbose(1) << "Filling Box with water molecules, lengths(" << lengths[0] << "," << lengths[1] << "," << lengths[2] << "), distances (" << distances[0] << "," << distances[1] << "," << distances[2] << "), MaxDistance " << MaxDistance << ", DoRotate " << DoRotate << "." << endl); 68 69 // construct water molecule 69 70 molecule *filler = World::getInstance().createMolecule(); 70 //if (!filler->AddXYZFile(filename)) {71 //DoeLog(0) && (eLog()<< Verbose(0) << "Could not parse filler molecule from " << filename << "." << endl);72 //}73 // filler->SetNameFromFilename(filename);71 if (!filler->AddXYZFile(filename)) { 72 DoeLog(0) && (eLog()<< Verbose(0) << "Could not parse filler molecule from " << filename << "." << endl); 73 } 74 filler->SetNameFromFilename(filename.c_str()); 74 75 molecule *Filling = NULL; 75 atom *first = NULL, *second = NULL, *third = NULL;76 first = World::getInstance().createAtom();77 first->type = World::getInstance().getPeriode()->FindElement(1);78 first->x = Vector(0.441, -0.143, 0.);79 filler->AddAtom(first);80 second = World::getInstance().createAtom();81 second->type = World::getInstance().getPeriode()->FindElement(1);82 second->x = Vector(-0.464, 1.137, 0.0);83 filler->AddAtom(second);84 third = World::getInstance().createAtom();85 third->type = World::getInstance().getPeriode()->FindElement(8);86 third->x = Vector(-0.464, 0.177, 0.);87 filler->AddAtom(third);88 filler->AddBond(first, third, 1);89 filler->AddBond(second, third, 1);76 // atom *first = NULL, *second = NULL, *third = NULL; 77 // first = World::getInstance().createAtom(); 78 // first->type = World::getInstance().getPeriode()->FindElement(1); 79 // first->x = Vector(0.441, -0.143, 0.); 80 // filler->AddAtom(first); 81 // second = World::getInstance().createAtom(); 82 // second->type = World::getInstance().getPeriode()->FindElement(1); 83 // second->x = Vector(-0.464, 1.137, 0.0); 84 // filler->AddAtom(second); 85 // third = World::getInstance().createAtom(); 86 // third->type = World::getInstance().getPeriode()->FindElement(8); 87 // third->x = Vector(-0.464, 0.177, 0.); 88 // filler->AddAtom(third); 89 // filler->AddBond(first, third, 1); 90 // filler->AddBond(second, third, 1); 90 91 World::getInstance().getConfig()->BG->ConstructBondGraph(filler); 91 filler->SetNameFromFilename("water");92 // filler->SetNameFromFilename("water"); 92 93 // call routine 93 94 double distance[NDIM]; -
src/builder.cpp
r19c0e3 r9907e7 1950 1950 case 'F': 1951 1951 if (ExitFlag == 0) ExitFlag = 1; 1952 MaxDistance = -1; 1953 if (argv[argptr-1][2] == 'F') { // option is -FF? 1954 // fetch first argument as max distance to surface 1955 MaxDistance = atof(argv[argptr++]); 1956 DoLog(0) && (Log() << Verbose(0) << "Filling with maximum layer distance of " << MaxDistance << "." << endl); 1957 } 1958 if ((argptr+7 >=argc) || (argv[argptr][0] == '-') || (!IsValidNumber(argv[argptr+1])) || (!IsValidNumber(argv[argptr+2])) || (!IsValidNumber(argv[argptr+3])) || (!IsValidNumber(argv[argptr+4])) || (!IsValidNumber(argv[argptr+5])) || (!IsValidNumber(argv[argptr+6])) || (!IsValidNumber(argv[argptr+7]))) { 1959 ExitFlag = 255; 1960 DoeLog(0) && (eLog()<< Verbose(0) << "Not enough or invalid arguments given for filling box with water: -F <xyz of filler> <dist_x> <dist_y> <dist_z> <boundary> <randatom> <randmol> <DoRotate>" << endl); 1961 performCriticalExit(); 1962 } else { 1963 SaveFlag = true; 1964 DoLog(1) && (Log() << Verbose(1) << "Filling Box with water molecules." << endl); 1965 // construct water molecule 1966 molecule *filler = World::getInstance().createMolecule(); 1967 if (!filler->AddXYZFile(argv[argptr])) { 1968 DoeLog(0) && (eLog()<< Verbose(0) << "Could not parse filler molecule from " << argv[argptr] << "." << endl); 1969 } 1970 filler->SetNameFromFilename(argv[argptr]); 1971 configuration.BG->ConstructBondGraph(filler); 1972 molecule *Filling = NULL; 1973 // call routine 1974 double distance[NDIM]; 1975 for (int i=0;i<NDIM;i++) 1976 distance[i] = atof(argv[argptr+i+1]); 1977 Filling = FillBoxWithMolecule(molecules, filler, configuration, MaxDistance, distance, atof(argv[argptr+4]), atof(argv[argptr+5]), atof(argv[argptr+6]), atoi(argv[argptr+7])); 1978 if (Filling != NULL) { 1979 Filling->ActiveFlag = false; 1980 molecules->insert(Filling); 1981 } 1982 World::getInstance().destroyMolecule(filler); 1983 argptr+=6; 1984 } 1952 ArgcList.insert(argptr-1); 1953 ArgcList.insert(argptr); 1954 ArgcList.insert(argptr+1); 1955 ArgcList.insert(argptr+2); 1956 ArgcList.insert(argptr+3); 1957 ArgcList.insert(argptr+4); 1958 ArgcList.insert(argptr+5); 1959 ArgcList.insert(argptr+6); 1960 ArgcList.insert(argptr+7); 1961 ArgcList.insert(argptr+8); 1962 ArgcList.insert(argptr+9); 1963 ArgcList.insert(argptr+10); 1964 ArgcList.insert(argptr+11); 1965 ArgcList.insert(argptr+12); 1966 argptr+=13; 1985 1967 break; 1986 1968 case 'A':
Note:
See TracChangeset
for help on using the changeset viewer.