Home | Doxygen Documentation | Tutorials | Developer Tools (restricted)

Public Types | Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes
hp1D::Space Class Reference

A 1D hp FEM space with continuous, picewise polynomial basis functions. More...

#include <space.hh>

Inheritance diagram for hp1D::Space:
Inheritance graph
[legend]
Collaboration diagram for hp1D::Space:
Collaboration graph
[legend]

List of all members.

Public Types

typedef concepts::Scan
< Element< Real > > 
Scan
typedef Scan< ElementWithCell
< Real > > 
Scanner

Public Member Functions

virtual void adjust (const concepts::Element< Real > &elm, const concepts::AdaptiveAdjustP< 1 > &a)
virtual void adjust (const Element< Real > &elm, const concepts::AdaptiveAdjustP< 1 > &a)=0
 Adjusts the space in the next rebuild step for this element.
uint dim () const
 Returns the dimension of the space.
uint dim ()
uint nelm () const
 Returns the number of elements in the space.
uint nelm ()
void rebuild ()
 Rebuilds the space after an adjustment with adjust.
void recomputeShapefunctions ()
 Recompute shape functions, e.g.
Scanscan ()
Scanscan () const
 Returns a scanner to iterate over the elements of the space.
 Space (concepts::Mesh1 &msh, uint l, uint p, concepts::BoundaryConditions *bc=0)
 Constructor.
virtual ~Space ()

Protected Member Functions

virtual std::ostream & info (std::ostream &os) const
 Returns information in an output stream.

Private Member Functions

void buildElements_ (concepts::EdgeNd &cell, concepts::TColumn< Real > *T0=0)
void enforceBC_ (concepts::EdgeNd &cell)
void meshAndPoly_ (concepts::EdgeNd &cell, int l, int &L, int &P)

Private Attributes

concepts::DynArray
< concepts::AdaptiveAdjustP< 1 > > 
adj_
 Hash table of the adjustment information of the elements.
concepts::BoundaryConditionsbc_
 Boundary conditions.
concepts::DynArray
< concepts::AdaptiveControl<> > 
ctrl0_
 Hash table of the control information for the vertices.
concepts::DynArray
< concepts::AdaptiveControlP< 1 > > 
ctrl1_
 Hash table of the control information for the 1D elements.
uint dim_
 Dimension of the FE space.
concepts::Joiner< Element
< Real > *, 1 > * 
elm_
 Linked list of the elements.
concepts::Mesh1msh_
 Mesh.
uint nelm_
 Number of elements currently active in the mesh.
bool rebuild_
 If true: the elements have to be rebuilt.

Detailed Description

A 1D hp FEM space with continuous, picewise polynomial basis functions.

Author:
Philipp Frauenfelder, 2002

Definition at line 25 of file space.hh.


Member Typedef Documentation

Definition at line 29 of file space.hh.

typedef Scan<ElementWithCell<Real > > concepts::SpaceOnCells< Real >::Scanner [inherited]

Reimplemented from concepts::Space< Real >.

Reimplemented in linDG3D::FvdgSpace.

Definition at line 74 of file space.hh.


Constructor & Destructor Documentation

hp1D::Space::Space ( concepts::Mesh1 msh,
uint  l,
uint  p,
concepts::BoundaryConditions bc = 0 
)

Constructor.

Scans the mesh and sets the cells in the mesh active and the level of refinement and the polynomial degree in all cells to the given values. rebuild_ is set to true, ie. if the mesh is used it will firstly be rebuilt.

Parameters:
mshThe domain of interest partitioned into a mesh.
lLevel of refinement
pDegree of the polynomials to be used.
bcBoundary conditions
virtual hp1D::Space::~Space ( ) [virtual]

Member Function Documentation

virtual void hp1D::Space::adjust ( const concepts::Element< Real > &  elm,
const concepts::AdaptiveAdjustP< 1 > &  a 
) [virtual]
virtual void concepts::AdaptiveSpace< Real , concepts::AdaptiveAdjustP< 1 > >::adjust ( const Element< Real > &  elm,
const concepts::AdaptiveAdjustP< 1 > &  a 
) [pure virtual, inherited]

Adjusts the space in the next rebuild step for this element.

void hp1D::Space::buildElements_ ( concepts::EdgeNd cell,
concepts::TColumn< Real > *  T0 = 0 
) [private]
uint hp1D::Space::dim ( ) [inline]

Definition at line 115 of file space.hh.

Here is the call graph for this function:

uint hp1D::Space::dim ( ) const [inline, virtual]

Returns the dimension of the space.

Implements concepts::Space< Real >.

Definition at line 100 of file space.hh.

void hp1D::Space::enforceBC_ ( concepts::EdgeNd cell) [private]
virtual std::ostream& hp1D::Space::info ( std::ostream &  os) const [protected, virtual]

Returns information in an output stream.

Reimplemented from concepts::SpaceOnCells< Real >.

void hp1D::Space::meshAndPoly_ ( concepts::EdgeNd cell,
int  l,
int &  L,
int &  P 
) [private]
uint hp1D::Space::nelm ( ) const [inline, virtual]

Returns the number of elements in the space.

Implements concepts::Space< Real >.

Definition at line 105 of file space.hh.

uint hp1D::Space::nelm ( ) [inline]

Definition at line 120 of file space.hh.

Here is the call graph for this function:

void hp1D::Space::rebuild ( )

Rebuilds the space after an adjustment with adjust.

void hp1D::Space::recomputeShapefunctions ( )

Recompute shape functions, e.g.

for other abscissas redefined through IntegrableElm::rule().set(...)

Space::Scan * hp1D::Space::scan ( ) [inline]

Definition at line 125 of file space.hh.

Here is the call graph for this function:

Space::Scan * hp1D::Space::scan ( ) const [inline, virtual]

Returns a scanner to iterate over the elements of the space.

Implements concepts::SpaceOnCells< Real >.

Definition at line 110 of file space.hh.


Member Data Documentation

Hash table of the adjustment information of the elements.

Definition at line 92 of file space.hh.

Boundary conditions.

Definition at line 69 of file space.hh.

Hash table of the control information for the vertices.

Definition at line 87 of file space.hh.

Hash table of the control information for the 1D elements.

Definition at line 89 of file space.hh.

uint hp1D::Space::dim_ [private]

Dimension of the FE space.

Definition at line 78 of file space.hh.

Linked list of the elements.

Definition at line 84 of file space.hh.

Mesh.

Definition at line 67 of file space.hh.

uint hp1D::Space::nelm_ [private]

Number of elements currently active in the mesh.

Definition at line 81 of file space.hh.

bool hp1D::Space::rebuild_ [private]

If true: the elements have to be rebuilt.

Some elements have been marked for refinement or for coarsening and the elements are outdated.

Definition at line 75 of file space.hh.


The documentation for this class was generated from the following file:

Home | Doxygen Documentation | Tutorials | Developer Tools (restricted)