concepts::SMatrix1D Class Referenceabstract
One dimensional S matrix. More...
#include <smatrix.hh>
Public Member Functions | |
virtual void | operator() (const TColumn< Real > &src, TColumn< Real > &dest) const |
Application operator. More... | |
void | scale (const Real factor) |
scales the S Matrix by a factor, used for edge elements More... | |
virtual uint | size () const |
virtual uint | size () const=0 |
Returns the size of the S matrix. More... | |
SMatrix1D (const ShapeFunction1D< Real > &small, const ShapeFunction1D< Real > &left, const ShapeFunction1D< Real > &right) | |
Constructor. More... | |
SMatrix1D (const SMatrix1D &s, const bool flip=false) | |
Modified copy constructor. More... | |
Protected Member Functions | |
virtual std::ostream & | info (std::ostream &os) const |
Private Attributes | |
Array< Real > | data_ |
Data of the S matrices. More... | |
Real * | left_ |
Data for the S matrix of the left subelement. More... | |
const uint | n_ |
Size of the S matrices. More... | |
Real * | right_ |
Data for the S matrix of the right subelement. More... | |
Detailed Description
One dimensional S matrix.
By default, the application operator of this class uses the S matrix of the left subelement. If you want to used the S matrix of the right subelement, create a new S matrix with the modified copy constructor:
SMatrix1D left(...); SMatrix1D right(left, true);
The new object right
uses the data stored in left
.
Definition at line 79 of file smatrix.hh.
Constructor & Destructor Documentation
◆ SMatrix1D() [1/2]
concepts::SMatrix1D::SMatrix1D | ( | const ShapeFunction1D< Real > & | small, |
const ShapeFunction1D< Real > & | left, | ||
const ShapeFunction1D< Real > & | right | ||
) |
Constructor.
The parameters are the shape functions of which the S matrix has to be computed. The shape functions have to be evaluated in the same mapped coordinates. Ie. small
in -1, 0 and 1, left
in -1, -0.5 and 0 and right
in 0, 0.5 and 1. They have to be evaluated in the at least as many points as there are shape functions.
- Parameters
-
small The shape functions of one of the small elements. left The shape functions of the large element, restricted to the left subelement. right The shape functions of the large element, restricted to the right subelement.
◆ SMatrix1D() [2/2]
concepts::SMatrix1D::SMatrix1D | ( | const SMatrix1D & | s, |
const bool | flip = false |
||
) |
Modified copy constructor.
This constructor can also be used to create an S matrix for the right subelement, see the description of the class for an example.
- Parameters
-
s S matrix to be copied (or the S matrix for the left subelement). flip By default set to false (ie. work as a copy constructor), if set to true, this creates an S matrix for the right subelement.
Member Function Documentation
◆ info()
|
protectedvirtual |
Reimplemented from concepts::SMatrixBase< Real >.
◆ operator()()
|
virtual |
Application operator.
Implements concepts::SMatrixBase< Real >.
◆ scale()
void concepts::SMatrix1D::scale | ( | const Real | factor | ) |
scales the S Matrix by a factor, used for edge elements
◆ size() [1/2]
|
virtual |
◆ size() [2/2]
|
pure virtualinherited |
Returns the size of the S matrix.
Member Data Documentation
◆ data_
Data of the S matrices.
The computation routine (in the constructor) computes the S matrices for the left and right subelement. This data is stored consecutively in this array.
If an S matrix is created using the copy constructor with flip
set to true
, this array is empty (and size set to 0) as all the data are already stored in the original S matrix.
Definition at line 133 of file smatrix.hh.
◆ left_
|
private |
Data for the S matrix of the left subelement.
This is just a pointer into the data_
array.
If an S matrix is created using the copy constructor with flip
set to true
, this is acctualy the S matrix of the right subelement and points to right_
of the original S matrix.
Definition at line 143 of file smatrix.hh.
◆ n_
|
private |
Size of the S matrices.
Definition at line 121 of file smatrix.hh.
◆ right_
|
private |
Data for the S matrix of the right subelement.
This is just a pointer into the data_
array.
If an S matrix is created using the copy constructor with flip
set to true
, this pointer is set to 0 as there is no 'right' subelement.
Definition at line 152 of file smatrix.hh.
The documentation for this class was generated from the following file:
- space/smatrix.hh