hp1D::Space Class Referenceabstract
A 1D hp FEM space with continuous, picewise polynomial basis functions. More...
#include <space.hh>
Public Types | |
typedef concepts::Scan< BaseElement< Real > > | Scan |
typedef Scan< ElementWithCell< Real > > | Scanner |
typedef ElementWithCell< Real > | type |
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. More... | |
uint | dim () |
Returns the dimension of the space. More... | |
uint | dim () const |
virtual uint | getOutputDimension () const |
Returns the default output dimension, when we consider plotting a real-valued operator on this space. More... | |
uint | nelm () |
Returns the number of elements in the space. More... | |
uint | nelm () const |
void | rebuild () |
Rebuilds the space after an adjustment with adjust . More... | |
void | recomputeShapefunctions () |
Recompute shape functions, e.g. More... | |
Scan * | scan () |
Returns a scanner to iterate over the elements of the space. More... | |
Scan * | scan () const |
Space (concepts::Mesh1 &msh, uint l, uint p, concepts::BoundaryConditions *bc=0) | |
Constructor. More... | |
virtual | ~Space () |
Protected Member Functions | |
virtual std::ostream & | info (std::ostream &os) const |
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. More... | |
concepts::BoundaryConditions * | bc_ |
Boundary conditions. More... | |
concepts::DynArray< concepts::AdaptiveControl<> > | ctrl0_ |
Hash table of the control information for the vertices. More... | |
concepts::DynArray< concepts::AdaptiveControlP< 1 > > | ctrl1_ |
Hash table of the control information for the 1D elements. More... | |
uint | dim_ |
Dimension of the FE space. More... | |
concepts::Joiner< BaseElement< Real > *, 1 > * | elm_ |
Linked list of the elements. More... | |
concepts::Mesh1 & | msh_ |
Mesh. More... | |
uint | nelm_ |
Number of elements currently active in the mesh. More... | |
bool | rebuild_ |
If true: the elements have to be rebuilt. More... | |
Detailed Description
A 1D hp FEM space with continuous, picewise polynomial basis functions.
Member Typedef Documentation
◆ Scan
typedef concepts::Scan<BaseElement<Real> > hp1D::Space::Scan |
◆ Scanner
|
inherited |
◆ type
|
inherited |
Constructor & Destructor Documentation
◆ Space()
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
-
msh The domain of interest partitioned into a mesh. l Level of refinement p Degree of the polynomials to be used. bc Boundary conditions
◆ ~Space()
|
virtual |
Member Function Documentation
◆ adjust() [1/2]
|
virtual |
◆ adjust() [2/2]
|
pure virtualinherited |
Adjusts the space in the next rebuild step for this element.
◆ buildElements_()
|
private |
◆ dim() [1/2]
|
inlinevirtual |
Returns the dimension of the space.
Implements concepts::SpaceOnCells< Real >.
◆ dim() [2/2]
◆ enforceBC_()
|
private |
◆ getOutputDimension()
|
inlinevirtualinherited |
◆ info()
|
protectedvirtual |
Reimplemented from concepts::SpaceOnCells< Real >.
◆ meshAndPoly_()
|
private |
◆ nelm() [1/2]
|
inlinevirtual |
Returns the number of elements in the space.
Implements concepts::SpaceOnCells< Real >.
◆ nelm() [2/2]
◆ rebuild()
void hp1D::Space::rebuild | ( | ) |
Rebuilds the space after an adjustment with adjust
.
◆ recomputeShapefunctions()
void hp1D::Space::recomputeShapefunctions | ( | ) |
Recompute shape functions, e.g.
for other abscissas redefined through IntegrableElm::rule().set(...)
◆ scan() [1/2]
|
inlinevirtual |
Returns a scanner to iterate over the elements of the space.
Implements concepts::SpaceOnCells< Real >.
◆ scan() [2/2]
|
inline |
Member Data Documentation
◆ adj_
|
private |
◆ bc_
|
private |
◆ ctrl0_
|
private |
◆ ctrl1_
|
private |
◆ dim_
◆ elm_
|
private |
◆ msh_
|
private |
◆ nelm_
|
private |
◆ rebuild_
|
private |
The documentation for this class was generated from the following file:
- hp1D/space.hh