Ignore:
Timestamp:
May 8, 2012, 2:54:17 PM (14 years ago)
Author:
Julian Iseringhausen <isering@…>
Children:
6f05224
Parents:
4e8206
Message:

Refactored vmg in order to separate the core library and the particle simulation part properly.

git-svn-id: https://svn.version.fz-juelich.de/scafacos/trunk@1798 5161e1c8-67bf-11de-9fd5-51895aff932f

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/comm/comm_serial.cpp

    r4e8206 rf003a9  
    2424#include "base/helper.hpp"
    2525#include "base/index.hpp"
    26 #include "base/linked_cell_list.hpp"
    2726#include "base/stencil.hpp"
    2827#include "base/vector.hpp"
     
    174173{
    175174}
    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 // }
    242175
    243176void CommSerial::PrintString(const char* format, ...)
Note: See TracChangeset for help on using the changeset viewer.