MeshInterp Class Reference

#include <MeshInterp.H>

List of all members.


Detailed Description

This class is used for handling the interaction between the particles and the mesh in PIC calculations. It handles depositing particle masses or charges onto the mesh, and interpolating the result of the force solve back to the particle positions.

Public Member Functions

 MeshInterp ()
 MeshInterp (const Box &a_domain, const RealVect &a_dx, const RealVect &m_domainLeftEdge)
 Full constructor.
void define (const Box &a_domain, const RealVect &a_dx, const RealVect &m_domainLeftEdge)
 Define function.
template<class P>
void deposit (const List< P > &a_particleList, FArrayBox &a_rho, InterpType &a_interpType)
template<class P>
void interpolate (List< P > &a_particleList, const FArrayBox &a_field, InterpType &a_interpType)

Private Member Functions

void depositParticle (FArrayBox &a_rho, const RealVect &a_domainLeftEdge, const RealVect &a_dx, const RealVect &a_position, const Real &a_strength, const InterpType a_interpType)
void interpolateParticle (RealVect &a_particleField, const FArrayBox &a_field, const RealVect &a_domainLeftEdge, const RealVect &a_dx, const RealVect &a_position, const InterpType &a_interpType)

Private Attributes

Box m_domain
RealVect m_dx
RealVect m_domainLeftEdge

Constructor & Destructor Documentation

MeshInterp::MeshInterp (  ) 

MeshInterp::MeshInterp ( const Box a_domain,
const RealVect a_dx,
const RealVect m_domainLeftEdge 
)

Full constructor.


Member Function Documentation

void MeshInterp::define ( const Box a_domain,
const RealVect a_dx,
const RealVect m_domainLeftEdge 
)

Define function.

template<class P>
void MeshInterp::deposit ( const List< P > &  a_particleList,
FArrayBox a_rho,
InterpType a_interpType 
) [inline]

Deposit the particles in a_particleList onto a_rho. The type of interpolation to perform is passed in as an argument.

References depositParticle(), m_domainLeftEdge, and m_dx.

template<class P>
void MeshInterp::interpolate ( List< P > &  a_particleList,
const FArrayBox a_field,
InterpType a_interpType 
) [inline]

Interpolate the field given by a_field onto the particles in a_particleList. a_field must have SpaceDim components. The type of interpolation to perform is passed in as an argument.

References D_DECL6, interpolateParticle(), m_domainLeftEdge, and m_dx.

void MeshInterp::depositParticle ( FArrayBox a_rho,
const RealVect a_domainLeftEdge,
const RealVect a_dx,
const RealVect a_position,
const Real a_strength,
const InterpType  a_interpType 
) [private]

a wrapper function that deposits a single particle using the interpolating functions defined in MeshInterpF.ChF

Referenced by deposit().

void MeshInterp::interpolateParticle ( RealVect a_particleField,
const FArrayBox a_field,
const RealVect a_domainLeftEdge,
const RealVect a_dx,
const RealVect a_position,
const InterpType a_interpType 
) [private]

a wrapper function that interpolates the field to a single particle position using the interpolating functions defined in MeshInterpF.ChF

Referenced by interpolate().


Member Data Documentation

Referenced by deposit(), and interpolate().

Referenced by deposit(), and interpolate().


The documentation for this class was generated from the following files:

Generated on Thu Apr 27 03:27:16 2017 for Chombo + EB + MF by  doxygen 1.5.5