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

Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes
concepts::TColumnBlock< F, dim > Class Template Reference

A column of a T matrix. More...

#include <tmatrix.hh>

Inheritance diagram for concepts::TColumnBlock< F, dim >:
Inheritance graph
[legend]
Collaboration diagram for concepts::TColumnBlock< F, dim >:
Collaboration graph
[legend]

List of all members.

Public Member Functions

void append (TColumn< F > *T)
 Appends a linked list of TColumns at the end.
void clear ()
 Deletes all member of the linked list.
virtual TColumnBlock< F, dim > * clone () const
 Returns a copy of itself.
uint index () const
 Returns the index of the column in a matrix.
uint ldof (uint *i) const
 Returns the number of local dof for ith entry in the column.
TColumn< F > * link () const
 Returns the pointer to the next column of the linked list.
const uint n (uint i) const
 Returns the range of the multiindex for one direction i.
const uint * n () const
 Returns the range of the multiindices as an array.
F & operator[] (uint *i)
 Returns the /c i th entry in the column. /c i an array of size dim.
operator[] (uint i) const
 Returns the ith entry in the column.
F & operator[] (uint i)
 Returns the ith entry in the column.
operator[] (uint *i) const
 Returns the ith entry in the column.
 TColumnBlock (const TColumnBlock< F, dim > &t, const uint *n)
 Transformation constructor to higher number of rows.
 TColumnBlock (const uint *n, const uint idx, TColumn< F > *lnk=0)
 Constructor.
 TColumnBlock (const TColumnBlock< F, dim > &t)
 Copy constructor The link to the next element in the linear list (lnk_) is not copied!
const F * values () const
 Returns the array of entries.
F * values ()
 Returns the array of entries.
void write (TColumnTensor< F, dim > &t, uint k)
 Copies data of T matrix in tensorised structure into block k.

Protected Member Functions

virtual std::ostream & info (std::ostream &os) const
 Returns information in an output stream.
uint successors_ () const
 number of successors

Protected Attributes

Array< F > val_
 The data of the column itself.

Private Member Functions

void recursiveOut_ (const int d, uint *n, ushort &position, std::ostream &os) const
 For output.

Private Attributes

uint n_ [dim *dim]
 Number of rows.

Detailed Description

template<class F, int dim>
class concepts::TColumnBlock< F, dim >

A column of a T matrix.

More than one T column are arranged in a linked list. These columns are inserted into the T matrix.

This T column can be used for 2 and 3 dimensional problems where the T column needs to have a block form (ie. for the application of an S matrix). Each block represents one vector component.

It is assumed that the T matrices have a multiindex.

The first /c dim indices are used for the tensorised shape functions. The range of the first indices could be different in the different blocks. E.g. that is used with edge elements (e.g. hp2Dedge::Quad).

The last index is used for the block structure. The number of blocks is equal to the dimension of elements /c dim.

I.e. the T matrix of tensorised shape functions in 2 dimensions has a threefold multiindex.

The appropiate S matrix is SMatrixBlock

See also:
TMatrixBase
SMatrixBase
Author:
Kersten Schmidt, 2004

Definition at line 207 of file tmatrix.hh.


Constructor & Destructor Documentation

template<class F, int dim>
concepts::TColumnBlock< F, dim >::TColumnBlock ( const uint *  n,
const uint  idx,
TColumn< F > *  lnk = 0 
)

Constructor.

Parameters:
nAn array of size (/c dim^2) with the range of the multiindices, e.g. /c dim=2, /c n = {2, 3, 3, 2} builds two blocks of with the particular ranges of the multiindex (0..1,0..2,0) and (0..2,0..1,1)
idxIndex of the column in a T matrix
lnkPointer to the next column (linked list)
template<class F, int dim>
concepts::TColumnBlock< F, dim >::TColumnBlock ( const TColumnBlock< F, dim > &  t)

Copy constructor The link to the next element in the linear list (lnk_) is not copied!

template<class F, int dim>
concepts::TColumnBlock< F, dim >::TColumnBlock ( const TColumnBlock< F, dim > &  t,
const uint *  n 
)

Transformation constructor to higher number of rows.


Member Function Documentation

template<class F>
void concepts::TColumn< F >::append ( TColumn< F > *  T) [inherited]

Appends a linked list of TColumns at the end.

template<class F>
void concepts::TColumn< F >::clear ( ) [inherited]

Deletes all member of the linked list.

template<class F, int dim>
virtual TColumnBlock<F, dim>* concepts::TColumnBlock< F, dim >::clone ( ) const [virtual]

Returns a copy of itself.

Reimplemented from concepts::TColumn< F >.

template<class F>
uint concepts::TColumn< F >::index ( ) const [inline, inherited]

Returns the index of the column in a matrix.

Definition at line 67 of file tmatrix.hh.

template<class F, int dim>
virtual std::ostream& concepts::TColumnBlock< F, dim >::info ( std::ostream &  os) const [protected, virtual]

Returns information in an output stream.

Reimplemented from concepts::TColumn< F >.

template<class F, int dim>
uint concepts::TColumnBlock< F, dim >::ldof ( uint *  i) const

Returns the number of local dof for ith entry in the column.

i is an array of size dim+1, the last entry is the block number

template<class F>
TColumn<F>* concepts::TColumn< F >::link ( ) const [inline, inherited]

Returns the pointer to the next column of the linked list.

Definition at line 70 of file tmatrix.hh.

template<class F, int dim>
const uint* concepts::TColumnBlock< F, dim >::n ( ) const [inline]

Returns the range of the multiindices as an array.

Reimplemented from concepts::TColumn< F >.

Definition at line 250 of file tmatrix.hh.

template<class F, int dim>
const uint concepts::TColumnBlock< F, dim >::n ( uint  i) const [inline]

Returns the range of the multiindex for one direction i.

Definition at line 252 of file tmatrix.hh.

template<class F>
F concepts::TColumn< F >::operator[] ( uint  i) const [inline, inherited]

Returns the ith entry in the column.

Definition at line 57 of file tmatrix.hh.

template<class F, int dim>
F& concepts::TColumnBlock< F, dim >::operator[] ( uint *  i) [inline]

Returns the /c i th entry in the column. /c i an array of size dim.

Definition at line 235 of file tmatrix.hh.

Here is the call graph for this function:

template<class F, int dim>
F concepts::TColumnBlock< F, dim >::operator[] ( uint *  i) const [inline]

Returns the ith entry in the column.

i an array of size dim+1 the last entry is the block number

Definition at line 230 of file tmatrix.hh.

Here is the call graph for this function:

template<class F>
F& concepts::TColumn< F >::operator[] ( uint  i) [inline, inherited]

Returns the ith entry in the column.

Definition at line 59 of file tmatrix.hh.

template<class F, int dim>
void concepts::TColumnBlock< F, dim >::recursiveOut_ ( const int  d,
uint *  n,
ushort position,
std::ostream &  os 
) const [private]

For output.

template<class F>
uint concepts::TColumn< F >::successors_ ( ) const [protected, inherited]

number of successors

template<class F>
const F* concepts::TColumn< F >::values ( ) const [inline, inherited]

Returns the array of entries.

Definition at line 62 of file tmatrix.hh.

template<class F>
F* concepts::TColumn< F >::values ( ) [inline, inherited]

Returns the array of entries.

Definition at line 64 of file tmatrix.hh.

template<class F, int dim>
void concepts::TColumnBlock< F, dim >::write ( TColumnTensor< F, dim > &  t,
uint  k 
)

Copies data of T matrix in tensorised structure into block k.

The sizes of T matrix and the target block have to coincide.


Member Data Documentation

template<class F, int dim>
uint concepts::TColumnBlock< F, dim >::n_[dim *dim] [private]

Number of rows.

Reimplemented from concepts::TColumn< F >.

Definition at line 259 of file tmatrix.hh.

template<class F>
Array<F> concepts::TColumn< F >::val_ [protected, inherited]

The data of the column itself.

Definition at line 88 of file tmatrix.hh.


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

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