One dimensional S matrix. More...

#include <smatrix.hh>

Inheritance diagram for concepts::SMatrix1D:
concepts::SMatrixBase< Real >

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< Realdata_
 Data of the S matrices. More...
 
Realleft_
 Data for the S matrix of the left subelement. More...
 
const uint n_
 Size of the S matrices. More...
 
Realright_
 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.

Author
Philipp Frauenfelder, 2001.

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
smallThe shape functions of one of the small elements.
leftThe shape functions of the large element, restricted to the left subelement.
rightThe 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
sS matrix to be copied (or the S matrix for the left subelement).
flipBy 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()

virtual std::ostream& concepts::SMatrix1D::info ( std::ostream &  os) const
protectedvirtual

Reimplemented from concepts::SMatrixBase< Real >.

◆ operator()()

virtual void concepts::SMatrix1D::operator() ( const TColumn< Real > &  src,
TColumn< Real > &  dest 
) const
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 uint concepts::SMatrix1D::size ( ) const
virtual

◆ size() [2/2]

virtual uint concepts::SMatrixBase< Real >::size
pure virtualinherited

Returns the size of the S matrix.

Member Data Documentation

◆ data_

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 133 of file smatrix.hh.

◆ left_

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 143 of file smatrix.hh.

◆ n_

const uint concepts::SMatrix1D::n_
private

Size of the S matrices.

Definition at line 121 of file smatrix.hh.

◆ right_

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 152 of file smatrix.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