#include <gfemSpace.h>


Public Types | |
| typedef hp2D::Quad< Real > | hpQuad |
| typedef StlVectorScan < ElementWithCell< Real > > | Scan |
| typedef StlVectorScan< GfemQuad > | ScanGfem |
| typedef Scan< ElementWithCell < Real > > | Scanner |
| typedef StlVectorScan< hpQuad > | ScanOrdinary |
Public Member Functions | |
| void | assignEdgeDofs (const concepts::Quad &cell_t, const GfemOverlapCondition &overc, concepts::TColumn< Real > *&T1) |
| void | assignInnerDofs (const concepts::Quad &cell_t, const GfemOverlapCondition &overc, concepts::TColumn< Real > *&T1) |
| void | assignVertexDofs (const concepts::Quad &cell_t, const GfemOverlapCondition &overc, concepts::TColumn< Real > *&T1) |
| void | clear () |
| virtual uint | dim () const |
| Returns the dimension of the space. | |
| int | genVertDof (GfemControlVert ctrl) |
| int | getDim () |
| int | getDimGfem () const |
| int | getDimOverl () const |
| int | getNelm () const |
| int | getNelmGfem () const |
| int | getNelmOrdinary () const |
| GfemSpace (Mesh2 &msh, const Unitcell &uc, const GfemSpaceParams ¶ms, const concepts::BoundaryConditions &bc) | |
| Constructor. | |
| bool | isEdgeDof (const concepts::Connector2 &cntr, uint i) const |
Returns the maximal polynomial degree of the degrees of freedom on edge i in the cell cntr. | |
| bool | isInnerDof (const concepts::Connector2 &quad) const |
Returns a pointer to the maximal polynomial degrees of the inner degree of freedom in the cell quad. | |
| bool | isVertexDof (const concepts::Connector2 &cntr, uint i) const |
Returns, if the i th vertex of cell cntr has a degree of freedom. | |
| virtual uint | nelm () const |
| Returns the number of elements in the space. | |
| void | rebuild () |
| void | recomputeShapefunctions () |
| virtual Scan * | scan () const |
| Returns a scanner to iterate over the elements of the space. | |
| ScanGfem * | scanGfem () const |
| ScanOrdinary * | scanOrdinary () const |
| void | verbosePrint () |
| virtual | ~GfemSpace () |
Static Public Attributes | |
| static const bool | NO_SCALE_RES = GfemControl<0>::NO_SCALE_RES |
| static const bool | USE_SCALE_RES = GfemControl<0>::USE_SCALE_RES |
Protected Member Functions | |
| int | allocDofs (int numDofs) |
| allocates numDofs dofs | |
| virtual std::ostream & | info (std::ostream &os) const |
| Returns information in an output stream. | |
Private Types | |
| typedef std::map< int, GfemControl< 2 > > | ControlCell |
| typedef std::map< int, GfemControl< 1 > > | ControlEdge |
| typedef std::map< int, GfemControl< 0 > > | ControlVert |
| subset of elems which are hp2D::Quads. | |
Private Member Functions | |
| void | processBC (const Quad2d &quad) |
| void | processMesh (const Quad2d &quad) |
| void | processMicro (const Quad2d &quad) |
| void | processOverlap (const Quad2d &cell) |
Private Attributes | |
| BoundaryConditions | bc |
| ControlCell | controlCell |
| ControlEdge | controlEdge |
| ControlVert | controlVert |
| int | dim_ |
| int | dimGfem |
| int | dimOverl |
| std::vector< GfemQuad * > | elemGfemSubs |
| all the Finite elements owned by this class | |
| std::vector< hpQuad * > | elemOrdinarySubs |
| subset of elems which are GfemQuads. | |
| std::vector< ElementWithCell < Real > * > | elems |
| concepts::Mesh2 & | mesh |
| Mesh. | |
| int | n_elem |
| int | n_gfem |
| int | n_ordinary |
| GfemSpaceParams | params |
| const Unitcell & | uc |
Definition at line 94 of file gfemSpace.h.
typedef std::map< int, GfemControl<2> > concepts::gfem::GfemSpace::ControlCell [private] |
Definition at line 235 of file gfemSpace.h.
typedef std::map< int, GfemControl<1> > concepts::gfem::GfemSpace::ControlEdge [private] |
Definition at line 234 of file gfemSpace.h.
typedef std::map< int, GfemControl<0> > concepts::gfem::GfemSpace::ControlVert [private] |
subset of elems which are hp2D::Quads.
Definition at line 233 of file gfemSpace.h.
Definition at line 97 of file gfemSpace.h.
Definition at line 98 of file gfemSpace.h.
Definition at line 99 of file gfemSpace.h.
typedef Scan<ElementWithCell<Real > > concepts::SpaceOnCells< Real >::Scanner [inherited] |
Reimplemented from concepts::Space< Real >.
Reimplemented in linDG3D::FvdgSpace.
Definition at line 100 of file gfemSpace.h.
| concepts::gfem::GfemSpace::GfemSpace | ( | Mesh2 & | msh, |
| const Unitcell & | uc, | ||
| const GfemSpaceParams & | params, | ||
| const concepts::BoundaryConditions & | bc | ||
| ) |
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.
| msh | The domain of interest partitioned into a mesh. |
| p | Degree of the polynomials to be used. |
| bc | Boundary conditions |
| virtual concepts::gfem::GfemSpace::~GfemSpace | ( | ) | [virtual] |
| int concepts::gfem::GfemSpace::allocDofs | ( | int | numDofs | ) | [protected] |
allocates numDofs dofs
| void concepts::gfem::GfemSpace::assignEdgeDofs | ( | const concepts::Quad & | cell_t, |
| const GfemOverlapCondition & | overc, | ||
| concepts::TColumn< Real > *& | T1 | ||
| ) |
| void concepts::gfem::GfemSpace::assignInnerDofs | ( | const concepts::Quad & | cell_t, |
| const GfemOverlapCondition & | overc, | ||
| concepts::TColumn< Real > *& | T1 | ||
| ) |
| void concepts::gfem::GfemSpace::assignVertexDofs | ( | const concepts::Quad & | cell_t, |
| const GfemOverlapCondition & | overc, | ||
| concepts::TColumn< Real > *& | T1 | ||
| ) |
| void concepts::gfem::GfemSpace::clear | ( | ) |
| virtual uint concepts::gfem::GfemSpace::dim | ( | ) | const [inline, virtual] |
Returns the dimension of the space.
Implements concepts::Space< Real >.
Definition at line 123 of file gfemSpace.h.
| int concepts::gfem::GfemSpace::genVertDof | ( | GfemControlVert | ctrl | ) |
| int concepts::gfem::GfemSpace::getDim | ( | ) | [inline] |
| int concepts::gfem::GfemSpace::getDimGfem | ( | ) | const [inline] |
Definition at line 131 of file gfemSpace.h.
| int concepts::gfem::GfemSpace::getDimOverl | ( | ) | const [inline] |
Definition at line 135 of file gfemSpace.h.
| int concepts::gfem::GfemSpace::getNelm | ( | ) | const [inline] |
Definition at line 150 of file gfemSpace.h.
| int concepts::gfem::GfemSpace::getNelmGfem | ( | ) | const [inline] |
Definition at line 154 of file gfemSpace.h.
| int concepts::gfem::GfemSpace::getNelmOrdinary | ( | ) | const [inline] |
Definition at line 158 of file gfemSpace.h.
| virtual std::ostream& concepts::gfem::GfemSpace::info | ( | std::ostream & | os | ) | const [protected, virtual] |
Returns information in an output stream.
Reimplemented from concepts::SpaceOnCells< Real >.
| bool concepts::gfem::GfemSpace::isEdgeDof | ( | const concepts::Connector2 & | cntr, |
| uint | i | ||
| ) | const |
Returns the maximal polynomial degree of the degrees of freedom on edge i in the cell cntr.
Return value 0 for no degree of freedom.
| bool concepts::gfem::GfemSpace::isInnerDof | ( | const concepts::Connector2 & | quad | ) | const |
Returns a pointer to the maximal polynomial degrees of the inner degree of freedom in the cell quad.
Returns value 0 if there are no inner dof (i.e. cell has no children).
| bool concepts::gfem::GfemSpace::isVertexDof | ( | const concepts::Connector2 & | cntr, |
| uint | i | ||
| ) | const |
Returns, if the i th vertex of cell cntr has a degree of freedom.
| virtual uint concepts::gfem::GfemSpace::nelm | ( | ) | const [inline, virtual] |
Returns the number of elements in the space.
Implements concepts::Space< Real >.
Definition at line 144 of file gfemSpace.h.
| void concepts::gfem::GfemSpace::processBC | ( | const Quad2d & | quad | ) | [private] |
| void concepts::gfem::GfemSpace::processMesh | ( | const Quad2d & | quad | ) | [private] |
| void concepts::gfem::GfemSpace::processMicro | ( | const Quad2d & | quad | ) | [private] |
| void concepts::gfem::GfemSpace::processOverlap | ( | const Quad2d & | cell | ) | [private] |
| void concepts::gfem::GfemSpace::rebuild | ( | ) |
| void concepts::gfem::GfemSpace::recomputeShapefunctions | ( | ) |
| virtual Scan* concepts::gfem::GfemSpace::scan | ( | ) | const [inline, virtual] |
Returns a scanner to iterate over the elements of the space.
Implements concepts::SpaceOnCells< Real >.
Definition at line 163 of file gfemSpace.h.
| ScanGfem* concepts::gfem::GfemSpace::scanGfem | ( | ) | const [inline] |
Definition at line 172 of file gfemSpace.h.
| ScanOrdinary* concepts::gfem::GfemSpace::scanOrdinary | ( | ) | const [inline] |
Definition at line 168 of file gfemSpace.h.
| void concepts::gfem::GfemSpace::verbosePrint | ( | ) |
Definition at line 248 of file gfemSpace.h.
Definition at line 238 of file gfemSpace.h.
Definition at line 237 of file gfemSpace.h.
Definition at line 236 of file gfemSpace.h.
int concepts::gfem::GfemSpace::dim_ [private] |
Definition at line 243 of file gfemSpace.h.
int concepts::gfem::GfemSpace::dimGfem [private] |
Definition at line 244 of file gfemSpace.h.
int concepts::gfem::GfemSpace::dimOverl [private] |
Definition at line 245 of file gfemSpace.h.
std::vector< GfemQuad* > concepts::gfem::GfemSpace::elemGfemSubs [private] |
all the Finite elements owned by this class
Definition at line 230 of file gfemSpace.h.
std::vector< hpQuad* > concepts::gfem::GfemSpace::elemOrdinarySubs [private] |
subset of elems which are GfemQuads.
Definition at line 231 of file gfemSpace.h.
std::vector< ElementWithCell<Real>* > concepts::gfem::GfemSpace::elems [private] |
Definition at line 229 of file gfemSpace.h.
concepts::Mesh2& concepts::gfem::GfemSpace::mesh [private] |
Mesh.
Definition at line 227 of file gfemSpace.h.
int concepts::gfem::GfemSpace::n_elem [private] |
Definition at line 240 of file gfemSpace.h.
int concepts::gfem::GfemSpace::n_gfem [private] |
Definition at line 241 of file gfemSpace.h.
int concepts::gfem::GfemSpace::n_ordinary [private] |
Definition at line 242 of file gfemSpace.h.
const bool concepts::gfem::GfemSpace::NO_SCALE_RES = GfemControl<0>::NO_SCALE_RES [static] |
Definition at line 102 of file gfemSpace.h.
Definition at line 247 of file gfemSpace.h.
const Unitcell& concepts::gfem::GfemSpace::uc [private] |
Definition at line 249 of file gfemSpace.h.
const bool concepts::gfem::GfemSpace::USE_SCALE_RES = GfemControl<0>::USE_SCALE_RES [static] |
Definition at line 103 of file gfemSpace.h.