Home | Doxygen Documentation | Tutorials | Developer Tools (restricted)

Public Types | Public Member Functions | Static Public Attributes | Protected Member Functions | Private Types | Private Member Functions | Private Attributes
concepts::gfem::GfemSpace Class Reference

#include <gfemSpace.h>

Inheritance diagram for concepts::gfem::GfemSpace:
Inheritance graph
[legend]
Collaboration diagram for concepts::gfem::GfemSpace:
Collaboration graph
[legend]

List of all members.

Public Types

typedef hp2D::Quad< RealhpQuad
typedef StlVectorScan
< ElementWithCell< Real > > 
Scan
typedef StlVectorScan< GfemQuadScanGfem
typedef Scan< ElementWithCell
< Real > > 
Scanner
typedef StlVectorScan< hpQuadScanOrdinary

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 &params, 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 Scanscan () const
 Returns a scanner to iterate over the elements of the space.
ScanGfemscanGfem () const
ScanOrdinaryscanOrdinary () 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::Mesh2mesh
 Mesh.
int n_elem
int n_gfem
int n_ordinary
GfemSpaceParams params
const Unitcelluc

Detailed Description

Definition at line 94 of file gfemSpace.h.


Member Typedef Documentation

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.

Reimplemented from concepts::Space< Real >.

Reimplemented in linDG3D::FvdgSpace.

Definition at line 74 of file space.hh.

Definition at line 100 of file gfemSpace.h.


Constructor & Destructor Documentation

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.

Parameters:
mshThe domain of interest partitioned into a mesh.
pDegree of the polynomials to be used.
bcBoundary conditions
virtual concepts::gfem::GfemSpace::~GfemSpace ( ) [virtual]

Member Function Documentation

int concepts::gfem::GfemSpace::allocDofs ( int  numDofs) [protected]

allocates numDofs dofs

Returns:
index of the first allocated dof
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]

Definition at line 127 of file gfemSpace.h.

Here is the call graph for this function:

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.

Deprecated:
: use getNelm()

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 ( )
Note:
: one probably wants to call this function after changing the Quadrature rule on the micro space. So call uc.ucSpace.recomputeShapefunctions() first.
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 ( )

Member Data Documentation

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.

Definition at line 243 of file gfemSpace.h.

Definition at line 244 of file gfemSpace.h.

Definition at line 245 of file gfemSpace.h.

all the Finite elements owned by this class

Definition at line 230 of file gfemSpace.h.

subset of elems which are GfemQuads.

Definition at line 231 of file gfemSpace.h.

Definition at line 229 of file gfemSpace.h.

Mesh.

Definition at line 227 of file gfemSpace.h.

Definition at line 240 of file gfemSpace.h.

Definition at line 241 of file gfemSpace.h.

Definition at line 242 of file gfemSpace.h.

Definition at line 102 of file gfemSpace.h.

Definition at line 247 of file gfemSpace.h.

Definition at line 249 of file gfemSpace.h.

Definition at line 103 of file gfemSpace.h.


The documentation for this class was generated from the following file:

Home | Doxygen Documentation | Tutorials | Developer Tools (restricted)