Encapsulation for a collection of operator stencils. More...
Encapsulation for a collection of operator stencils.
The stencilset encapsulates the data structures required to implement operator stencils (e.g. for finite difference) and communicate the stencils to Fortran kernels.
#include <Stencil.H>
Public Member Functions | |
stencilset () | |
Constructor. More... | |
void | Copy (const stencilset &inStencilSet) |
Copy a stencil. More... | |
void | Destroy () |
Destroy utility destroys the stencil set memory. More... | |
~stencilset () | |
Destructor. More... | |
Public Attributes | |
int | numStencils |
The number of stencils (e.g. interior + boundary) More... | |
int | numValues |
The total number of weights for all stencils (reqd for Fortran) More... | |
bool | ownData |
Indicates whether this data structure owns the stencil memory. More... | |
int * | stencilSizes |
The number of weights for each stencil. More... | |
int * | stencilStarts |
The starting index into the stencilWeight and stencilOffset arrays for each stencil. More... | |
int * | stencilOffsets |
The offsets wrt the grid point at which the stencil is being applied. More... | |
double * | stencilWeights |
The stencil weights. More... | |
int * | stencilOrders |
Boundary weight needed by BC's. More... | |
double | boundaryWeight |
The order of accuracy for each stencil. More... | |
int | boundaryDepth |
Boundary depth is the number of biased boundary stencils for one boundary. More... | |
int | boundaryWidth |
Boundary width is the size of the on-boundary stencil. More... | |
int | overallOrder |
The overall order of the scheme this stencil implements. More... | |
|
inline |
|
inline |
Destructor.
Definition at line 93 of file Stencil.H.
References stencilset::Destroy(), and stencilset::numStencils.
|
inline |
Copy a stencil.
Definition at line 34 of file Stencil.H.
References stencilset::boundaryDepth, stencilset::boundaryWeight, stencilset::boundaryWidth, stencilset::Destroy(), stencilset::numStencils, stencilset::numValues, stencilset::overallOrder, stencilset::ownData, stencilset::stencilOffsets, stencilset::stencilOrders, stencilset::stencilSizes, stencilset::stencilStarts, and stencilset::stencilWeights.
Referenced by CoeffsWENO::Reconst(), CoeffsWENO::SmIndFirst(), and CoeffsWENO::SmIndSecond().
|
inline |
Destroy utility destroys the stencil set memory.
Definition at line 73 of file Stencil.H.
References stencilset::boundaryDepth, stencilset::boundaryWeight, stencilset::boundaryWidth, stencilset::overallOrder, stencilset::ownData, stencilset::stencilOffsets, stencilset::stencilOrders, stencilset::stencilSizes, stencilset::stencilStarts, and stencilset::stencilWeights.
Referenced by stencilset::Copy(), plascom2::operators::sbp::Initialize(), and stencilset::~stencilset().
int boundaryDepth |
Boundary depth is the number of biased boundary stencils for one boundary.
Definition at line 114 of file Stencil.H.
Referenced by plascom2::operators::sbp::BruteTest1(), stencilset::Copy(), euler::util::CreateSimulationFixtures(), stencilset::Destroy(), plascom2::operators::dissipation::Initialize(), euler::util::InitializeSimulationFixtures(), plascom2::operators::sbp::OperatorSetup(), and TestSBPInitialize().
double boundaryWeight |
The order of accuracy for each stencil.
Definition at line 112 of file Stencil.H.
Referenced by stencilset::Copy(), stencilset::Destroy(), plascom2::operators::dissipation::Initialize(), and plascom2::operators::sbp::OperatorSetup().
int boundaryWidth |
Boundary width is the size of the on-boundary stencil.
Definition at line 116 of file Stencil.H.
Referenced by plascom2::operators::sbp::BruteTest1(), stencilset::Copy(), testfixtures::CreateSimulationFixtures(), stencilset::Destroy(), plascom2::operators::dissipation::Initialize(), and plascom2::operators::sbp::OperatorSetup().
int numStencils |
The number of stencils (e.g. interior + boundary)
Definition at line 93 of file Stencil.H.
Referenced by plascom2::operators::sbp::BruteTest1(), CoeffsWENO::CoeffsWENO(), Maxwell::ComputeCurl(), parallel_blockstructured::ComputeCurvilinearMetrics2D(), parallel_blockstructured::ComputeMetricIdentities(), parallel_blockstructured::ComputeRectilinearMetrics(), stencilset::Copy(), testfixtures::CreateSerialSimulationFixtures(), testfixtures::CreateSimulationFixtures(), parallel_blockstructured::CurvilinearMetrics(), parallel_blockstructured::GradIJK(), plascom2::operators::dissipation::Initialize(), plascom2::operators::sbp::OperatorSetup(), TestApplyOperatorAppl(), TestApplyOperatorBlobs(), TestCurlOperator(), TestEulerKernels(), TestGrid_CurvilinearMetric(), TestGrid_CurvilinearVGWavy(), TestGrid_PBS_IntegratedHalo(), TestGrid_RectilinearMetric(), TestHDF5PBSGridIO(), TestMaxwellRHS(), TestMaxwellRHS_Bfield(), TestMaxwellRHS_Dfield(), TestOperatorSBP12(), TestOperatorSBP24(), TestOperatorSBP36(), TestSBPInitialize(), TestWENO_Stencils(), and stencilset::~stencilset().
int numValues |
The total number of weights for all stencils (reqd for Fortran)
Definition at line 98 of file Stencil.H.
Referenced by plascom2::operators::sbp::BruteTest1(), CoeffsWENO::CoeffsWENO(), Maxwell::ComputeCurl(), parallel_blockstructured::ComputeCurvilinearMetrics2D(), parallel_blockstructured::ComputeMetricIdentities(), parallel_blockstructured::ComputeRectilinearMetrics(), stencilset::Copy(), parallel_blockstructured::CurvilinearMetrics(), parallel_blockstructured::GradIJK(), plascom2::operators::dissipation::Initialize(), plascom2::operators::sbp::OperatorSetup(), TestApplyOperatorAppl(), TestApplyOperatorBlobs(), TestEulerKernels(), TestSBPInitialize(), and TestWENO_Stencils().
int overallOrder |
The overall order of the scheme this stencil implements.
Definition at line 118 of file Stencil.H.
Referenced by stencilset::Copy(), stencilset::Destroy(), and plascom2::operators::sbp::OperatorSetup().
bool ownData |
Indicates whether this data structure owns the stencil memory.
Definition at line 100 of file Stencil.H.
Referenced by CoeffsWENO::CoeffsWENO(), stencilset::Copy(), stencilset::Destroy(), plascom2::operators::dissipation::Initialize(), and plascom2::operators::sbp::OperatorSetup().
int* stencilOffsets |
The offsets wrt the grid point at which the stencil is being applied.
Definition at line 106 of file Stencil.H.
Referenced by plascom2::operators::sbp::BruteTest1(), CoeffsWENO::CoeffsWENO(), Maxwell::ComputeCurl(), parallel_blockstructured::ComputeCurvilinearMetrics2D(), parallel_blockstructured::ComputeMetricIdentities(), parallel_blockstructured::ComputeRectilinearMetrics(), stencilset::Copy(), parallel_blockstructured::CurvilinearMetrics(), stencilset::Destroy(), parallel_blockstructured::GradIJK(), plascom2::operators::dissipation::Initialize(), plascom2::operators::sbp::OperatorSetup(), WENO::ReconstPointValSten(), WENO::SmoothInd(), TestApplyOperatorAppl(), TestApplyOperatorBlobs(), TestEulerKernels(), TestSBPInitialize(), and TestWENO_Stencils().
int* stencilOrders |
Boundary weight needed by BC's.
Definition at line 110 of file Stencil.H.
Referenced by plascom2::operators::sbp::BruteTest1(), stencilset::Copy(), stencilset::Destroy(), and plascom2::operators::sbp::OperatorSetup().
int* stencilSizes |
The number of weights for each stencil.
Definition at line 102 of file Stencil.H.
Referenced by plascom2::operators::sbp::BruteTest1(), CoeffsWENO::CoeffsWENO(), Maxwell::ComputeCurl(), parallel_blockstructured::ComputeCurvilinearMetrics2D(), parallel_blockstructured::ComputeMetricIdentities(), parallel_blockstructured::ComputeRectilinearMetrics(), stencilset::Copy(), parallel_blockstructured::CurvilinearMetrics(), stencilset::Destroy(), parallel_blockstructured::GradIJK(), plascom2::operators::dissipation::Initialize(), plascom2::operators::sbp::OperatorSetup(), WENO::ReconstPointValSten(), WENO::SmoothInd(), TestApplyOperatorAppl(), TestApplyOperatorBlobs(), TestEulerKernels(), TestSBPInitialize(), and TestWENO_Stencils().
int* stencilStarts |
The starting index into the stencilWeight and stencilOffset arrays for each stencil.
Definition at line 104 of file Stencil.H.
Referenced by plascom2::operators::sbp::BruteTest1(), CoeffsWENO::CoeffsWENO(), Maxwell::ComputeCurl(), parallel_blockstructured::ComputeCurvilinearMetrics2D(), parallel_blockstructured::ComputeMetricIdentities(), parallel_blockstructured::ComputeRectilinearMetrics(), stencilset::Copy(), parallel_blockstructured::CurvilinearMetrics(), stencilset::Destroy(), parallel_blockstructured::GradIJK(), plascom2::operators::dissipation::Initialize(), plascom2::operators::sbp::OperatorSetup(), WENO::ReconstPointValSten(), WENO::SmoothInd(), TestApplyOperatorAppl(), TestApplyOperatorBlobs(), TestCurlOperator(), TestEulerKernels(), TestGrid_CurvilinearMetric(), TestGrid_CurvilinearVGWavy(), TestGrid_RectilinearMetric(), TestMaxwellRHS_Bfield(), TestMaxwellRHS_Dfield(), TestOperatorSBP12(), TestOperatorSBP24(), TestOperatorSBP36(), TestSBPInitialize(), and TestWENO_Stencils().
double* stencilWeights |
The stencil weights.
Definition at line 108 of file Stencil.H.
Referenced by plascom2::operators::sbp::BruteTest1(), CoeffsWENO::CoeffsWENO(), Maxwell::ComputeCurl(), parallel_blockstructured::ComputeCurvilinearMetrics2D(), parallel_blockstructured::ComputeMetricIdentities(), parallel_blockstructured::ComputeRectilinearMetrics(), stencilset::Copy(), parallel_blockstructured::CurvilinearMetrics(), stencilset::Destroy(), parallel_blockstructured::GradIJK(), plascom2::operators::dissipation::Initialize(), plascom2::operators::sbp::OperatorSetup(), WENO::ReconstPointValSten(), WENO::SmoothInd(), TestApplyOperatorAppl(), TestApplyOperatorBlobs(), TestEulerKernels(), TestSBPInitialize(), and TestWENO_Stencils().