Space for linear DG FEM in 1D. More...

#include <space.hh>

Inheritance diagram for linDG1D::Linear1d:
concepts::Space< Real >

Classes

struct  TwoElements
 Data structure used for temporary data to generate DGElementPair. More...
 

Public Types

typedef concepts::Scan< linearFEM::LineScan
 
typedef Scan< Element< Real > > Scanner
 
typedef void(* SMap) (const concepts::TColumn< Real > &, concepts::TColumn< Real > &)
 
typedef Element< Real > type
 

Public Member Functions

virtual uint dim () const
 
virtual uint dim () const=0
 Returns the dimension of the space. More...
 
const concepts::ElementPairList< Real > & elmPairs () const
 
virtual uint getOutputDimension () const
 Returns the default output dimension, when we consider plotting a real-valued operator on this space. More...
 
 Linear1d (concepts::Mesh1 &msh, uint level)
 Constructor. More...
 
virtual uint nelm () const
 
virtual uint nelm () const=0
 Returns the number of elements in the space. More...
 
virtual Scanscan () const
 
virtual Scannerscan () const=0
 Returns a scanner to iterate over the elements of the space. More...
 
virtual ~Linear1d ()
 

Protected Member Functions

virtual std::ostream & info (std::ostream &os) const
 

Private Member Functions

void constructor_ (concepts::Cell1 &cell, uint level)
 Assigns the degrees of freedom and creates elements. More...
 

Private Attributes

uint dim_
 Number of degrees of freedom. More...
 
concepts::Joiner< linearFEM::Line *, 1 > * elm_
 List of elements. More...
 
concepts::ElementPairList< Real > elmPair_
 List of element pairs. More...
 
concepts::Mesh1msh_
 Mesh which this space is based on. More...
 
uint nelm_
 Number of elements. More...
 

Detailed Description

Space for linear DG FEM in 1D.

Author
Thomas Wihler, 2003
Examples
linearDG1d.cc.

Definition at line 34 of file space.hh.

Member Typedef Documentation

◆ Scan

Definition at line 36 of file space.hh.

◆ Scanner

typedef Scan<Element<Real > > concepts::Space< Real >::Scanner
inherited

Definition at line 47 of file space.hh.

◆ SMap

typedef void(* linDG1D::Linear1d::SMap) (const concepts::TColumn< Real > &, concepts::TColumn< Real > &)

Definition at line 37 of file space.hh.

◆ type

typedef Element<Real > concepts::Space< Real >::type
inherited

Definition at line 46 of file space.hh.

Constructor & Destructor Documentation

◆ Linear1d()

linDG1D::Linear1d::Linear1d ( concepts::Mesh1 msh,
uint  level 
)

Constructor.

Recursively calls constructor_ and generates the list of element pairs elmPair_.

Parameters
mshMesh
levelNumber levels for initial refinement

◆ ~Linear1d()

virtual linDG1D::Linear1d::~Linear1d ( )
virtual

Member Function Documentation

◆ constructor_()

void linDG1D::Linear1d::constructor_ ( concepts::Cell1 cell,
uint  level 
)
private

Assigns the degrees of freedom and creates elements.

The numbers of the degrees of freedom is stored in dofMap.

constructor_ is called recursively until level is 0. On this level, the degrees of freedom are assigned and the elements are created and stored in elm_.

Parameters
cellCurrent cell
levelNumber of levels left to desired level

◆ dim() [1/2]

virtual uint linDG1D::Linear1d::dim ( ) const
inlinevirtual

Definition at line 46 of file space.hh.

◆ dim() [2/2]

virtual uint concepts::Space< Real >::dim ( ) const
pure virtualinherited

◆ elmPairs()

const concepts::ElementPairList<Real>& linDG1D::Linear1d::elmPairs ( ) const
inline

Definition at line 50 of file space.hh.

◆ getOutputDimension()

virtual uint concepts::Space< Real >::getOutputDimension ( ) const
inlinevirtualinherited

Returns the default output dimension, when we consider plotting a real-valued operator on this space.

Definition at line 50 of file space.hh.

◆ info()

virtual std::ostream& linDG1D::Linear1d::info ( std::ostream &  os) const
protectedvirtual

Reimplemented from concepts::Space< Real >.

◆ nelm() [1/2]

virtual uint linDG1D::Linear1d::nelm ( ) const
inlinevirtual

Definition at line 47 of file space.hh.

◆ nelm() [2/2]

virtual uint concepts::Space< Real >::nelm ( ) const
pure virtualinherited

◆ scan() [1/2]

virtual Scan* linDG1D::Linear1d::scan ( ) const
inlinevirtual

Definition at line 48 of file space.hh.

◆ scan() [2/2]

virtual Scanner* concepts::Space< Real >::scan ( ) const
pure virtualinherited

Member Data Documentation

◆ dim_

uint linDG1D::Linear1d::dim_
private

Number of degrees of freedom.

Definition at line 56 of file space.hh.

◆ elm_

concepts::Joiner<linearFEM::Line*, 1>* linDG1D::Linear1d::elm_
private

List of elements.

Definition at line 62 of file space.hh.

◆ elmPair_

concepts::ElementPairList<Real> linDG1D::Linear1d::elmPair_
private

List of element pairs.

This list contains

  • pairs of neighbouring elements (with a common vertex whose index is stored in DGElementPair) and
  • pairs of identical elements (with the minimal sizes of the neighbouring elements over every vertex stored in DGElementPair).

Definition at line 73 of file space.hh.

◆ msh_

concepts::Mesh1& linDG1D::Linear1d::msh_
private

Mesh which this space is based on.

Definition at line 60 of file space.hh.

◆ nelm_

uint linDG1D::Linear1d::nelm_
private

Number of elements.

Definition at line 58 of file space.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