Class for setting Neumann domain boundaries for 1st and 2nd derivatives.
ATTENTION: only works for cell-based setups where domain boundaries are located exactly in-between two cells !
#include <Neumann.h>
Public Member Functions | |
NeumannDomainBoundary (StructuredBlockStorage &blocks, const BlockDataID &fieldId) | |
void | includeBoundary (const stencil::Direction &direction) |
void | excludeBoundary (const stencil::Direction &direction) |
void | setOrder (const uint_t order) |
void | setOrder (const stencil::Direction &direction, const uint_t order) |
void | setValue (const real_t value) |
void | setValue (const stencil::Direction &direction, const real_t value) |
void | setDx (const real_t dx) |
void | setDx (const stencil::Direction &direction, const real_t dx) |
void | operator() () |
Protected Member Functions | |
void | apply (PdeField *p, const CellInterval &interval, const cell_idx_t cx, const cell_idx_t cy, const cell_idx_t cz, const uint_t order, const real_t value, const real_t dx) const |
Protected Attributes | |
StructuredBlockStorage & | blocks_ |
BlockDataID | fieldId_ |
bool | includeBoundary_ [stencil::D3Q6::Size] |
uint_t | order_ [stencil::D3Q6::Size] |
real_t | value_ [stencil::D3Q6::Size] |
real_t | dx_ [stencil::D3Q6::Size] |
|
inline |
|
protected |
|
inline |
|
inline |
void walberla::pde::NeumannDomainBoundary< PdeField >::operator() |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |