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::GfemSpaceFast Class Reference

#include <gfemSpaceFast.h>

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

List of all members.

Public Types

typedef hp2D::Quad< RealhpQuad
typedef StlVectorScan
< ElementWithCell< Real > > 
Scan
typedef StlVectorScan
< GfemQuadFast
ScanGfem
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
 GfemSpaceFast (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 ()
void registerFormula (const RCP< const concepts::ElementFormula< Cmplx > > &formula, GfemUCQuad::EvalMode mode=GfemUCQuad::EVAL_ON_MICRO)
virtual Scanscan () const
 Returns a scanner to iterate over the elements of the space.
ScanGfemscanGfem () const
ScanOrdinaryscanOrdinary () 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::Mesh2mesh
 Mesh.
bool microStructureMesh
int n_elem
int n_gfem
int n_ordinary
GfemSpaceParams params
const Unitcelluc
RCP< GfemUCQuaducQ

Detailed Description

Definition at line 20 of file gfemSpaceFast.h.


Member Typedef Documentation

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.

Reimplemented from concepts::Space< Real >.

Reimplemented in linDG3D::FvdgSpace.

Definition at line 74 of file space.hh.

Definition at line 26 of file gfemSpaceFast.h.


Constructor & Destructor Documentation

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.

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

Member Function Documentation

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

allocates numDofs dofs

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

Definition at line 53 of file gfemSpaceFast.h.

Here is the call graph for this function:

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.

Deprecated:
: use getNelm()

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 ( )
Note:
: one probably wants to call this function after changing the Quadrature rule on the micro space. So call uc.ucSpace.recomputeShapefunctions() first.
void concepts::gfem::GfemSpaceFast::registerFormula ( const RCP< const concepts::ElementFormula< Cmplx > > &  formula,
GfemUCQuad::EvalMode  mode = GfemUCQuad::EVAL_ON_MICRO 
) [inline]

Definition at line 134 of file gfemSpaceFast.h.

Here is the call graph for this function:

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 ( )

Member Data Documentation

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.

Definition at line 187 of file gfemSpaceFast.h.

Definition at line 188 of file gfemSpaceFast.h.

Definition at line 189 of file gfemSpaceFast.h.

all the Finite elements owned by this class

Definition at line 174 of file gfemSpaceFast.h.

subset of elems which are GfemQuadFasts.

Definition at line 175 of file gfemSpaceFast.h.

Definition at line 173 of file gfemSpaceFast.h.

Mesh.

Definition at line 169 of file gfemSpaceFast.h.

Definition at line 170 of file gfemSpaceFast.h.

Definition at line 184 of file gfemSpaceFast.h.

Definition at line 185 of file gfemSpaceFast.h.

Definition at line 186 of file gfemSpaceFast.h.

Definition at line 28 of file gfemSpaceFast.h.

Definition at line 191 of file gfemSpaceFast.h.

Definition at line 193 of file gfemSpaceFast.h.

Definition at line 172 of file gfemSpaceFast.h.

Definition at line 29 of file gfemSpaceFast.h.


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

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