escript  Revision_
Classes | Public Member Functions | Private Member Functions | Private Attributes | List of all members
speckley::RipleyCoupler Class Reference

#include <CrossDomainCoupler.h>

Classes

struct  Ripley
 

Public Member Functions

 RipleyCoupler (const SpeckleyDomain *speck, const double s_dx[2], int rank)
 
void interpolate (escript::Data &target, const escript::Data &source) const
 

Private Member Functions

void calculateOrder2 (int dim, double loc, double *results) const
 
void calculateOrder3 (int dim, double loc, double *results) const
 
void calculateOrder4 (int dim, double loc, double *results) const
 
void calculateOrder5 (int dim, double loc, double *results) const
 
void calculateOrder6 (int dim, double loc, double *results) const
 
void calculateOrder7 (int dim, double loc, double *results) const
 
void calculateOrder8 (int dim, double loc, double *results) const
 
void calculateOrder9 (int dim, double loc, double *results) const
 
void calculateOrder10 (int dim, double loc, double *results) const
 
void generateLocations (struct Ripley &r, double **positions) const
 
bool validInterpolation (escript::Data &target, const escript::Data &source, const SpeckleyDomain *speck, const double *s_dx, const ripley::RipleyDomain *other) const
 
void calculate (struct Ripley &r, dim_t ex, dim_t ey, dim_t ez, int oqx, int oqy, int oqz, double *out, const double *factor_x, const double *factor_y, const double *factor_z, const escript::Data &source) const
 
void shareWithNeighbours (bool lowerFirst, int hasLower, int hasUpper, double *bottom, double *top, double *brecv, double *trecv, int bSize, int tSize, int distance) const
 
void getEdgeSpacing (struct Ripley r, int *lower, int *upper) const
 
void shareBrickXFaces (struct Ripley &r, int hasLower, int hasUpper, int lower, int upper, escript::Data &target) const
 
void shareBrickYFaces (struct Ripley &r, int hasLower, int hasUpper, int lower, int upper, escript::Data &target) const
 
void shareBrickZFaces (struct Ripley &r, int hasLower, int hasUpper, int lower, int upper, escript::Data &target) const
 
void shareRectangleXEdges (struct Ripley &r, int hasLower, int hasUpper, int lower, int upper, escript::Data &target) const
 
void shareRectangleYEdges (struct Ripley &r, int hasLower, int hasUpper, int lower, int upper, escript::Data &target) const
 

Private Attributes

const SpeckleyDomainspeck
 
dim_t s_NE [3]
 
double s_dx [3]
 
int s_NX [3]
 
double speckley_origin [3]
 
int order
 
int numQuads
 
bool hasLower [3]
 
bool hasUpper [3]
 
int numComp
 

Constructor & Destructor Documentation

◆ RipleyCoupler()

speckley::RipleyCoupler::RipleyCoupler ( const SpeckleyDomain speck,
const double  s_dx[2],
int  rank 
)

Member Function Documentation

◆ calculate()

void speckley::RipleyCoupler::calculate ( struct Ripley r,
dim_t  ex,
dim_t  ey,
dim_t  ez,
int  oqx,
int  oqy,
int  oqz,
double *  out,
const double *  factor_x,
const double *  factor_y,
const double *  factor_z,
const escript::Data source 
) const
inlineprivate

◆ calculateOrder10()

void speckley::RipleyCoupler::calculateOrder10 ( int  dim,
double  loc,
double *  results 
) const
private

◆ calculateOrder2()

void speckley::RipleyCoupler::calculateOrder2 ( int  dim,
double  loc,
double *  results 
) const
private

◆ calculateOrder3()

void speckley::RipleyCoupler::calculateOrder3 ( int  dim,
double  loc,
double *  results 
) const
private

◆ calculateOrder4()

void speckley::RipleyCoupler::calculateOrder4 ( int  dim,
double  loc,
double *  results 
) const
private

◆ calculateOrder5()

void speckley::RipleyCoupler::calculateOrder5 ( int  dim,
double  loc,
double *  results 
) const
private

◆ calculateOrder6()

void speckley::RipleyCoupler::calculateOrder6 ( int  dim,
double  loc,
double *  results 
) const
private

◆ calculateOrder7()

void speckley::RipleyCoupler::calculateOrder7 ( int  dim,
double  loc,
double *  results 
) const
private

◆ calculateOrder8()

void speckley::RipleyCoupler::calculateOrder8 ( int  dim,
double  loc,
double *  results 
) const
private

◆ calculateOrder9()

void speckley::RipleyCoupler::calculateOrder9 ( int  dim,
double  loc,
double *  results 
) const
private

◆ generateLocations()

void speckley::RipleyCoupler::generateLocations ( struct Ripley r,
double **  positions 
) const
private

◆ getEdgeSpacing()

void speckley::RipleyCoupler::getEdgeSpacing ( struct Ripley  r,
int *  lower,
int *  upper 
) const
private

◆ interpolate()

void speckley::RipleyCoupler::interpolate ( escript::Data target,
const escript::Data source 
) const

◆ shareBrickXFaces()

void speckley::RipleyCoupler::shareBrickXFaces ( struct Ripley r,
int  hasLower,
int  hasUpper,
int  lower,
int  upper,
escript::Data target 
) const
private

◆ shareBrickYFaces()

void speckley::RipleyCoupler::shareBrickYFaces ( struct Ripley r,
int  hasLower,
int  hasUpper,
int  lower,
int  upper,
escript::Data target 
) const
private

◆ shareBrickZFaces()

void speckley::RipleyCoupler::shareBrickZFaces ( struct Ripley r,
int  hasLower,
int  hasUpper,
int  lower,
int  upper,
escript::Data target 
) const
private

◆ shareRectangleXEdges()

void speckley::RipleyCoupler::shareRectangleXEdges ( struct Ripley r,
int  hasLower,
int  hasUpper,
int  lower,
int  upper,
escript::Data target 
) const
private

◆ shareRectangleYEdges()

void speckley::RipleyCoupler::shareRectangleYEdges ( struct Ripley r,
int  hasLower,
int  hasUpper,
int  lower,
int  upper,
escript::Data target 
) const
private

◆ shareWithNeighbours()

void speckley::RipleyCoupler::shareWithNeighbours ( bool  lowerFirst,
int  hasLower,
int  hasUpper,
double *  bottom,
double *  top,
double *  brecv,
double *  trecv,
int  bSize,
int  tSize,
int  distance 
) const
private

◆ validInterpolation()

bool speckley::RipleyCoupler::validInterpolation ( escript::Data target,
const escript::Data source,
const SpeckleyDomain speck,
const double *  s_dx,
const ripley::RipleyDomain other 
) const
private

Member Data Documentation

◆ hasLower

bool speckley::RipleyCoupler::hasLower[3]
private

Referenced by interpolate(), and RipleyCoupler().

◆ hasUpper

bool speckley::RipleyCoupler::hasUpper[3]
private

Referenced by interpolate(), and RipleyCoupler().

◆ numComp

int speckley::RipleyCoupler::numComp
mutableprivate

◆ numQuads

int speckley::RipleyCoupler::numQuads
private

◆ order

int speckley::RipleyCoupler::order
private

Referenced by generateLocations(), and RipleyCoupler().

◆ s_dx

double speckley::RipleyCoupler::s_dx[3]
private

◆ s_NE

dim_t speckley::RipleyCoupler::s_NE[3]
private

◆ s_NX

int speckley::RipleyCoupler::s_NX[3]
private

◆ speck

const SpeckleyDomain* speckley::RipleyCoupler::speck
private

◆ speckley_origin

double speckley::RipleyCoupler::speckley_origin[3]
private

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