hpAdaptiveSpace.hh
Definition: spacePreBuilder.hh:163
virtual std::ostream & info(std::ostream &os) const
uint offset_
Initially given offset, holden for control, if in there are changes in the previous subspace.
Definition: hpAdaptiveSpace.hh:150
concepts::SubspaceHelper< F, SpacePreBuilder > spc_
Helper class for building elements with space pre builder, boundary conditions and index.
Definition: hpAdaptiveSpace.hh:142
virtual ~hpAdaptiveSpace()
std::set< concepts::Cell2 * > allCells() const
Returns set of all cells.
Definition: spacePreBuilder.hh:315
std::unique_ptr< const BuildTColumnsBase< F > > buildVertexDofs_
Strategy to build the vertex degrees of freedom.
Definition: hpAdaptiveSpace.hh:218
concepts::Joiner< Element< F > *, 1 > * elm_
Linked list of the elements.
Definition: hpAdaptiveSpace.hh:214
bool ownPrebuild_
If prebuild object is created here and not given.
Definition: hpAdaptiveSpace.hh:208
virtual Element< F > * newElement_(concepts::Cell2 &cell, ushort *pMax, concepts::TColumn< F > *T0, concepts::TColumn< F > *T1) const =0
Creates and returns an element for cell.
Helper class for building 2D hp-FEM spaces (space pre builder).
Definition: spacePreBuilder.hh:168
void setEdgePassive_(const concepts::Connector1 &cntr)
Set this edge and all children edges passive.
const concepts::SubspaceHelper< F, SpacePreBuilder > & helper() const
Definition: hpAdaptiveSpace.hh:89
void setBuildEdgeDofs_(const BuildTColumnsBase< F > *b)
Change the strategy how the degrees of freedom for the edge are built.
Base class for classes for building T columns for elements in a space with help of a 2D space pre bui...
Definition: buildTColumnsBase.hh:33
hpAdaptiveSpace(hpFull &prebuild, concepts::BoundaryConditions *bc=0, concepts::CellConditions *cc=0, uint spcNo=0, uint *offset=0, uint *idx=0)
Constructor for using same mesh and distribution of degrees of freedom object as another space.
concepts::SubspaceHelper< F, SpacePreBuilder > & helper()
Definition: hpAdaptiveSpace.hh:91
hpAdaptiveSpace(concepts::Mesh2 &msh, uint l, uint p, concepts::BoundaryConditions *bc=0, concepts::CellConditions *cc=0)
Constructor.
void rebuild(bool sameIndices=false)
Rebuilds the mesh and the elements due to adjustment orders.
Interface class for SpacesOnCells that also allow for allCells(), that i.e.
Definition: space.hh:127
virtual concepts::TColumn< F > * applySmatrices_(const concepts::Element< F > &elm, uint i, const concepts::TColumn< F > *T0, const concepts::TColumn< F > *T1)=0
Apply i -th S matrix to T-Columns T0 and T1 of cell, where i is the number of child of cell.
An abstract class for scanning a mesh (a set of cells) or a space (a set of elements).
Definition: scannerConnectors.hh:29
std::pair< bool, uint > available() const
Returns 0 if the space has to be rebuilt with rebuild(), otherwise the number of the build.
std::unique_ptr< const BuildTColumnsBase< F > > buildEdgeDofs_
Strategy to build the edge degrees of freedom.
Definition: hpAdaptiveSpace.hh:222
uint dofBuild_
Number of the build of prebuild_ at last call of rebuild()
Definition: hpAdaptiveSpace.hh:210
Indicates that the space on which a function was called was not yet correctly built.
Definition: space.hh:36
virtual Scan * scan() const
Returns a scanner to iterate over the elements of the space.
Definition: hpAdaptiveSpace.hh:263
Definition: cellConditions.hh:125
virtual void recomputeShapefunctions()=0
Recompute shape functions, e.g.
const std::set< concepts::Cell2 * > allCells() const
Definition: hpAdaptiveSpace.hh:126
void setBuildInnerDofs_(const BuildTColumnsBase< F > *b)
Change the strategy how the degrees of freedom for the interior are built.
virtual uint nelm() const
Returns the number of elements in the space.
Definition: hpAdaptiveSpace.hh:256
concepts::Scan< hp2D::Element< F > > Scan
Definition: hpAdaptiveSpace.hh:38
bool notAvailable_
Flag indicating some reasons the space is not available.
Definition: hpAdaptiveSpace.hh:228
std::unique_ptr< const BuildTColumnsBase< F > > buildInnerDofs_
Strategy to build the inner degrees of freedom.
Definition: hpAdaptiveSpace.hh:226
virtual void adjust(const concepts::Element< F > &elm, const concepts::AdaptiveAdjustP< 2 > &a)
Adjusts the space in the next rebuild step for this element.
void setVtxPassive_(G &cntr, bool forChildren=false, bool always=false)
Set vertices passive.
void buildElements_(concepts::Cell2 &cell, ushort *Pmax, concepts::TColumn< F > *T0=0)
If prebuild object is created here and not given.
void setBuildVertexDofs_(const BuildTColumnsBase< F > *b)
Change the strategy how the degrees of freedom for the vertices are built.
void set_bc(const concepts::BoundaryConditions *bc)
Reset boundary conditions to bc
Definition: hpAdaptiveSpace.hh:122