concepts::TColumnBlock< F, dim > Class Template Reference
A column of a T matrix. More...
#include <tmatrix.hh>
Public Member Functions | |
virtual TColumnBlock< F, dim > * | clone () const |
uint | ldof (uint *i) const |
Returns the number of local dof for ith entry in the column. More... | |
const uint * | n () const |
Returns the range of the multiindices as an array. More... | |
const uint | n (uint i) const |
Returns the range of the multiindex for one direction i . More... | |
F & | operator[] (uint *i) |
Returns the /c i th entry in the column. /c i an array of size dim. More... | |
F | operator[] (uint *i) const |
Returns the ith entry in the column. More... | |
TColumnBlock (const TColumnBlock< F, dim > &t) | |
Copy constructor The link to the next element in the linear list (lnk_) is not copied! More... | |
TColumnBlock (const TColumnBlock< F, dim > &t, const uint *n) | |
Transformation constructor to higher number of rows. More... | |
TColumnBlock (const uint *n, const uint idx, TColumn< F > *lnk=0) | |
Constructor. More... | |
void | write (TColumnTensor< F, dim > &t, uint k) |
Copies data of T matrix in tensorised structure into block k. More... | |
Protected Member Functions | |
virtual ::std::ostream & | info (::std::ostream &os) const |
Private Member Functions | |
void | recursiveOut_ (const int d, uint *n, ushort &position, ::std::ostream &os) const |
For output. More... | |
Private Attributes | |
uint | n_ [dim *dim] |
Number of rows. More... | |
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
Definition at line 36 of file tmatrix.hh.
Constructor & Destructor Documentation
◆ TColumnBlock() [1/3]
concepts::TColumnBlock< F, dim >::TColumnBlock | ( | const uint * | n, |
const uint | idx, | ||
TColumn< F > * | lnk = 0 |
||
) |
Constructor.
- Parameters
-
n An 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) idx Index of the column in a T matrix lnk Pointer to the next column (linked list)
◆ TColumnBlock() [2/3]
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!
◆ TColumnBlock() [3/3]
concepts::TColumnBlock< F, dim >::TColumnBlock | ( | const TColumnBlock< F, dim > & | t, |
const uint * | n | ||
) |
Transformation constructor to higher number of rows.
Member Function Documentation
◆ clone()
|
virtual |
◆ info()
|
protected |
◆ ldof()
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
◆ n() [1/2]
|
inline |
Returns the range of the multiindices as an array.
Definition at line 259 of file tmatrix.hh.
◆ n() [2/2]
|
inline |
Returns the range of the multiindex for one direction i
.
Definition at line 261 of file tmatrix.hh.
◆ operator[]() [1/2]
|
inline |
Returns the /c i th entry in the column. /c i an array of size dim.
Definition at line 244 of file tmatrix.hh.
◆ operator[]() [2/2]
|
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 239 of file tmatrix.hh.
◆ recursiveOut_()
|
private |
For output.
◆ write()
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
◆ n_
|
private |
Number of rows.
Definition at line 268 of file tmatrix.hh.
The documentation for this class was generated from the following file:
- space/tmatrix.hh