Changeset f003a9 for src/comm/comm_serial.cpp
- Timestamp:
- May 8, 2012, 2:54:17 PM (14 years ago)
- Children:
- 6f05224
- Parents:
- 4e8206
- File:
-
- 1 edited
-
src/comm/comm_serial.cpp (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/comm/comm_serial.cpp
r4e8206 rf003a9 24 24 #include "base/helper.hpp" 25 25 #include "base/index.hpp" 26 #include "base/linked_cell_list.hpp"27 26 #include "base/stencil.hpp" 28 27 #include "base/vector.hpp" … … 174 173 { 175 174 } 176 177 void CommSerial::CommParticles(const Grid& grid, std::list<Particle::Particle>& particles)178 {179 Factory& factory = MG::GetFactory();180 const vmg_int& num_particles_local = factory.GetObjectStorageVal<vmg_int>("PARTICLE_NUM_LOCAL");181 vmg_float* x = factory.GetObjectStorageArray<vmg_float>("PARTICLE_POS_ARRAY");182 vmg_float* q = factory.GetObjectStorageArray<vmg_float>("PARTICLE_CHARGE_ARRAY");183 184 particles.clear();185 186 for (vmg_int i=0; i<num_particles_local; ++i)187 particles.push_back(Particle::Particle(&x[3*i], q[i], 0.0, 0.0, 0, i));188 }189 190 void CommSerial::CommParticlesBack(std::list<Particle::Particle>& particles)191 {192 std::list<Particle::Particle>::iterator iter;193 vmg_float* p = MG::GetFactory().GetObjectStorageArray<vmg_float>("PARTICLE_POTENTIAL_ARRAY");194 for (iter=particles.begin(); iter!=particles.end(); ++iter)195 p[iter->Index()] = iter->Pot();196 }197 198 void CommSerial::CommLCListToGhosts(Particle::LinkedCellList& lc)199 {200 // std::list<Particle::Particle*>::iterator p_iter;201 // Grid::iterator g_iter;202 203 // for (int i=2; i>=0; --i) {204 205 // if (BoundaryConditions()[i] == Periodic) {206 207 // for (g_iter=lc.Iterators().Halo1()[i].Begin(); g_iter!=lc.Iterators().Halo1()[i].End(); ++g_iter)208 // lc(*g_iter).clear();209 210 // for (g_iter=lc.Iterators().NearBoundary1()[i].Begin(); g_iter!=lc.Iterators().NearBoundary1()[i].End(); ++g_iter)211 // for (p_iter=lc(*g_iter).begin(); p_iter!=lc(*g_iter).end(); ++p_iter)212 // lc.AddParticleToComplete((*p_iter)->Pos() + grid.Extent().Size(), (*p_iter)->Charge(),213 // (*p_iter)->Pot(), (*p_iter)->Force(),214 // (*p_iter)->Rank(), (*p_iter)->Index());215 216 // for (g_iter=lc.Iterators().Halo2()[i].Begin(); g_iter!=lc.Iterators().Halo2()[i].End(); ++g_iter)217 // lc(*g_iter).clear();218 219 // for (g_iter=lc.Iterators().NearBoundary2()[i].Begin(); g_iter!=lc.Iterators().NearBoundary2()[i].End(); ++g_iter)220 // for (p_iter=lc(*g_iter).begin(); p_iter!=lc(*g_iter).end(); ++p_iter)221 // lc.AddParticleToComplete((*p_iter)->Pos() - grid.Extent().Size(), (*p_iter)->Charge(),222 // (*p_iter)->Pot(), (*p_iter)->Force(),223 // (*p_iter)->Rank(), (*p_iter)->Index());224 225 // }226 // }227 }228 229 void CommSerial::CommLCListFromGhosts(const Grid& grid, Particle::LinkedCellList& lc)230 {231 232 }233 234 // void CommSerial::CommAddPotential(std::list<Particle::Particle>& particles)235 // {236 // std::list<Particle::Particle>::iterator iter;237 // vmg_float* p = MG::GetFactory().GetObjectStorageArray<vmg_float>("PARTICLE_POTENTIAL_ARRAY");238 239 // for (iter=particles.begin(); iter!=particles.end(); ++iter)240 // p[iter->Index()] += iter->Pot();241 // }242 175 243 176 void CommSerial::PrintString(const char* format, ...)
Note:
See TracChangeset
for help on using the changeset viewer.
