OPAL (Object Oriented Parallel Accelerator Library)  2021.1.99
OPAL
Public Member Functions | Protected Attributes | Static Protected Attributes | List of all members
TransportMap< T, N > Class Template Reference

Transport map with values of type [b]T[/b] in [b]N[/b] variables. More...

#include <TransportMap.h>

Public Member Functions

 TransportMap ()
 Default constructor. More...
 
 TransportMap (const FVps< T, N > &rhs)
 Convert. More...
 
 TransportMap (const FMatrix< T, N, N > &M)
 Convert from matrix. More...
 
 TransportMap (const FVector< T, N > &V)
 Convert from vector. More...
 
const TransportFun< T, N > & getComponent (int n) const
 Get component. More...
 
void setComponent (int, const TransportFun< T, N > &)
 Set component. More...
 
TransportFun< T, N > & operator[] (int)
 Get component. More...
 
const TransportFun< T, N > & operator[] (int) const
 Get Component. More...
 
TransportMap operator+ () const
 Unary plus. More...
 
TransportMap operator- () const
 Unary minus. More...
 
TransportMapoperator*= (const TransportFun< T, N > &rhs)
 Multiply and assign. More...
 
TransportMapoperator/= (const TransportFun< T, N > &rhs)
 Divide and assign. More...
 
TransportMapoperator*= (const T &rhs)
 Multiply and assign. More...
 
TransportMapoperator/= (const T &rhs)
 Divide and assign. More...
 
TransportMapoperator+= (const TransportMap &rhs)
 Add. More...
 
TransportMapoperator-= (const TransportMap &rhs)
 Subtract. More...
 
TransportMapoperator+= (const FVector< T, N > &)
 Add and assign. More...
 
TransportMapoperator-= (const FVector< T, N > &)
 Subtract and assign. More...
 
TransportMap inverse () const
 Inverse. More...
 
void identity ()
 Set to identity. More...
 
FVector< T, N > constantTerm (const FVector< T, N > &P) const
 Evaluate map at point [b]P[/b]. More...
 
FVector< T, N > constantTerm () const
 
FMatrix< T, N, N > linearTerms () const
 Extract Transport terms at origin. More...
 
TransportMap substitute (const FMatrix< T, N, N > &rhs) const
 Substitute matrix into map. More...
 
TransportMap substitute (const TransportMap &rhs) const
 Substitute map into map. More...
 
TransportMap substituteInto (const FMatrix< T, N, N > &lhs) const
 Substitute map into matrix. More...
 

Protected Attributes

TransportFun< T, N > data [N]
 

Static Protected Attributes

static const int SIZE = (N + 1) *(N + 2) / 2
 Size of a component. More...
 

Detailed Description

template<class T, int N>
class TransportMap< T, N >

Transport map with values of type [b]T[/b] in [b]N[/b] variables.

Definition at line 39 of file TransportMap.h.

Constructor & Destructor Documentation

◆ TransportMap() [1/4]

template<class T , int N>
TransportMap< T, N >::TransportMap

Default constructor.

Definition at line 42 of file TransportMap.hpp.

◆ TransportMap() [2/4]

template<class T , int N>
TransportMap< T, N >::TransportMap ( const FVps< T, N > &  rhs)
explicit

Convert.

Definition at line 48 of file TransportMap.hpp.

References min(), and SIZE.

Here is the call graph for this function:

◆ TransportMap() [3/4]

template<class T , int N>
TransportMap< T, N >::TransportMap ( const FMatrix< T, N, N > &  M)
explicit

Convert from matrix.

Definition at line 57 of file TransportMap.hpp.

◆ TransportMap() [4/4]

template<class T , int N>
TransportMap< T, N >::TransportMap ( const FVector< T, N > &  V)
explicit

Convert from vector.

Definition at line 65 of file TransportMap.hpp.

Member Function Documentation

◆ constantTerm() [1/2]

template<class T , int N>
FVector< T, N > TransportMap< T, N >::constantTerm

Evaluate map at origin. This is equivalent to extracting constant part.

Definition at line 227 of file TransportMap.hpp.

◆ constantTerm() [2/2]

template<class T , int N>
FVector< T, N > TransportMap< T, N >::constantTerm ( const FVector< T, N > &  P) const

Evaluate map at point [b]P[/b].

Definition at line 215 of file TransportMap.hpp.

◆ getComponent()

template<class T , int N>
const TransportFun< T, N > & TransportMap< T, N >::getComponent ( int  n) const

Get component.

Definition at line 71 of file TransportMap.hpp.

◆ identity()

template<class T , int N>
void TransportMap< T, N >::identity

Set to identity.

Definition at line 209 of file TransportMap.hpp.

◆ inverse()

template<class T , int N>
TransportMap< T, N > TransportMap< T, N >::inverse

Inverse.

Definition at line 173 of file TransportMap.hpp.

References FLUMatrix< T, N >::inverse(), SIZE, and TransportMap< T, N >::substitute().

Here is the call graph for this function:

◆ linearTerms()

template<class T , int N>
FMatrix< T, N, N > TransportMap< T, N >::linearTerms

Extract Transport terms at origin.

Definition at line 239 of file TransportMap.hpp.

◆ operator*=() [1/2]

template<class T , int N>
TransportMap< T, N > & TransportMap< T, N >::operator*= ( const T &  rhs)

Multiply and assign.

Definition at line 131 of file TransportMap.hpp.

◆ operator*=() [2/2]

template<class T , int N>
TransportMap< T, N > & TransportMap< T, N >::operator*= ( const TransportFun< T, N > &  rhs)

Multiply and assign.

Definition at line 116 of file TransportMap.hpp.

◆ operator+()

template<class T , int N>
TransportMap< T, N > TransportMap< T, N >::operator+

Unary plus.

Definition at line 102 of file TransportMap.hpp.

◆ operator+=() [1/2]

template<class T , int N>
TransportMap< T, N > & TransportMap< T, N >::operator+= ( const FVector< T, N > &  rhs)

Add and assign.

Definition at line 159 of file TransportMap.hpp.

◆ operator+=() [2/2]

template<class T , int N>
TransportMap< T, N > & TransportMap< T, N >::operator+= ( const TransportMap< T, N > &  rhs)

Add.

Definition at line 145 of file TransportMap.hpp.

◆ operator-()

template<class T , int N>
TransportMap< T, N > TransportMap< T, N >::operator-

Unary minus.

Definition at line 108 of file TransportMap.hpp.

◆ operator-=() [1/2]

template<class T , int N>
TransportMap< T, N > & TransportMap< T, N >::operator-= ( const FVector< T, N > &  rhs)

Subtract and assign.

Definition at line 166 of file TransportMap.hpp.

◆ operator-=() [2/2]

template<class T , int N>
TransportMap< T, N > & TransportMap< T, N >::operator-= ( const TransportMap< T, N > &  rhs)

Subtract.

Definition at line 152 of file TransportMap.hpp.

◆ operator/=() [1/2]

template<class T , int N>
TransportMap< T, N > & TransportMap< T, N >::operator/= ( const T &  rhs)

Divide and assign.

Definition at line 138 of file TransportMap.hpp.

◆ operator/=() [2/2]

template<class T , int N>
TransportMap< T, N > & TransportMap< T, N >::operator/= ( const TransportFun< T, N > &  rhs)

Divide and assign.

Definition at line 123 of file TransportMap.hpp.

References TransportFun< T, N >::inverse().

Here is the call graph for this function:

◆ operator[]() [1/2]

template<class T , int N>
TransportFun< T, N > & TransportMap< T, N >::operator[] ( int  index)
inline

Get component.

Definition at line 91 of file TransportMap.hpp.

◆ operator[]() [2/2]

template<class T , int N>
const TransportFun< T, N > & TransportMap< T, N >::operator[] ( int  index) const
inline

Get Component.

Definition at line 96 of file TransportMap.hpp.

◆ setComponent()

template<class T , int N>
void TransportMap< T, N >::setComponent ( int  index,
const TransportFun< T, N > &  value 
)

Set component.

Definition at line 81 of file TransportMap.hpp.

◆ substitute() [1/2]

template<class T , int N>
TransportMap< T, N > TransportMap< T, N >::substitute ( const FMatrix< T, N, N > &  rhs) const

Substitute matrix into map.

Definition at line 287 of file TransportMap.hpp.

Referenced by TransportMap< T, N >::inverse().

◆ substitute() [2/2]

template<class T , int N>
TransportMap< T, N > TransportMap< T, N >::substitute ( const TransportMap< T, N > &  rhs) const

Substitute map into map.

Definition at line 253 of file TransportMap.hpp.

References TransportMap< T, N >::data, and Hypervolume::n.

◆ substituteInto()

template<class T , int N>
TransportMap< T, N > TransportMap< T, N >::substituteInto ( const FMatrix< T, N, N > &  lhs) const

Substitute map into matrix.

Definition at line 294 of file TransportMap.hpp.

Referenced by operator*().

Member Data Documentation

◆ data

template<class T , int N>
TransportFun<T, N> TransportMap< T, N >::data[N]
protected

Definition at line 144 of file TransportMap.h.

Referenced by TransportMap< T, N >::substitute().

◆ SIZE

template<class T , int N>
const int TransportMap< T, N >::SIZE = (N + 1) *(N + 2) / 2
staticprotected

Size of a component.

Definition at line 141 of file TransportMap.h.


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