freepooma-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Freepooma-devel] CIC problem


From: Roman Krylov
Subject: Re: [Freepooma-devel] CIC problem
Date: Wed, 30 Mar 2005 20:49:13 +0400
User-agent: Mozilla Thunderbird 1.0 (X11/20041206)

Thanks!
PIC2d works,
but my program using CIC doesn't - it already had layout with GL, nevertheless assertion is thrown. Maybe some of .initialize(...) is not equal to corresponding constructor somewhere - I'll check.

Roman.

Richard Guenther wrote:

Roman Krylov wrote:

Tried to use CIC for interpolation - it complains about not enough guardLayers size.
To reproduce the fault:
   change 'NGP' to 'CIC' in <pooma>/examples/Particles/PIC2d/PIC2d.cpp
so the line will be:
 > typedef CIC InterpolatorTag_t;
make clean && make
./<suite>/PIC2d
...

### POOMA Assertion Failure ###
### Minimum GuardLayer width of 1 required for CIC!
### File /usr/src/POOMA/pooma/src/Particles/InterpolatorCIC.h; Line 159.
Pooma::pAbort called.
In default abort handler.
Aborted



By the way SOMEFIELD.layout().internalGuards().lower(0) returns 0,
   whereas GuardLayer initialized with width of 1.
Is the problem with GuardLayers ?


From a quick look it looks like the E-Field (EFD) is _not_ initialized
with guard layers:

  // Create and initialize electrostatic potential and electric field.
  DField_t phi(cell,flayoutGL,mesh);
  VecField_t EFD(cell,flayout,mesh);

i.e. EFD should probably use flayoutGL, too, here, as we gather into it
with the CIC interpolator later:

    // Gather the E field to the particle positions
    out << "Gather E field ..." << std::endl;
    gather( P.E, EFD, P.R, Particles_t::InterpolatorTag_t() );


Richard.









reply via email to

[Prev in Thread] Current Thread [Next in Thread]