#include <gfemSpaceFast.h>


Public Types | |
| typedef hp2D::Quad< Real > | hpQuad |
| typedef StlVectorScan < ElementWithCell< Real > > | Scan |
| typedef StlVectorScan < GfemQuadFast > | 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 |
| GfemSpaceFast (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 () |
| void | registerFormula (const RCP< const concepts::ElementFormula< Cmplx > > &formula, GfemUCQuad::EvalMode mode=GfemUCQuad::EVAL_ON_MICRO) |
| virtual Scan * | scan () const |
| Returns a scanner to iterate over the elements of the space. | |
| ScanGfem * | scanGfem () const |
| ScanOrdinary * | scanOrdinary () const |
| void | verbosePrint () |
| virtual | ~GfemSpaceFast () |
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. | |
| bool | isMicroStructureMesh () |
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< GfemQuadFast * > | elemGfemSubs |
| all the Finite elements owned by this class | |
| std::vector< hpQuad * > | elemOrdinarySubs |
| subset of elems which are GfemQuadFasts. | |
| std::vector< ElementWithCell < Real > * > | elems |
| concepts::Mesh2 & | mesh |
| Mesh. | |
| bool | microStructureMesh |
| int | n_elem |
| int | n_gfem |
| int | n_ordinary |
| GfemSpaceParams | params |
| const Unitcell & | uc |
| RCP< GfemUCQuad > | ucQ |
Definition at line 20 of file gfemSpaceFast.h.
typedef std::map< int, GfemControl<2> > concepts::gfem::GfemSpaceFast::ControlCell [private] |
Definition at line 179 of file gfemSpaceFast.h.
typedef std::map< int, GfemControl<1> > concepts::gfem::GfemSpaceFast::ControlEdge [private] |
Definition at line 178 of file gfemSpaceFast.h.
typedef std::map< int, GfemControl<0> > concepts::gfem::GfemSpaceFast::ControlVert [private] |
subset of elems which are hp2D::Quads.
Definition at line 177 of file gfemSpaceFast.h.
Definition at line 23 of file gfemSpaceFast.h.
Definition at line 24 of file gfemSpaceFast.h.
Definition at line 25 of file gfemSpaceFast.h.
typedef Scan<ElementWithCell<Real > > concepts::SpaceOnCells< Real >::Scanner [inherited] |
Reimplemented from concepts::Space< Real >.
Reimplemented in linDG3D::FvdgSpace.
Definition at line 26 of file gfemSpaceFast.h.
| concepts::gfem::GfemSpaceFast::GfemSpaceFast | ( | 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::GfemSpaceFast::~GfemSpaceFast | ( | ) | [virtual] |
| int concepts::gfem::GfemSpaceFast::allocDofs | ( | int | numDofs | ) | [protected] |
allocates numDofs dofs
| void concepts::gfem::GfemSpaceFast::assignEdgeDofs | ( | const concepts::Quad & | cell_t, |
| const GfemOverlapCondition & | overc, | ||
| concepts::TColumn< Real > *& | T1 | ||
| ) |
| void concepts::gfem::GfemSpaceFast::assignInnerDofs | ( | const concepts::Quad & | cell_t, |
| const GfemOverlapCondition & | overc, | ||
| concepts::TColumn< Real > *& | T1 | ||
| ) |
| void concepts::gfem::GfemSpaceFast::assignVertexDofs | ( | const concepts::Quad & | cell_t, |
| const GfemOverlapCondition & | overc, | ||
| concepts::TColumn< Real > *& | T1 | ||
| ) |
| void concepts::gfem::GfemSpaceFast::clear | ( | ) |
| virtual uint concepts::gfem::GfemSpaceFast::dim | ( | ) | const [inline, virtual] |
Returns the dimension of the space.
Implements concepts::Space< Real >.
Definition at line 49 of file gfemSpaceFast.h.
| int concepts::gfem::GfemSpaceFast::genVertDof | ( | GfemControlVert | ctrl | ) |
| int concepts::gfem::GfemSpaceFast::getDim | ( | ) | [inline] |
| int concepts::gfem::GfemSpaceFast::getDimGfem | ( | ) | const [inline] |
Definition at line 57 of file gfemSpaceFast.h.
| int concepts::gfem::GfemSpaceFast::getDimOverl | ( | ) | const [inline] |
Definition at line 61 of file gfemSpaceFast.h.
| int concepts::gfem::GfemSpaceFast::getNelm | ( | ) | const [inline] |
Definition at line 76 of file gfemSpaceFast.h.
| int concepts::gfem::GfemSpaceFast::getNelmGfem | ( | ) | const [inline] |
Definition at line 80 of file gfemSpaceFast.h.
| int concepts::gfem::GfemSpaceFast::getNelmOrdinary | ( | ) | const [inline] |
Definition at line 84 of file gfemSpaceFast.h.
| virtual std::ostream& concepts::gfem::GfemSpaceFast::info | ( | std::ostream & | os | ) | const [protected, virtual] |
Returns information in an output stream.
Reimplemented from concepts::SpaceOnCells< Real >.
| bool concepts::gfem::GfemSpaceFast::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::GfemSpaceFast::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::GfemSpaceFast::isMicroStructureMesh | ( | ) | [inline, protected] |
Definition at line 155 of file gfemSpaceFast.h.
| bool concepts::gfem::GfemSpaceFast::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::GfemSpaceFast::nelm | ( | ) | const [inline, virtual] |
Returns the number of elements in the space.
Implements concepts::Space< Real >.
Definition at line 70 of file gfemSpaceFast.h.
| void concepts::gfem::GfemSpaceFast::processBC | ( | const Quad2d & | quad | ) | [private] |
| void concepts::gfem::GfemSpaceFast::processMesh | ( | const Quad2d & | quad | ) | [private] |
| void concepts::gfem::GfemSpaceFast::processMicro | ( | const Quad2d & | quad | ) | [private] |
| void concepts::gfem::GfemSpaceFast::processOverlap | ( | const Quad2d & | cell | ) | [private] |
| void concepts::gfem::GfemSpaceFast::rebuild | ( | ) |
| void concepts::gfem::GfemSpaceFast::recomputeShapefunctions | ( | ) |
| void concepts::gfem::GfemSpaceFast::registerFormula | ( | const RCP< const concepts::ElementFormula< Cmplx > > & | formula, |
| GfemUCQuad::EvalMode | mode = GfemUCQuad::EVAL_ON_MICRO |
||
| ) | [inline] |
| virtual Scan* concepts::gfem::GfemSpaceFast::scan | ( | ) | const [inline, virtual] |
Returns a scanner to iterate over the elements of the space.
Implements concepts::SpaceOnCells< Real >.
Definition at line 89 of file gfemSpaceFast.h.
| ScanGfem* concepts::gfem::GfemSpaceFast::scanGfem | ( | ) | const [inline] |
Definition at line 98 of file gfemSpaceFast.h.
| ScanOrdinary* concepts::gfem::GfemSpaceFast::scanOrdinary | ( | ) | const [inline] |
Definition at line 94 of file gfemSpaceFast.h.
| void concepts::gfem::GfemSpaceFast::verbosePrint | ( | ) |
Definition at line 192 of file gfemSpaceFast.h.
Definition at line 182 of file gfemSpaceFast.h.
Definition at line 181 of file gfemSpaceFast.h.
Definition at line 180 of file gfemSpaceFast.h.
int concepts::gfem::GfemSpaceFast::dim_ [private] |
Definition at line 187 of file gfemSpaceFast.h.
int concepts::gfem::GfemSpaceFast::dimGfem [private] |
Definition at line 188 of file gfemSpaceFast.h.
int concepts::gfem::GfemSpaceFast::dimOverl [private] |
Definition at line 189 of file gfemSpaceFast.h.
std::vector< GfemQuadFast* > concepts::gfem::GfemSpaceFast::elemGfemSubs [private] |
all the Finite elements owned by this class
Definition at line 174 of file gfemSpaceFast.h.
std::vector< hpQuad* > concepts::gfem::GfemSpaceFast::elemOrdinarySubs [private] |
subset of elems which are GfemQuadFasts.
Definition at line 175 of file gfemSpaceFast.h.
std::vector< ElementWithCell<Real>* > concepts::gfem::GfemSpaceFast::elems [private] |
Definition at line 173 of file gfemSpaceFast.h.
Mesh.
Definition at line 169 of file gfemSpaceFast.h.
bool concepts::gfem::GfemSpaceFast::microStructureMesh [private] |
Definition at line 170 of file gfemSpaceFast.h.
int concepts::gfem::GfemSpaceFast::n_elem [private] |
Definition at line 184 of file gfemSpaceFast.h.
int concepts::gfem::GfemSpaceFast::n_gfem [private] |
Definition at line 185 of file gfemSpaceFast.h.
int concepts::gfem::GfemSpaceFast::n_ordinary [private] |
Definition at line 186 of file gfemSpaceFast.h.
const bool concepts::gfem::GfemSpaceFast::NO_SCALE_RES = GfemControl<0>::NO_SCALE_RES [static] |
Definition at line 28 of file gfemSpaceFast.h.
Definition at line 191 of file gfemSpaceFast.h.
const Unitcell& concepts::gfem::GfemSpaceFast::uc [private] |
Definition at line 193 of file gfemSpaceFast.h.
RCP<GfemUCQuad> concepts::gfem::GfemSpaceFast::ucQ [private] |
Definition at line 172 of file gfemSpaceFast.h.
const bool concepts::gfem::GfemSpaceFast::USE_SCALE_RES = GfemControl<0>::USE_SCALE_RES [static] |
Definition at line 29 of file gfemSpaceFast.h.