PlasCom2  1.0
XPACC Multi-physics simluation application
Stencil.H File Reference
#include "PCPPTypes.H"
#include <cstdlib>
#include <vector>
#include <cmath>
#include <list>
Include dependency graph for Stencil.H:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  stencilset
 Encapsulation for a collection of operator stencils. More...
 

Namespaces

 plascom2
 
 
 plascom2::operators
 Namespace for PlasCom2 numerical operators and associated data structures.
 
 plascom2::operators::sbp
 Namespace for SBP operators and associated data structures.
 
 plascom2::operators::dissipation
 
 mask
 

Typedefs

typedef stencilset base
 The sbp::base is an SBP-specific stencilset. More...
 

Enumerations

enum  maskbits { HOLE =0, NUMMASK }
 

Functions

bool IsValidOrder (int overallOrder)
 
int Initialize (base &stencilSet, int interiorOrder)
 Initialize the sbp::base stencilset with the SBP operator of given order. More...
 
void OperatorSetup (base &stencilSet, int interiorOrder, int boundaryDepth, int boundaryWidth, double boundaryWeight, std::vector< double > centralWeightsRight, std::vector< std::vector< double > > leftWeights, std::vector< int > leftOrders)
 Setup the SBP operator given the appropriate coefficients – called from Initialize. More...
 
int BruteTest1 (base &inOperator, int interiorOrder, int numDim, int numComponents, int numTrials, std::vector< bool > &testResults)
 Brute-force accuracy test for SBP operators. More...
 
int CreateStencilConnectivity (int numDim, size_t *dimSizes, size_t *opInterval, int boundaryDepth, int *stencilID, bool fortranInterval=false)
 Creates simple stencil connectivity assuming all domain boundaries are physical boundaries. More...
 
int CreateStencilConnectivity (int numDim, size_t *dimSizes, size_t *opInterval, int boundaryDepth, int *periodicDirs, int *stencilID, bool fortranInterval=false)
 Creates simple stencil connectivity assuming all domain boundaries are either periodic or physical boundaries. More...
 
int InvertStencilConnectivity (int numDim, size_t *dimSizes, size_t *opInterval, int numStencils, int *stencilID, size_t *dualStencilConn, size_t *numPointsStencil, bool fortranInterval=false)
 Inverts stencil connectivity to populate the so-called dual stencil connectivity More...
 
int BoundaryStencilConnectivity (std::vector< size_t > &bufferSizes, pcpp::IndexIntervalType &partitionInterval, pcpp::IndexIntervalType &partitionBufferInterval, pcpp::IndexIntervalType &boundaryInterval, int boundaryDepth, int boundaryDirection, int *stencilConnectivity)
 Update a stencil connectivity with a boundary. More...
 
int HoleStencilConnectivity (std::vector< size_t > &bufferSizes, pcpp::IndexIntervalType &partitionInterval, pcpp::IndexIntervalType &partitionBufferInterval, pcpp::IndexIntervalType &holeInterval, int holeStencil, int *stencilConnectivity)
 Update a stencil connectivity with a hole. More...
 
int MaskStencilConnectivity (int numDim, size_t *dimSizes, size_t *opInterval, int boundaryDepth, int boundaryStart, int holeBit, int *inMask, int *stencilID)
 
int DetectHoles (int numDim, size_t *dimSizes, size_t *opInterval, int boundaryDepth, int holeBit, int *inMask, int *stencilID)
 Detect unstructured holes and set up boundary stencil id's accordingly. More...
 
int Initialize (stencilset &stencilSet1, stencilset &stencilSet2, int interiorOrder)
 
void SetMask (const std::vector< size_t > &opIndices, int maskBits, int *inMask)
 
void SetMask (const std::vector< size_t > &bufferSizes, const pcpp::IndexIntervalType &opInterval, int maskBits, int *inMask)
 
void UnSetMask (const std::vector< size_t > &opIndices, int maskBits, int *inMask)
 
void UnSetMask (const std::vector< size_t > &bufferSizes, const pcpp::IndexIntervalType &opInterval, int maskBits, int *inMask)