concepts::TColumn< Real > * buildEdge_(concepts::TColumn< Real > *T1, const concepts::Quad &cntr, const uint *nn)
Builds the T columns for the edge degrees of freedom.
std::unordered_map< uint, concepts::AdaptiveControlP< 2 > > ctrl2_
Hash table of the control information for the 2D elements.
Definition: space.hh:148
void status_()
Gives the cells and edges with given polynomial degree (for debugging)
std::unique_ptr< concepts::SMatrix1D > S1right_t_
Definition: space.hh:173
S matrix for elements in dimensions 2 and 3 with tensorized shape functions.
Definition: space.hh:34
void minimumRule_(const concepts::Connector2 &cntr, const concepts::Connector1 &edge)
Used to enforce the minimum rule.
concepts::DynArray< concepts::AdaptiveAdjustP< 2 > > adj_
Hash table of the adjustment information of the elements.
Definition: space.hh:169
void deactivate_(concepts::Edge &edg)
concepts::Joiner< hp2D::Element< Real > *, 1 > * elm_
Linked list of the elements.
Definition: space.hh:141
void deactivate_(concepts::Vertex &vtx)
Stores additional information on a cell, namely its father.
Definition: continuityData.hh:80
void enforceBC_(concepts::Quad2d &cell)
Enforce Dirichlet boundary conditions.
A cell in a mesh consist of topological information (neighbours, connectivity, orientation) and geome...
Definition: cell.hh:39
std::unique_ptr< concepts::SMatrixBase< Real > > Smatrices4_[4]
S matrices for subdivision into 4 quads.
Definition: space.hh:195
void createCellList_(const concepts::Connector &cntr, const concepts::CellData *father)
Initially fills cellList_ (recursively)
std::unique_ptr< concepts::SMatrixBase< Real > > Smatrices2H_X_[2]
S matrices for tangential and normal component for different subdivisions.
Definition: space.hh:179
Space(concepts::Mesh2 &msh, uint l, uint p, concepts::BoundaryConditions *bc=0, bool trunk=false)
Constructor.
void edgeOrientation_(const concepts::Connector2 &cntr, const uint i, uint &pIndex) const
Helps distributing the polynomial degree to the edges.
virtual ~Space()
void buildElements_(concepts::Quad2d &cell)
Creates the elements and their T matrices.
std::unique_ptr< concepts::SMatrixBase< Real > > Smatrices2H_[2]
S matrices for horizontal subdivision.
Definition: space.hh:187
bool activeCell_(concepts::Cell &cell)
Checks if a cell is in active region.
concepts::DynArray< concepts::AdaptiveControlP< 1 > > ctrl1_
Hash table of the control information for the edges.
Definition: space.hh:146
void nonactiveRegion_()
Set that cells in nonactive region to passive.
void meshAndPoly_(concepts::Quad2d &cell, concepts::Level< 2 > &L, int *P)
Adjusts the mesh and the polynomial degree.
void buildTColumns_(const concepts::Quad &cntr, ushort *Pmax, concepts::TColumn< Real > *T0=0)
Builds the T columns, stores them together with the neccessary polynomial degrees in a list T_.
std::unique_ptr< concepts::SMatrixBase< Real > > Smatrices2V_X_[2]
Definition: space.hh:181
An abstract class for scanning a mesh (a set of cells) or a space (a set of elements).
Definition: scannerConnectors.hh:29
concepts::DynArray< concepts::AdaptiveControl<> > ctrl0_
Hash table of the control information for the vertices.
Definition: space.hh:144
void recomputeSmatrices_(const ushort *p, const uint *nn)
Checks if the S matrices need to be recomputed and does so if necessary.
virtual void adjust(const concepts::Element< Real > &elm, const concepts::AdaptiveAdjustP< 2 > &a)
Indicates that the space on which a function was called was not yet correctly built.
Definition: space.hh:36
void recomputeShapefunctions()
Recompute shape functions, e.g.
virtual std::ostream & info(std::ostream &os) const
void matlabstatus_()
std::unique_ptr< concepts::SMatrixBase< Real > > Smatrices2V_[2]
S matrices for vertical subdivision.
Definition: space.hh:191
void enrichElm_(const concepts::Quad2d &cell, int *p)
Enriches the polynomial degrees.
std::unique_ptr< concepts::SMatrix1D > S1right_n_
Definition: space.hh:173
concepts::Scan< const concepts::Quad > * interScan() const
scanner over the intermediate cells
Definition: space.hh:361
std::unique_ptr< concepts::SMatrixBase< Real > > Smatrices2H_Y_[2]
Definition: space.hh:180
void computePmax_(const concepts::Connector2 &cntr, ushort Pmax[2]) const
Computes the maximal polynomial degree of cell in each direction.
void createEdgList_(const concepts::Cell2 &cell)
Initially fills edgeList_.
std::unique_ptr< concepts::SMatrixBase< Real > > Smatrices2V_Y_[2]
Definition: space.hh:182
concepts::TColumnSet< Real, 2 > T_
List of TColumns (for the member of the space cells)
Definition: space.hh:156
concepts::Joiner< const concepts::Quad *, 1 > * interCells_
Definition: space.hh:161
A 2D hp FEM space of edge elements with piecewise polynomial basis functions with two components,...
Definition: space.hh:52
concepts::TColumn< Real > * buildInterior_(concepts::TColumn< Real > *T1, const concepts::Quad &cntr, const uint *nn)
Builds the T columns for the interior degrees of freedom.