walberla::pde::NeumannDomainBoundary< PdeField > Class Template Reference

Detailed Description

template<typename PdeField>
class walberla::pde::NeumannDomainBoundary< PdeField >

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

StructuredBlockStorageblocks_
 
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]
 

Constructor & Destructor Documentation

◆ NeumannDomainBoundary()

template<typename PdeField >
walberla::pde::NeumannDomainBoundary< PdeField >::NeumannDomainBoundary ( StructuredBlockStorage blocks,
const BlockDataID fieldId 
)
inline

Member Function Documentation

◆ apply()

template<typename PdeField >
void walberla::pde::NeumannDomainBoundary< PdeField >::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

◆ excludeBoundary()

template<typename PdeField >
void walberla::pde::NeumannDomainBoundary< PdeField >::excludeBoundary ( const stencil::Direction direction)
inline

◆ includeBoundary()

template<typename PdeField >
void walberla::pde::NeumannDomainBoundary< PdeField >::includeBoundary ( const stencil::Direction direction)
inline

◆ operator()()

template<typename PdeField >
void walberla::pde::NeumannDomainBoundary< PdeField >::operator()

◆ setDx() [1/2]

template<typename PdeField >
void walberla::pde::NeumannDomainBoundary< PdeField >::setDx ( const real_t  dx)
inline

◆ setDx() [2/2]

template<typename PdeField >
void walberla::pde::NeumannDomainBoundary< PdeField >::setDx ( const stencil::Direction direction,
const real_t  dx 
)
inline

◆ setOrder() [1/2]

template<typename PdeField >
void walberla::pde::NeumannDomainBoundary< PdeField >::setOrder ( const stencil::Direction direction,
const uint_t  order 
)
inline

◆ setOrder() [2/2]

template<typename PdeField >
void walberla::pde::NeumannDomainBoundary< PdeField >::setOrder ( const uint_t  order)
inline

◆ setValue() [1/2]

template<typename PdeField >
void walberla::pde::NeumannDomainBoundary< PdeField >::setValue ( const real_t  value)
inline

◆ setValue() [2/2]

template<typename PdeField >
void walberla::pde::NeumannDomainBoundary< PdeField >::setValue ( const stencil::Direction direction,
const real_t  value 
)
inline

Member Data Documentation

◆ blocks_

template<typename PdeField >
StructuredBlockStorage& walberla::pde::NeumannDomainBoundary< PdeField >::blocks_
protected

◆ dx_

template<typename PdeField >
real_t walberla::pde::NeumannDomainBoundary< PdeField >::dx_[stencil::D3Q6::Size]
protected

◆ fieldId_

template<typename PdeField >
BlockDataID walberla::pde::NeumannDomainBoundary< PdeField >::fieldId_
protected

◆ includeBoundary_

template<typename PdeField >
bool walberla::pde::NeumannDomainBoundary< PdeField >::includeBoundary_[stencil::D3Q6::Size]
protected

◆ order_

template<typename PdeField >
uint_t walberla::pde::NeumannDomainBoundary< PdeField >::order_[stencil::D3Q6::Size]
protected

◆ value_

template<typename PdeField >
real_t walberla::pde::NeumannDomainBoundary< PdeField >::value_[stencil::D3Q6::Size]
protected

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