One dimensional S matrix. More...
#include <smatrix.hh>


Public Member Functions | |
| virtual void | operator() (const TColumn< Real > &src, TColumn< Real > &dest) const |
| Application operator. | |
| void | scale (const Real factor) |
| scales the S Matrix by a factor, used for edge elements | |
| virtual uint | size () const |
| Returns the size of the S matrix. | |
| SMatrix1D (const ShapeFunction1D< Real > &small, const ShapeFunction1D< Real > &left, const ShapeFunction1D< Real > &right) | |
| Constructor. | |
| SMatrix1D (const SMatrix1D &s, const bool flip=false) | |
| Modified copy constructor. | |
Protected Member Functions | |
| virtual std::ostream & | info (std::ostream &os) const |
| Returns information in an output stream. | |
Private Attributes | |
| Array< Real > | data_ |
| Data of the S matrices. | |
| Real * | left_ |
| Data for the S matrix of the left subelement. | |
| const uint | n_ |
| Size of the S matrices. | |
| Real * | right_ |
| Data for the S matrix of the right subelement. | |
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 76 of file smatrix.hh.
| 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.
| 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. |
| 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.
| 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. |
| virtual std::ostream& concepts::SMatrix1D::info | ( | std::ostream & | os | ) | const [protected, virtual] |
Returns information in an output stream.
Reimplemented from concepts::SMatrixBase< Real >.
| virtual void concepts::SMatrix1D::operator() | ( | const TColumn< Real > & | src, |
| TColumn< Real > & | dest | ||
| ) | const [virtual] |
Application operator.
Implements concepts::SMatrixBase< Real >.
| void concepts::SMatrix1D::scale | ( | const Real | factor | ) |
scales the S Matrix by a factor, used for edge elements
| virtual uint concepts::SMatrix1D::size | ( | ) | const [virtual] |
Returns the size of the S matrix.
Implements concepts::SMatrixBase< Real >.
Array<Real> concepts::SMatrix1D::data_ [private] |
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 130 of file smatrix.hh.
Real* concepts::SMatrix1D::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 140 of file smatrix.hh.
const uint concepts::SMatrix1D::n_ [private] |
Size of the S matrices.
Definition at line 118 of file smatrix.hh.
Real* concepts::SMatrix1D::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 149 of file smatrix.hh.