Changeset cd77fc for src/Jobs/VMGJob.cpp


Ignore:
Timestamp:
Nov 15, 2012, 3:12:54 PM (13 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, Candidate_v1.7.0, 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:
fb69e9
Parents:
092be05
git-author:
Frederik Heber <heber@…> (07/26/12 10:17:56)
git-committer:
Frederik Heber <heber@…> (11/15/12 15:12:54)
Message:

Positions and charges of nuclei are also contained in MPQCData and used by VMGJob and InterfaceVMGJob, respectively.

  • this is a temporary solution until we finally create the fragments and send prepare the MPQCJobs in one go. I.e. for now mpqc has to fill in the vacant MPQCData entries of positions and charges to be used by the VMGJob created from this information.
  • Using CommSerial/MPI in ImportRightHandSide() to getParticleGrid().
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/Jobs/VMGJob.cpp

    r092be05 rcd77fc  
    7676VMGJob::VMGJob(
    7777    const JobId_t _JobId,
    78     const SamplingGrid _density_grid) :
     78    const SamplingGrid &_density_grid,
     79    const std::vector< std::vector< double > > &_particle_positions,
     80    const std::vector< double > &_particle_charges) :
    7981  FragmentJob(_JobId),
    8082  density_grid(_density_grid),
    81   potential_grid(static_cast<const SamplingGridProperties &>(_density_grid))
     83  potential_grid(static_cast<const SamplingGridProperties &>(_density_grid)),
     84  particle_positions(_particle_positions),
     85  particle_charges(_particle_charges)
    8286{}
    8387
     
    125129  // TODO: As a matter of fact should use open boundary conditions
    126130  const Boundary boundary(Periodic, Periodic, Periodic);
    127 //  int near_field_cells = 10;
     131  int near_field_cells = 10;
    128132
    129133  /*
     
    139143      density_grid.sampled_grid,
    140144      potential_grid.sampled_grid,
     145      particle_positions,
     146      particle_charges,
    141147      boundary,
    142148      2,
    143149      density_grid.level,
    144150      Vector(density_grid.begin),
    145       density_grid.size);
     151      density_grid.size,
     152      near_field_cells);
    146153  new LevelOperatorCS(Stencils::RestrictionFullWeight, Stencils::InterpolationTrilinear);
    147154  new Givens<SolverSingular>();
     
    157164  new ObjectStorage<vmg_float>("PRECISION", 1.0e-10);
    158165  new ObjectStorage<int>("MAX_ITERATION", 15);
    159 //  new ObjectStorage<int>("PARTICLE_NEAR_FIELD_CELLS", near_field_cells);
    160 //  new ObjectStorage<int>("PARTICLE_INTERPOLATION_DEGREE", 3);
     166  new ObjectStorage<int>("PARTICLE_NEAR_FIELD_CELLS", near_field_cells);
     167  new ObjectStorage<int>("PARTICLE_INTERPOLATION_DEGREE", 3);
    161168
    162169  /*
Note: See TracChangeset for help on using the changeset viewer.