Home | Doxygen Documentation | Tutorials | Developer Tools (restricted)

Public Member Functions | Protected Member Functions | Protected Attributes
concepts::TMatrixBase< F > Class Template Reference

An abstract class for a T matrix. More...

#include <tmatrix.hh>

Inheritance diagram for concepts::TMatrixBase< F >:
Inheritance graph
[legend]
Collaboration diagram for concepts::TMatrixBase< F >:
Collaboration graph
[legend]

List of all members.

Public Member Functions

virtual void extract (const concepts::Vector< F > &solution, concepts::Array< F > &coeff) const =0
 Extracts the part of solution belonging to this T matrix into coeff.
virtual void extract (const concepts::Vector< std::complex< F > > &solution, concepts::Array< std::complex< F > > &coeff) const =0
virtual uint index (const uint i) const =0
 Maps the local index i to the global index.
uint m () const
 Returns the number of rows.
uint n () const
 Returns the number of columns.
virtual void operator() (const ElementMatrix< F > &A, ElementMatrix< F > &B) const =0
 Application operator.
virtual void operator() (const ElementMatrix< std::complex< F > > &A, ElementMatrix< std::complex< F > > &B) const =0
void setM (uint m)
 TMatrixBase (const uint n)
 Constructor.
virtual void usedIdx (TColumn< bool > &c) const =0
 Marks the used local indices in c with true, the indices which are set to false.
virtual ~TMatrixBase ()

Protected Member Functions

virtual std::ostream & info (std::ostream &os) const
 Returns information in an output stream.

Protected Attributes

uint m_
 Number of rows.
uint n_
 Number of columns.

Detailed Description

template<class F>
class concepts::TMatrixBase< F >

An abstract class for a T matrix.

A T matrix describes the mapping of local degrees of freedom to global degrees of freedom.

A T matrix describes how the local shape functions are glued together to form to global (continuous) shape functions. It contains the informatin how an element matrix is assembled into the global matrix. It is defined as follows:
Let $m_K$ be the number of local shape functions $\{\phi_j^K\}_{j=1}^{m_K}$ in the element $K$ and $N$ the number of global basis functions $\{\Phi_i\}_{i=1}^N$. The T matrix $T_K \in R^{m_K \times N}$ of the element $K$ describes how the restriction of the global basis functions $\{\Phi_i\}_{i=1}^N$ onto the element $K$ are constructed from the local shape functions:

\[ \Phi_i|_{K} = \sum_{j=1}^{m_K} [T_K]_{ji} \phi_j^K \]

and in vector notation: $\vec \Phi|_{K} = T_K^\top \vec \phi^K$.

Definition at line 340 of file tmatrix.hh.


Constructor & Destructor Documentation

template<class F>
concepts::TMatrixBase< F >::TMatrixBase ( const uint  n)

Constructor.

Sets the number of rows to zero.

Parameters:
nNumber of columns
template<class F>
virtual concepts::TMatrixBase< F >::~TMatrixBase ( ) [virtual]

Member Function Documentation

template<class F>
virtual void concepts::TMatrixBase< F >::extract ( const concepts::Vector< F > &  solution,
concepts::Array< F > &  coeff 
) const [pure virtual]

Extracts the part of solution belonging to this T matrix into coeff.

coeff is resized and zeroed before filling it with the coefficients.

Parameters:
solutionVector in the global space (input)
coeffLocal coefficients of this T matrix (output)

Implemented in concepts::TIndex< F >, concepts::TMatrix< F >, vectorial::TMatrixOffset< F >, vectorial::TMatrix< F >, concepts::TMatrix< Real >, and vectorial::TMatrix< Real >.

template<class F>
virtual void concepts::TMatrixBase< F >::extract ( const concepts::Vector< std::complex< F > > &  solution,
concepts::Array< std::complex< F > > &  coeff 
) const [pure virtual]
template<class F>
virtual uint concepts::TMatrixBase< F >::index ( const uint  i) const [pure virtual]

Maps the local index i to the global index.

Implemented in concepts::TIndex< F >, concepts::TMatrix< F >, and concepts::TMatrix< Real >.

template<class F>
virtual std::ostream& concepts::TMatrixBase< F >::info ( std::ostream &  os) const [protected, virtual]
template<class F>
uint concepts::TMatrixBase< F >::m ( ) const [inline]

Returns the number of rows.

Reimplemented in vectorial::TMatrixOffset< F >, and vectorial::TMatrixOffset< Real >.

Definition at line 374 of file tmatrix.hh.

template<class F>
uint concepts::TMatrixBase< F >::n ( ) const [inline]

Returns the number of columns.

Reimplemented in vectorial::TMatrixOffset< F >, and vectorial::TMatrixOffset< Real >.

Definition at line 379 of file tmatrix.hh.

template<class F>
virtual void concepts::TMatrixBase< F >::operator() ( const ElementMatrix< std::complex< F > > &  A,
ElementMatrix< std::complex< F > > &  B 
) const [pure virtual]
template<class F>
virtual void concepts::TMatrixBase< F >::operator() ( const ElementMatrix< F > &  A,
ElementMatrix< F > &  B 
) const [pure virtual]

Application operator.

Computes the application of the T matrix on A and returns B: $B = A \cdot T$. Typical usage: assembling the element matrices. The element matrix A is transformed using

\[((AT)^\top \cdot T)^\top = T^\top A T\]

and then simply added entry by entry into the global matrix. This is the case for element matrices which have the same "left" and "right" T matrix. Otherwise, this looks like

\[((A T_y)^\top \cdot T_x)^\top = T_x^\top A T_y.\]

Parameters:
AElement matrix
BResult

Implemented in concepts::TIndex< F >, concepts::TMatrix< F >, vectorial::TMatrixOffset< F >, vectorial::TMatrix< F >, concepts::TMatrix< Real >, and vectorial::TMatrix< Real >.

template<class F>
void concepts::TMatrixBase< F >::setM ( uint  m) [inline]

Definition at line 376 of file tmatrix.hh.

template<class F>
virtual void concepts::TMatrixBase< F >::usedIdx ( TColumn< bool > &  c) const [pure virtual]

Marks the used local indices in c with true, the indices which are set to false.

Precondition:
c has the correct size

Implemented in concepts::TIndex< F >, concepts::TMatrix< F >, vectorial::TMatrixOffset< F >, vectorial::TMatrix< F >, concepts::TMatrix< Real >, vectorial::TMatrixOffset< Real >, and vectorial::TMatrix< Real >.


Member Data Documentation

template<class F>
uint concepts::TMatrixBase< F >::m_ [protected]

Number of rows.

Definition at line 405 of file tmatrix.hh.

template<class F>
uint concepts::TMatrixBase< F >::n_ [protected]

Number of columns.

Definition at line 403 of file tmatrix.hh.


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

Home | Doxygen Documentation | Tutorials | Developer Tools (restricted)