ParticleLayoutFromGrid Class Reference

#include <ParticleLayoutFromGrid.h>

Inheritance diagram for ParticleLayoutFromGrid:

Inheritance graph
[legend]
Collaboration diagram for ParticleLayoutFromGrid:

Collaboration graph
[legend]
List of all members.

Public Types

typedef int pair_t
typedef pair_tpair_iterator
typedef ParticleAttrib< SingleParticlePos_tParticlePos_t
typedef ParticleAttrib< Index_tParticleIndex_t
typedef Vektor< double, 3 > Vector_t

Public Member Functions

 ParticleLayoutFromGrid (Grid *grid, Domain *domain, D3vector &local_min, D3vector &local_max)
void update (ParticleBase< ParticleLayoutFromGrid > &particles)
bool is_local_pos (const Vector_t &x) const
bool is_local_pos (const D3vector &x) const
bool is_in_domain (const D3vector &x) const
bool is_in_domain (const Vector_t &x) const

Static Public Member Functions

static bool is_inside_box (const D3vector &corner_min, const D3vector &corner_max, const D3vector &x)

Detailed Description

Definition at line 18 of file ParticleLayoutFromGrid.h.


Member Typedef Documentation

typedef pair_t* ParticleLayoutFromGrid::pair_iterator
 

Definition at line 21 of file ParticleLayoutFromGrid.h.

typedef int ParticleLayoutFromGrid::pair_t
 

Definition at line 20 of file ParticleLayoutFromGrid.h.

typedef ParticleAttrib<Index_t> ParticleLayoutFromGrid::ParticleIndex_t
 

Definition at line 23 of file ParticleLayoutFromGrid.h.

typedef ParticleAttrib<SingleParticlePos_t> ParticleLayoutFromGrid::ParticlePos_t
 

Definition at line 22 of file ParticleLayoutFromGrid.h.

typedef Vektor<double,3> ParticleLayoutFromGrid::Vector_t
 

Definition at line 24 of file ParticleLayoutFromGrid.h.


Constructor & Destructor Documentation

ParticleLayoutFromGrid::ParticleLayoutFromGrid Grid grid,
Domain domain,
D3vector local_min,
D3vector local_max
[inline]
 

Constructor.

Parameters:
grid Grid.
domain Domain on which the grid is based.
local_min Corner of axiparallel box defining local domain (with minimal coordinates)
local_max Corner of axiparallel box defining local domain (with maximal coordinates)

Definition at line 32 of file ParticleLayoutFromGrid.h.


Member Function Documentation

bool ParticleLayoutFromGrid::is_in_domain const Vector_t x  )  const [inline]
 

Test if x is inside the geometric domain

Parameters:
x Position to test.
Returns:
True if inside.

Definition at line 81 of file ParticleLayoutFromGrid.h.

References Domain::point_in_domain(), x, and y.

Here is the call graph for this function:

bool ParticleLayoutFromGrid::is_in_domain const D3vector x  )  const [inline]
 

Test if x is inside the geometric domain

Parameters:
x Position to test.
Returns:
True if inside.

Definition at line 73 of file ParticleLayoutFromGrid.h.

References Domain::point_in_domain(), and x.

Here is the call graph for this function:

static bool ParticleLayoutFromGrid::is_inside_box const D3vector corner_min,
const D3vector corner_max,
const D3vector x
[inline, static]
 

Test whether x is inside axiparalllel box defined by corner_min and corner_max.

Parameters:
corner_min Coordinates of box corner with minimal values.
corner_max Coordinates of box corner with maximal values.
x Position to test.
Returns:
True if x is inside.

Definition at line 93 of file ParticleLayoutFromGrid.h.

References x.

Referenced by is_local_pos().

bool ParticleLayoutFromGrid::is_local_pos const D3vector x  )  const [inline]
 

Test if x is inside the domain assigned to my processor.

Parameters:
x Position to test.
Returns:
True if inside.

Definition at line 64 of file ParticleLayoutFromGrid.h.

References is_inside_box(), and x.

Here is the call graph for this function:

bool ParticleLayoutFromGrid::is_local_pos const Vector_t x  )  const [inline]
 

Test if x is inside the domain assigned to my processor.

Parameters:
x Position to test.
Returns:
True if inside.

Definition at line 55 of file ParticleLayoutFromGrid.h.

References is_inside_box(), x, and y.

Here is the call graph for this function:

void ParticleLayoutFromGrid::update ParticleBase< ParticleLayoutFromGrid > &  particles  ) 
 

Does "book--keeping" after particles have been integrated one time step.

"Book--keeping" includes

  • Detecting particles which have moved across a boundary and taking appropriate measures. (not yet implemented)
  • Redistributing particles which have moved out of the domain assigned to the local processor.
  • Updating the total particle count.
    Parameters:
    particles Particle container.

Definition at line 15 of file ParticleLayoutFromGrid.cpp.

References ParticleBase< PLayout >::getDestroyNum(), ParticleBase< PLayout >::getLocalNum(), IpplInfo::getNodes(), Parallel_Info::give_number_of_active_processes(), IpplInfo::myNode(), ParticleBase< PLayout >::performDestroy(), reduce(), ParticleBase< PLayout >::setLocalNum(), and ParticleBase< PLayout >::setTotalNum().

Here is the call graph for this function:


The documentation for this class was generated from the following files:
Generated on Mon Jan 16 14:45:01 2006 for IPPL by  doxygen 1.4.6