waLBerla 7.2
Loading...
Searching...
No Matches
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_
 
std::array< bool, stencil::D3Q6::Size > includeBoundary_
 
std::array< uint_t, stencil::D3Q6::Size > order_
 
std::array< real_t, stencil::D3Q6::Size > value_
 
std::array< real_t, stencil::D3Q6::Size > dx_
 

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 >
std::array<real_t, stencil::D3Q6::Size> walberla::pde::NeumannDomainBoundary< PdeField >::dx_
protected

◆ fieldId_

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

◆ includeBoundary_

template<typename PdeField >
std::array<bool, stencil::D3Q6::Size> walberla::pde::NeumannDomainBoundary< PdeField >::includeBoundary_
protected

◆ order_

template<typename PdeField >
std::array<uint_t, stencil::D3Q6::Size> walberla::pde::NeumannDomainBoundary< PdeField >::order_
protected

◆ value_

template<typename PdeField >
std::array<real_t, stencil::D3Q6::Size> walberla::pde::NeumannDomainBoundary< PdeField >::value_
protected

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