T matrix for linear and regular elements. More...

#include <tmatrix.hh>

Inheritance diagram for concepts::TIndex< F >:
concepts::TMatrixBase< F >

Public Member Functions

virtual void extract (const concepts::Vector< F > &solution, concepts::Array< F > &coeff) const
 Extracts the part of solution belonging to this T matrix into coeff. More...
 
virtual void extract (const concepts::Vector<::std::complex< F > > &solution, concepts::Array<::std::complex< F > > &coeff) const
 
uint index (const uint i) const
 Returns the number of the global degree of freedom assigned to the ith local degree of freedom. More...
 
uint m () const
 Returns the number of rows. More...
 
uint n () const
 Returns the number of columns. More...
 
void operator() (const ElementMatrix< F > &A, ElementMatrix< F > &B) const
 Application operator. More...
 
void operator() (const ElementMatrix<::std::complex< F > > &A, ElementMatrix<::std::complex< F > > &B) const
 
void setM (uint m)
 
 TIndex (const uint m, const uint n, const Array< uint > &idx)
 Constructor. More...
 
 TIndex (const uint m, const uint n, uint idx[])
 Constructor. More...
 
virtual void usedIdx (TColumn< bool > &c) const
 The entries in c are true iff the corresponding local dof in any Column of this Matrix is non-zero, i.e. More...
 
virtual ~TIndex ()
 

Protected Member Functions

virtual ::std::ostream & info (::std::ostream &os) const
 

Protected Attributes

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

Private Attributes

Array< uint > idx_
 

Detailed Description

template<class F>
class concepts::TIndex< F >

T matrix for linear and regular elements.

Definition at line 428 of file tmatrix.hh.

Constructor & Destructor Documentation

◆ TIndex() [1/2]

template<class F >
concepts::TIndex< F >::TIndex ( const uint  m,
const uint  n,
uint  idx[] 
)

Constructor.

Parameters
mNumber of rows
nNumber of columns
idxMap from the local degrees of freedom to the global ones

◆ TIndex() [2/2]

template<class F >
concepts::TIndex< F >::TIndex ( const uint  m,
const uint  n,
const Array< uint > &  idx 
)

Constructor.

Parameters
mNumber of rows
nNumber of columns
idxMap from the local degrees of freedom to the global ones

◆ ~TIndex()

template<class F >
virtual concepts::TIndex< F >::~TIndex ( )
virtual

Member Function Documentation

◆ extract() [1/2]

template<class F >
virtual void concepts::TIndex< F >::extract ( const concepts::Vector< F > &  solution,
concepts::Array< F > &  coeff 
) const
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)

Implements concepts::TMatrixBase< F >.

◆ extract() [2/2]

template<class F >
virtual void concepts::TIndex< F >::extract ( const concepts::Vector<::std::complex< F > > &  solution,
concepts::Array<::std::complex< F > > &  coeff 
) const
virtual

◆ index()

template<class F >
uint concepts::TIndex< F >::index ( const uint  i) const
inlinevirtual

Returns the number of the global degree of freedom assigned to the ith local degree of freedom.

Implements concepts::TMatrixBase< F >.

Definition at line 462 of file tmatrix.hh.

◆ info()

template<class F >
virtual ::std::ostream& concepts::TIndex< F >::info ( ::std::ostream &  os) const
protected

◆ 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()() [1/2]

template<class F >
void concepts::TIndex< F >::operator() ( const ElementMatrix< F > &  A,
ElementMatrix< F > &  B 
) const
virtual

Application operator.

Computes the application of the T matrix on A and returns B: $B = A \cdot T$. Here, B is a copy of A since the degrees of freedom are not reordered.

Parameters
AElement matrix
BResult

Implements concepts::TMatrixBase< F >.

◆ operator()() [2/2]

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

◆ 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 concepts::TIndex< F >::usedIdx ( TColumn< bool > &  c) const
virtual

The entries in c are true iff the corresponding local dof in any Column of this Matrix is non-zero, i.e.

used. FIXME: why use TColumn<bool> and not simply` Array<bool>?

Precondition
number of local degrees of freedom (ldof) of TMatrix, i.e. included TColumns, has to accord with ldof of c

Implements concepts::TMatrixBase< F >.

Member Data Documentation

◆ idx_

template<class F >
Array<uint> concepts::TIndex< F >::idx_
private

Definition at line 478 of file tmatrix.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.


The documentation for this class was generated from the following file:
Page URL: http://wiki.math.ethz.ch/bin/view/Concepts/WebHome
21 August 2020
© 2020 Eidgenössische Technische Hochschule Zürich