Class documentation of Concepts

Loading...
Searching...
No Matches
vectorial::TMatrix< F > Class Template Referenceabstract

#include <vectorial.hh>

Inheritance diagram for vectorial::TMatrix< F >:
concepts::TMatrixBase< F > vectorial::Vectorial< TMatrixOffset< F > > concepts::OutputOperator

Public Member Functions

 TMatrix (uint vdim, uint arrayWidth=0)
 
virtual void operator() (const concepts::ElementMatrix< F > &A, concepts::ElementMatrix< F > &B) const
 
virtual void operator() (const concepts::ElementMatrix< std::complex< F > > &A, concepts::ElementMatrix< std::complex< F > > &B) const
 
void put (const concepts::TMatrixBase< F > &T, const int dim)
 
virtual uint index (unsigned int i) const
 Maps the local index i to the global index.
 
virtual void usedIdx (concepts::TColumn< bool > &c) const
 
virtual void extract (const concepts::Vector< F > &solution, concepts::Array< F > &coeff) const
 
virtual void extract (const concepts::Vector< std::complex< F > > &solution, concepts::Array< std::complex< F > > &coeff) const
 
virtual void operator() (const ElementMatrix<::std::complex< F > > &A, ElementMatrix<::std::complex< F > > &B) const =0
 
virtual uint index (const uint i) const =0
 
uint m () const
 Returns the number of rows.
 
void setM (uint m)
 
uint n () const
 Returns the number of columns.
 
virtual void extract (const concepts::Vector<::std::complex< F > > &solution, concepts::Array<::std::complex< F > > &coeff) const =0
 
virtual void insert (TMatrixOffset< F > &vdata, const int a=0, const int b=0)
 Add a component.
 
virtual const TMatrixOffset< F > * get (const int a, const int b=0) const
 Get a component.
 
uint vdim () const
 Returns number of components.
 

Protected Member Functions

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

Protected Attributes

uint n_
 Number of columns.
 
uint m_
 Number of rows.
 
uint vdim_
 Number of components.
 
uint idx_
 Index of the last added component.
 
concepts::Array< TMatrixOffset< F > * > vdata_
 Storage.
 

Detailed Description

template<class F>
class vectorial::TMatrix< F >

Vector valued T matrix

Author
Kersten Schmidt, 2002

Definition at line 153 of file vectorial.hh.

Constructor & Destructor Documentation

◆ TMatrix()

template<class F >
vectorial::TMatrix< F >::TMatrix ( uint  vdim,
uint  arrayWidth = 0 
)
inline

Definition at line 156 of file vectorial.hh.

Member Function Documentation

◆ extract()

template<class F >
virtual void vectorial::TMatrix< F >::extract ( const concepts::Vector< F > &  solution,
concepts::Array< F > &  coeff 
) const
virtual

Extracts a part of solution according to this T matrix into coeff. The data in coeff are scalar: depending on the chosen component in Graphics, this routine extracts the right part from solution.

Parameters
solutionSolution vector
coeffExtracted coefficients in local numbering

Implements concepts::TMatrixBase< F >.

◆ get()

virtual const TMatrixOffset< F > * vectorial::Vectorial< TMatrixOffset< F > >::get ( const int  a,
const int  b = 0 
) const
inlinevirtualinherited

Get a component.

Definition at line 74 of file vectorial.hh.

◆ index()

template<class F >
virtual uint concepts::TMatrixBase< F >::index ( const uint  i) const
pure virtualinherited

◆ info()

template<class F >
virtual std::ostream & vectorial::TMatrix< F >::info ( std::ostream &  os) const
protectedvirtual

Returns information in an output stream.

Reimplemented from concepts::OutputOperator.

◆ insert()

void vectorial::Vectorial< TMatrixOffset< F > >::insert ( TMatrixOffset< F > &  vdata,
const int  a = 0,
const int  b = 0 
)
virtualinherited

Add a component.

Definition at line 72 of file vectorial.hh.

◆ m()

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

Returns the number of rows.

Definition at line 388 of file tmatrix.hh.

◆ n()

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

Returns the number of columns.

Definition at line 393 of file tmatrix.hh.

◆ operator()()

template<class F >
virtual void vectorial::TMatrix< F >::operator() ( const concepts::ElementMatrix< F > &  A,
concepts::ElementMatrix< F > &  B 
) const
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

Implements concepts::TMatrixBase< F >.

◆ put()

template<class F >
void vectorial::TMatrix< F >::put ( const concepts::TMatrixBase< F > &  T,
const int  dim 
)

Insert a T-Matrix T (of type TMatrixOffset) of one vectorial dimension to the v-dimensionial T-Matrix

Parameters
dimNumber of global degrees of freedom (size of the subspace)

◆ setM()

template<class F >
void concepts::TMatrixBase< F >::setM ( uint  m)
inlineinherited

Definition at line 390 of file tmatrix.hh.

◆ usedIdx()

template<class F >
virtual void vectorial::TMatrix< F >::usedIdx ( concepts::TColumn< bool > &  c) const
inlinevirtual

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

Precondition
c has the correct size

Implements concepts::TMatrixBase< F >.

Definition at line 180 of file vectorial.hh.

◆ vdim()

uint vectorial::Vectorial< TMatrixOffset< F > >::vdim ( ) const
inlineinherited

Returns number of components.

Definition at line 77 of file vectorial.hh.

Member Data Documentation

◆ idx_

uint vectorial::Vectorial< TMatrixOffset< F > >::idx_
protectedinherited

Index of the last added component.

Definition at line 82 of file vectorial.hh.

◆ m_

template<class F >
uint concepts::TMatrixBase< F >::m_
protectedinherited

Number of rows.

Definition at line 420 of file tmatrix.hh.

◆ n_

template<class F >
uint concepts::TMatrixBase< F >::n_
protectedinherited

Number of columns.

Definition at line 418 of file tmatrix.hh.

◆ vdata_

concepts::Array<TMatrixOffset< F > *> vectorial::Vectorial< TMatrixOffset< F > >::vdata_
mutableprotectedinherited

Storage.

Definition at line 84 of file vectorial.hh.

◆ vdim_

uint vectorial::Vectorial< TMatrixOffset< F > >::vdim_
protectedinherited

Number of components.

Definition at line 80 of file vectorial.hh.


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