diff --git a/modules/mol/mm/src/simulation.cc b/modules/mol/mm/src/simulation.cc index 1dd71dfe867552a1f438384b1148d5c24d9e9010..64aba2ddb477cedd7d89319a7b81f4ff03c712cc 100644 --- a/modules/mol/mm/src/simulation.cc +++ b/modules/mol/mm/src/simulation.cc @@ -47,8 +47,6 @@ SimulationPtr Simulation::Load(const String& filename, MMSettingsPtr settings){ TopologyPtr top_p(new Topology); ds >> *top_p; - sim_ptr->original_masses_ = top_p->GetMasses(); - sim_ptr->top_ = top_p; sim_ptr->system_ = SystemCreator::Create(sim_ptr->top_,settings, @@ -114,7 +112,6 @@ void Simulation::Init(const TopologyPtr top, } system_ = SystemCreator::Create(top_,settings,system_force_mapper_); ost::mol::EntityHandle ent = top_->GetEntity(); - original_masses_ = top_->GetMasses(); //setting up the context, which combines the system with an integrator //to proceed in time, but first we have to load the proper platform @@ -487,8 +484,9 @@ void Simulation::AddPositionConstraints(const std::vector<uint>& index){ } void Simulation::ResetPositionConstraints(){ - for(uint i = 0; i < original_masses_.size(); ++i){ - system_->setParticleMass(i,original_masses_[i]); + std::vector<Real> original_masses = top_->GetMasses(); + for(uint i = 0; i < original_masses.size(); ++i){ + system_->setParticleMass(i,original_masses[i]); } top_->ResetPositionConstraints(); context_->reinitialize(); diff --git a/modules/mol/mm/src/simulation.hh b/modules/mol/mm/src/simulation.hh index 6b7ba1370621a493f411b4284b8e0aefea64ebd3..c17c6e901b0f07a0aaaea9a50259c4caada515d8 100644 --- a/modules/mol/mm/src/simulation.hh +++ b/modules/mol/mm/src/simulation.hh @@ -134,7 +134,6 @@ private: std::vector<MMObserverPtr> observers_; std::vector<int> time_to_notify_; std::map<FuncType,uint> system_force_mapper_; - std::vector<Real> original_masses_; }; }}} //ns