Changeset 9907e7 for src


Ignore:
Timestamp:
Jun 7, 2010, 11:55:30 PM (15 years ago)
Author:
Frederik Heber <heber@…>
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
Message:

Case '-F' is now handled by CommandLineUI.

  • FIX: FillWithMoleculeAction was still using internally created water instead of molecule parsed from xyz file.
Location:
src
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • src/Actions/MoleculeAction/FillWithMoleculeAction.cpp

    r19c0e3 r9907e7  
    6666
    6767  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);
    6869    // construct water molecule
    6970    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());
    7475    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);
    9091    World::getInstance().getConfig()->BG->ConstructBondGraph(filler);
    91     filler->SetNameFromFilename("water");
     92//    filler->SetNameFromFilename("water");
    9293    // call routine
    9394    double distance[NDIM];
  • src/builder.cpp

    r19c0e3 r9907e7  
    19501950            case 'F':
    19511951              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;
    19851967              break;
    19861968            case 'A':
Note: See TracChangeset for help on using the changeset viewer.