Chombo + EB + MF
3.2
|
#include <MeshInterp.H>
Public Member Functions | |
MeshInterp () | |
MeshInterp (const Box &a_domain, const RealVect &a_dx, const RealVect &m_domainLeftEdge) | |
Full constructor. More... | |
void | define (const Box &a_domain, const RealVect &a_dx, const RealVect &m_domainLeftEdge) |
Define function. More... | |
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 |
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.
MeshInterp::MeshInterp | ( | ) |
MeshInterp::MeshInterp | ( | const Box & | a_domain, |
const RealVect & | a_dx, | ||
const RealVect & | m_domainLeftEdge | ||
) |
Full constructor.
void MeshInterp::define | ( | const Box & | a_domain, |
const RealVect & | a_dx, | ||
const RealVect & | m_domainLeftEdge | ||
) |
Define function.
void MeshInterp::deposit | ( | const List< P > & | a_particleList, |
FArrayBox & | a_rho, | ||
InterpType & | a_interpType | ||
) |
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.
void MeshInterp::interpolate | ( | List< P > & | a_particleList, |
const FArrayBox & | a_field, | ||
InterpType & | a_interpType | ||
) |
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.
|
private |
a wrapper function that deposits a single particle using the interpolating functions defined in MeshInterpF.ChF
Referenced by deposit().
|
private |
a wrapper function that interpolates the field to a single particle position using the interpolating functions defined in MeshInterpF.ChF
Referenced by interpolate().
|
private |
|
private |
Referenced by deposit(), and interpolate().
|
private |
Referenced by deposit(), and interpolate().