InterpolatorSUDS.h File Reference

Specialization of Interpolator class template for subtracted dipole scheme (SUDS) interpolation between Particle Attributes and Fields. More...

#include "Particles/Interpolation.h"
#include "Domain/Loc.h"
#include "Tiny/Vector.h"
#include "Utilities/PAssert.h"
#include "Utilities/ElementProperties.h"
#include <iostream>

Include dependency graph for InterpolatorSUDS.h:

This graph shows which files directly or indirectly include this file:


Classes

struct  SUDS
struct  SUDSCacheData< Dim, T >
struct  ElementProperties< SUDSCacheData< Dim, T > >
struct  Interpolator< Dim, T, SUDS >
struct  SUDSGather< FC, Dim, T >
struct  SUDSScatter< FC, Dim, T >
struct  SUDSScatterValue< FC, Dim, T, ValueT >
struct  SUDSGatherFillCache< FC, Dim, T >
struct  SUDSScatterFillCache< FC, Dim, T >
struct  SUDSScatterValueFillCache< FC, Dim, T, ValueT >
struct  SUDSGatherUseCache< FC, Dim, T >
struct  SUDSScatterUseCache< FC, Dim, T >
struct  SUDSScatterValueUseCache< FC, Dim, T, ValueT >

Functions

template<int Dim, class T >
std::ostream & operator<< (std::ostream &o, const SUDSCacheData< Dim, T > &cache)
template<class T , class Patch , class AxisType >
void SUDSGatherFcn (T &attrib, const Patch &field, const Loc< 1 > &index, const Vector< 1, AxisType > &delta)
template<class T , class Patch , class AxisType >
void SUDSGatherFcn (T &attrib, const Patch &field, const Loc< 2 > &index, const Vector< 2, AxisType > &delta)
template<class T , class Patch , class AxisType >
void SUDSGatherFcn (T &attrib, const Patch &field, const Loc< 3 > &index, const Vector< 3, AxisType > &delta)
template<class T , class Patch , class AxisType >
void SUDSScatterFcn (const T &value, const Patch &field, const Loc< 1 > &index, const Vector< 1, AxisType > &delta)
template<class T , class Patch , class AxisType >
void SUDSScatterFcn (const T &value, const Patch &field, const Loc< 2 > &index, const Vector< 2, AxisType > &delta)
template<class T , class Patch , class AxisType >
void SUDSScatterFcn (const T &value, const Patch &field, const Loc< 3 > &index, const Vector< 3, AxisType > &delta)

Detailed Description

Specialization of Interpolator class template for subtracted dipole scheme (SUDS) interpolation between Particle Attributes and Fields.

SUDS is a linear interpolation method that has an advantage over CIC in three dimensions because it uses only 7 stencil points instead of 8.

Specialization of Interpolator class template for cloud-in-cell interpolation. Interpolation is performed using a PatchFunction that spawns threads to work on each patch and loop over the particles on that patch. This functor will store a copy of the Field to be gathered from or scattered to and take the appropriate view of the Field for each patch.


Function Documentation

template<int Dim, class T >
std::ostream& operator<< ( std::ostream &  o,
const SUDSCacheData< Dim, T > &  cache 
) [inline]

template<class T , class Patch , class AxisType >
void SUDSGatherFcn ( T &  attrib,
const Patch field,
const Loc< 1 > &  index,
const Vector< 1, AxisType > &  delta 
) [inline]

template<class T , class Patch , class AxisType >
void SUDSGatherFcn ( T &  attrib,
const Patch field,
const Loc< 2 > &  index,
const Vector< 2, AxisType > &  delta 
) [inline]

template<class T , class Patch , class AxisType >
void SUDSGatherFcn ( T &  attrib,
const Patch field,
const Loc< 3 > &  index,
const Vector< 3, AxisType > &  delta 
) [inline]

template<class T , class Patch , class AxisType >
void SUDSScatterFcn ( const T &  value,
const Patch field,
const Loc< 1 > &  index,
const Vector< 1, AxisType > &  delta 
) [inline]

template<class T , class Patch , class AxisType >
void SUDSScatterFcn ( const T &  value,
const Patch field,
const Loc< 2 > &  index,
const Vector< 2, AxisType > &  delta 
) [inline]

template<class T , class Patch , class AxisType >
void SUDSScatterFcn ( const T &  value,
const Patch field,
const Loc< 3 > &  index,
const Vector< 3, AxisType > &  delta 
) [inline]


Generated on Wed Mar 16 06:17:47 2011 for FreePOOMA by  doxygen 1.5.9