escript Revision_
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()

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()

◆ 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()

◆ calculateOrder7()

◆ calculateOrder8()

◆ calculateOrder9()

◆ generateLocations()

◆ getEdgeSpacing()

◆ interpolate()

◆ 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()

Member Data Documentation

◆ hasLower

◆ hasUpper

◆ 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

◆ s_NE

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

◆ s_NX

◆ speck

const SpeckleyDomain* speckley::RipleyCoupler::speck
private

◆ speckley_origin


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