#include <buildL2TColumns.hh>
Public Types | |
typedef concepts::SpaceHelper< F, SpacePreBuilder > | SpaceHelper |
Public Member Functions | |
BuildL2InnerTColumnsLinTrunk () | |
Default constructor. | |
BuildL2InnerTColumnsLinTrunk (SpaceHelper &spc) | |
virtual BuildL2InnerTColumnsLinTrunk< F > * | clone (SpaceHelper *spc=0) const |
virtual bool | trunk (uint p, uint q, const ushort P[2]) const |
virtual void | operator() (const concepts::Connector2 &cntr, concepts::TColumn< F > *&T1) const |
virtual BuildTColumnsBase< F, SpacePreBuilder > * | clone (SpaceHelper< F, SpacePreBuilder > *spc=0) const=0 |
SpaceHelper< F, SpacePreBuilder > & | spc () const |
Returns pointer to space helper class. | |
SpacePreBuilder & | prebuild () const |
Returns the space pre builder. | |
Protected Member Functions | |
virtual std::ostream & | info (std::ostream &os) const |
Returns information in an output stream. | |
Protected Attributes | |
SpaceHelper< F, SpacePreBuilder > * | spc_ |
Space to build the degrees of freedom from. | |
Responsible to build the T columns belonging to inner degrees of freedom in a L2 conforming (trunk) space with shape functions in tensor product structure.
Using this class, only a trunk of the degrees of freedom in the interior are built: if (p + q) <= ((P[0] > P[1]) ? P[0] : P[1])
the degree of freedom with polynomial degrees p
, q
in each direction is built (P[i]
are the maximal polynomial degrees in each direction.)
This class is registered as the default strategy in hpAdaptiveSpaceL2 to build the inner degrees of freedom. Giving the space a different class through the use of hpAdaptiveSpaceL2::buildInnerDofs, you can change that behaviour.
Definition at line 121 of file buildL2TColumns.hh.
typedef concepts::SpaceHelper<F, SpacePreBuilder> hp2D::BuildL2InnerTColumnsLinTrunk< F >::SpaceHelper |
Definition at line 123 of file buildL2TColumns.hh.
|
inline |
Default constructor.
Definition at line 125 of file buildL2TColumns.hh.
|
inline |
Constructor.
spc | Space Helper with Space Pre Builder (mesh and distribution of degrees of freedom), boundary condition and the running index |
Definition at line 132 of file buildL2TColumns.hh.
|
inlinevirtual |
Definition at line 134 of file buildL2TColumns.hh.
|
virtual |
Reimplemented from hp2D::BuildL2InnerTColumns< F >.
|
pure virtualinherited |
Virtual copy constructor with a twist.
If a copy of a space helper is created, the strategies to build the degrees of freedom of the copy should also reference the copy and not the initial space helper. This is done by giving the argument spc
to clone.
spc | Space helper class to work on for the return value. If set to 0, spc_ is used. |
|
protectedvirtual |
Returns information in an output stream.
Reimplemented from hp2D::BuildL2InnerTColumns< F >.
|
virtualinherited |
Builds the degrees of freedom.
cntr | Quad which dofs should be considered |
T1 | New T columns created for the degrees of freedom |
Implements hp2D::BuildTColumnsBase< F >.
|
inlineinherited |
Returns the space pre builder.
Definition at line 257 of file spacePreBuilder.hh.
|
inlineinherited |
Returns pointer to space helper class.
Definition at line 255 of file spacePreBuilder.hh.
|
virtual |
Trunk space indicator function. For each degree of freedom, this function is called to find out if it should be built or not. If the return value is true
, the degree of freedom is built, otherwise it is not.
The default behaviour of this function is to return true
. Overwrite it if you want to have a trunk space (e.g. as in BuildInnerDofsLinTrunk).
p | Polynomial degree in first direction of current degree of freedom |
q | Polynomial degree in second direction of current degree of freedom |
P | Maximal polynomial degree in the interior |
Reimplemented from hp2D::BuildL2InnerTColumns< F >.
|
protectedinherited |
Space to build the degrees of freedom from.
Definition at line 272 of file spacePreBuilder.hh.