Chombo + EB + MF  3.2
Public Types | Public Member Functions | Protected Member Functions | Static Protected Member Functions | Private Member Functions | List of all members
NormalDerivativeNew< dim > Class Template Reference

This computes the derivatives of the normal of a sliced implicit function. More...

#include <NormalDerivativeNew.H>

Public Types

typedef IndexTM< int, dimIvDim
 
typedef IndexTM< Real, dimRvDim
 
typedef map< IvDim, Real, LexLT< IvDim > > ScalarPowerMap
 
typedef map< IvDim, RvDim, LexLT< IvDim > > NormalDerivativeMap
 

Public Member Functions

 NormalDerivativeNew ()
 Null constructor. More...
 
virtual ~NormalDerivativeNew ()
 Destructor. More...
 
Real normal (const int &a_direction, const RvDim &a_point, const IFSlicer< dim > *a_implicitFunction) const
 Evaluate the normal of a BaseIF subclass. More...
 
NormalDerivativeMap calculateAll (const int &a_maxP, const RvDim &a_point, const IFSlicer< dim > *a_implicitFunction)
 Evaluate all derivatives of the normal of an IFSlicer class. More...
 

Protected Member Functions

void calculatePhiDerivs (ScalarPowerMap &a_phiDerivs, const RvDim &a_point, const IFSlicer< dim > *a_implicitFunction, const int &a_maxPartial)
 
void addLDeriv (ScalarPowerMap &a_lDerivs, ScalarPowerMap &a_phiDerivs, NormalDerivativeMap &a_nDerivs, const IvDim &a_deriv)
 
void addNDeriv (NormalDerivativeMap &a_nDerivs, ScalarPowerMap &a_phiDerivs, ScalarPowerMap &a_lDerivs, const IvDim &a_deriv)
 

Static Protected Member Functions

static int nChoosek (const IvDim &a_n, const IvDim &a_k)
 

Private Member Functions

 NormalDerivativeNew (const NormalDerivativeNew &a_input)
 
void operator= (const NormalDerivativeNew &a_input)
 

Detailed Description

template<int dim>
class NormalDerivativeNew< dim >

This computes the derivatives of the normal of a sliced implicit function.

This computes the derivatives of the normal of a sliced implicit function

Member Typedef Documentation

◆ IvDim

template<int dim>
typedef IndexTM<int,dim> NormalDerivativeNew< dim >::IvDim

◆ RvDim

template<int dim>
typedef IndexTM<Real,dim> NormalDerivativeNew< dim >::RvDim

◆ ScalarPowerMap

template<int dim>
typedef map<IvDim,Real,LexLT<IvDim> > NormalDerivativeNew< dim >::ScalarPowerMap

◆ NormalDerivativeMap

template<int dim>
typedef map<IvDim,RvDim,LexLT<IvDim> > NormalDerivativeNew< dim >::NormalDerivativeMap

Constructor & Destructor Documentation

◆ NormalDerivativeNew() [1/2]

template<int dim>
NormalDerivativeNew< dim >::NormalDerivativeNew ( )

Null constructor.

Null constructor

◆ ~NormalDerivativeNew()

template<int dim>
NormalDerivativeNew< dim >::~NormalDerivativeNew ( )
virtual

Destructor.

Destructor

◆ NormalDerivativeNew() [2/2]

template<int dim>
NormalDerivativeNew< dim >::NormalDerivativeNew ( const NormalDerivativeNew< dim > &  a_input)
inlineprivate

References MayDay::Abort().

Member Function Documentation

◆ normal()

template<int dim>
Real NormalDerivativeNew< dim >::normal ( const int &  a_direction,
const RvDim a_point,
const IFSlicer< dim > *  a_implicitFunction 
) const
inline

Evaluate the normal of a BaseIF subclass.

Evaluate the normal. a_direction specifies which component of the normal use, a_point is the point in space to evaluate the derivative, and a_ifSlicer is a sliced function whose gradient is the normal.

References dim.

◆ calculateAll()

template<int dim>
NormalDerivativeMap NormalDerivativeNew< dim >::calculateAll ( const int &  a_maxP,
const RvDim a_point,
const IFSlicer< dim > *  a_implicitFunction 
)
inline

Evaluate all derivatives of the normal of an IFSlicer class.

Evaluate all derivatives of the normal, a_maxP specifies the max sum of derivatives to take in any coordinate direction, a_point is the point in space to evaluate the derivatives, and a_ifSlicer is a sliced function whose gradient is the normal.

References NormalDerivativeNew< dim >::addLDeriv(), NormalDerivativeNew< dim >::addNDeriv(), BoxIterator::begin(), NormalDerivativeNew< dim >::calculatePhiDerivs(), dim, BoxIterator::ok(), IndexTM< T, N >::sum(), IntVect::Unit, IndexTM< Real, dim >::Zero, and IntVect::Zero.

Referenced by IFData< dim >::setNormalDerivatives().

◆ calculatePhiDerivs()

template<int dim>
void NormalDerivativeNew< dim >::calculatePhiDerivs ( ScalarPowerMap a_phiDerivs,
const RvDim a_point,
const IFSlicer< dim > *  a_implicitFunction,
const int &  a_maxPartial 
)
inlineprotected

◆ addLDeriv()

template<int dim>
void NormalDerivativeNew< dim >::addLDeriv ( ScalarPowerMap a_lDerivs,
ScalarPowerMap a_phiDerivs,
NormalDerivativeMap a_nDerivs,
const IvDim a_deriv 
)
inlineprotected

◆ addNDeriv()

template<int dim>
void NormalDerivativeNew< dim >::addNDeriv ( NormalDerivativeMap a_nDerivs,
ScalarPowerMap a_phiDerivs,
ScalarPowerMap a_lDerivs,
const IvDim a_deriv 
)
inlineprotected

◆ nChoosek()

template<int dim>
static int NormalDerivativeNew< dim >::nChoosek ( const IvDim a_n,
const IvDim a_k 
)
inlinestaticprotected

◆ operator=()

template<int dim>
void NormalDerivativeNew< dim >::operator= ( const NormalDerivativeNew< dim > &  a_input)
inlineprivate

References MayDay::Abort().


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