OPAL (Object Oriented Parallel Accelerator Library) 2024.2
OPAL
BCond.h File Reference
#include "Utility/IpplInfo.h"
#include "Utility/RefCounted.h"
#include "Utility/vmap.h"
#include <iostream>
#include <complex>
#include "Field/BCond.hpp"
Include dependency graph for BCond.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  ApplyToComponentType< T >
struct  ApplyToComponentType< Vektor< T, D > >
struct  ApplyToComponentType< Tenzor< T, D > >
struct  ApplyToComponentType< SymTenzor< T, D > >
struct  ApplyToComponentType< AntiSymTenzor< T, D > >
class  scalar_tag
class  vektor_tag
class  tenzor_tag
class  symtenzor_tag
class  antisymtenzor_tag
class  BCondBase< T, D, M, C >
class  BConds< T, D, M, C >
class  BCondNoAction< T, D, M, C >
class  PeriodicFace< T, D, M, C >
class  InterpolationFace< T, D, M, C >
class  ParallelPeriodicFace< T, D, M, C >
class  ParallelInterpolationFace< T, D, M, C >
class  ExtrapolateFace< T, D, M, C >
class  ExtrapolateAndZeroFace< T, D, M, C >
class  PosReflectFace< T, D, M, C >
class  NegReflectFace< T, D, M, C >
class  NegReflectAndZeroFace< T, D, M, C >
class  ConstantFace< T, D, M, C >
class  ZeroFace< T, D, M, C >
class  ZeroGuardsAndZeroFace< T, D, M, C >
class  FunctionFace< T, D, M, C >
class  ComponentFunctionFace< T, D, M, C >
class  EurekaFace< T, D, M, C >
class  LinearExtrapolateFace< T, D, M, C >
class  ComponentLinearExtrapolateFace< T, D, M, C >
class  PatchBC< T, D, M, C >

Enumerations

enum  TensorOrder_e {
  IPPL_SCALAR =0 , IPPL_VECTOR =1 , IPPL_TENSOR =2 , IPPL_SYMTENSOR =3 ,
  IPPL_ANTISYMTENSOR =4
}

Functions

template<class T, unsigned D, class M, class C>
std::ostream & operator<< (std::ostream &, const BCondBase< T, D, M, C > &)
template<class T, unsigned D, class M, class C>
std::ostream & operator<< (std::ostream &, const BConds< T, D, M, C > &)
scalar_tag get_tag (std::complex< double >)
scalar_tag get_tag (double)
scalar_tag get_tag (float)
scalar_tag get_tag (int)
scalar_tag get_tag (bool)
scalar_tag get_tag (short)
template<class T, unsigned D>
vektor_tag get_tag (Vektor< T, D >)
template<class T, unsigned D>
tenzor_tag get_tag (Tenzor< T, D >)
template<class T, unsigned D>
antisymtenzor_tag get_tag (AntiSymTenzor< T, D >)
template<class T, unsigned D>
symtenzor_tag get_tag (SymTenzor< T, D >)
TensorOrder_e getTensorOrder (const scalar_tag &)
TensorOrder_e getTensorOrder (const vektor_tag &)
TensorOrder_e getTensorOrder (const tenzor_tag &)
TensorOrder_e getTensorOrder (const antisymtenzor_tag &)
TensorOrder_e getTensorOrder (const symtenzor_tag &)

Class Documentation

◆ ApplyToComponentType

struct ApplyToComponentType
template<class T>
struct ApplyToComponentType< T >

Definition at line 43 of file BCond.h.

Inheritance diagram for ApplyToComponentType< T >:
Collaboration diagram for ApplyToComponentType< T >:
Class Members
typedef T type

◆ ApplyToComponentType< Vektor< T, D > >

struct ApplyToComponentType< Vektor< T, D > >
template<class T, unsigned D>
struct ApplyToComponentType< Vektor< T, D > >

Definition at line 52 of file BCond.h.

Inheritance diagram for ApplyToComponentType< Vektor< T, D > >:
Collaboration diagram for ApplyToComponentType< Vektor< T, D > >:
Class Members
typedef T type

◆ ApplyToComponentType< Tenzor< T, D > >

struct ApplyToComponentType< Tenzor< T, D > >
template<class T, unsigned D>
struct ApplyToComponentType< Tenzor< T, D > >

Definition at line 58 of file BCond.h.

Inheritance diagram for ApplyToComponentType< Tenzor< T, D > >:
Collaboration diagram for ApplyToComponentType< Tenzor< T, D > >:
Class Members
typedef T type

◆ ApplyToComponentType< SymTenzor< T, D > >

struct ApplyToComponentType< SymTenzor< T, D > >
template<class T, unsigned D>
struct ApplyToComponentType< SymTenzor< T, D > >

Definition at line 64 of file BCond.h.

Inheritance diagram for ApplyToComponentType< SymTenzor< T, D > >:
Collaboration diagram for ApplyToComponentType< SymTenzor< T, D > >:
Class Members
typedef T type

◆ ApplyToComponentType< AntiSymTenzor< T, D > >

struct ApplyToComponentType< AntiSymTenzor< T, D > >
template<class T, unsigned D>
struct ApplyToComponentType< AntiSymTenzor< T, D > >

Definition at line 70 of file BCond.h.

Inheritance diagram for ApplyToComponentType< AntiSymTenzor< T, D > >:
Collaboration diagram for ApplyToComponentType< AntiSymTenzor< T, D > >:
Class Members
typedef T type

◆ scalar_tag

class scalar_tag

Definition at line 79 of file BCond.h.

Collaboration diagram for scalar_tag:

◆ vektor_tag

class vektor_tag

Definition at line 83 of file BCond.h.

Collaboration diagram for vektor_tag:

◆ tenzor_tag

class tenzor_tag

Definition at line 87 of file BCond.h.

Collaboration diagram for tenzor_tag:

◆ symtenzor_tag

class symtenzor_tag

Definition at line 91 of file BCond.h.

Collaboration diagram for symtenzor_tag:

◆ antisymtenzor_tag

class antisymtenzor_tag

Definition at line 95 of file BCond.h.

Collaboration diagram for antisymtenzor_tag:

Enumeration Type Documentation

◆ TensorOrder_e

Enumerator
IPPL_SCALAR 
IPPL_VECTOR 
IPPL_TENSOR 
IPPL_SYMTENSOR 
IPPL_ANTISYMTENSOR 

Definition at line 131 of file BCond.h.

Function Documentation

◆ get_tag() [1/10]

template<class T, unsigned D>
antisymtenzor_tag get_tag ( AntiSymTenzor< T, D > )
inline

Definition at line 120 of file BCond.h.

◆ get_tag() [2/10]

scalar_tag get_tag ( bool )
inline

Definition at line 104 of file BCond.h.

◆ get_tag() [3/10]

scalar_tag get_tag ( double )
inline

Definition at line 101 of file BCond.h.

◆ get_tag() [4/10]

scalar_tag get_tag ( float )
inline

Definition at line 102 of file BCond.h.

◆ get_tag() [5/10]

scalar_tag get_tag ( int )
inline

Definition at line 103 of file BCond.h.

◆ get_tag() [6/10]

scalar_tag get_tag ( short )
inline

Definition at line 105 of file BCond.h.

◆ get_tag() [7/10]

scalar_tag get_tag ( std::complex< double > )
inline

Definition at line 100 of file BCond.h.

Referenced by BCondBase< T, D, M, C >::BCondBase().

◆ get_tag() [8/10]

template<class T, unsigned D>
symtenzor_tag get_tag ( SymTenzor< T, D > )
inline

Definition at line 125 of file BCond.h.

◆ get_tag() [9/10]

template<class T, unsigned D>
tenzor_tag get_tag ( Tenzor< T, D > )
inline

Definition at line 115 of file BCond.h.

◆ get_tag() [10/10]

template<class T, unsigned D>
vektor_tag get_tag ( Vektor< T, D > )
inline

Definition at line 110 of file BCond.h.

◆ getTensorOrder() [1/5]

TensorOrder_e getTensorOrder ( const antisymtenzor_tag & )
inline

Definition at line 139 of file BCond.h.

References IPPL_ANTISYMTENSOR.

◆ getTensorOrder() [2/5]

TensorOrder_e getTensorOrder ( const scalar_tag & )
inline

Definition at line 133 of file BCond.h.

References IPPL_SCALAR.

Referenced by BCondBase< T, D, M, C >::BCondBase().

◆ getTensorOrder() [3/5]

TensorOrder_e getTensorOrder ( const symtenzor_tag & )
inline

Definition at line 141 of file BCond.h.

References IPPL_SYMTENSOR.

◆ getTensorOrder() [4/5]

TensorOrder_e getTensorOrder ( const tenzor_tag & )
inline

Definition at line 137 of file BCond.h.

References IPPL_TENSOR.

◆ getTensorOrder() [5/5]

TensorOrder_e getTensorOrder ( const vektor_tag & )
inline

Definition at line 135 of file BCond.h.

References IPPL_VECTOR.

◆ operator<<() [1/2]

template<class T, unsigned D, class M, class C>
std::ostream & operator<< ( std::ostream & o,
const BCondBase< T, D, M, C > & bc )
inline

Definition at line 876 of file BCond.h.

References BCondBase< T, D, M, C >::write().

Here is the call graph for this function:

◆ operator<<() [2/2]

template<class T, unsigned D, class M, class C>
std::ostream & operator<< ( std::ostream & o,
const BConds< T, D, M, C > & bc )
inline

Definition at line 885 of file BCond.h.

References BConds< T, D, M, C >::write().

Here is the call graph for this function: