hp2D Namespace Reference

2D hp-FEM for H1-conforming elements. More...

Namespaces

 l2
 2D hp-FEM for L2-conforming elements.
 

Classes

class  AdaptiveModel
 
class  Advection
 A function class to calculate element matrices for the bilinear form. More...
 
class  ApproxMoments
 
class  APrioriGeometricRefinement
 Class for holding a rule for geometric refinement towards edges and vertices. More...
 
class  APrioriRefinement
 Carries out a-priori given refinements. More...
 
class  APrioriRefinementNew
 
class  APrioriRefinementRule
 
class  APrioriRefinementRuleFactory
 Factory class for a refinement rule. More...
 
class  APrioriRegularRefinement
 Class for holding a rule for a particular h- and p-refinement until an maximum level and maximum polynomial degree is reached. More...
 
class  ArrayElementFormula
 Array of formula values on quadrature points. More...
 
class  ArrayQuadWeights
 Class to represent the quadrature weights on all quadrature points. More...
 
class  BaseEdge
 
class  BaseQuad
 A base of a 2D quad FEM element for different basis functions. More...
 
class  BaseQuadGraphics
 Base class for handling graphics for 2D hp quadrilateral FEM elements. More...
 
class  BilinearFormHelper_0_0
 Helper class for bilinearforms a(u,v), where u and v are 0-forms. More...
 
class  BilinearFormHelper_0_1_Part
 Helper class for bilinear forms a(u,v) where u is a 0-form and v is a 1-form. More...
 
class  BilinearFormHelper_1_1
 Helper class for bilinearforms a(u,v), where u and v are 1-forms, which computes intermediate data for element matrix computation. More...
 
class  BilinearFormHelper_2_1
 Helper class for bilinearforms $a(u,\underline{v})$, where $u$ is a 2-form and $\underline{v}$ a 1-form. More...
 
class  BilinearFormHelper_2_2
 Helper class for bilinearforms a(u,v), where u and v are 2-forms. More...
 
class  BilinearFormOnePartDeriv
 A function class to calculate element matrices for the bilinear form related to a partial derivative of the test functions (scalar). More...
 
class  BilinearFormTwoPartDeriv
 A function class to calculate element matrices for the bilinear form related to a partial derivative of the trial and (!) test functions (scalar). More...
 
class  BuildDofsBase
 Responsible to build the degrees of freedom in a space. More...
 
class  BuildEdgeDofs
 Responsible to build the edge degrees of freedom in a space. More...
 
class  BuildH1EdgeTColumns
 Responsible to build the T columns belonging to edge degrees of freedom in a H1 conforming space with shape functions in tensor product structure. More...
 
class  BuildH1InnerTColumns
 Responsible to build the T columns belonging to inner degrees of freedom in a H1 conforming space with shape functions in tensor product structure. More...
 
class  BuildH1InnerTColumnsHypTrunk
 Responsible to build the T columns belonging to inner degrees of freedom in a H1 conforming (trunk) space with shape functions in tensor product structure. More...
 
class  BuildH1InnerTColumnsLinTrunk
 Responsible to build the T columns belonging to inner degrees of freedom in a H1 conforming (trunk) space with shape functions in tensor product structure. More...
 
class  BuildH1VtxTColumns
 Responsible to build the T columns belonging to vertex degrees of freedom in a H1 conforming space with shape functions in tensor product structure. More...
 
class  BuildHCurlEdgeTColumns
 Responsible to build the T columns belonging to edge degrees of freedom in a H(Curl) conforming space with shape functions in tensor product structure. More...
 
class  BuildHCurlInnerTColumns
 Responsible to build the T columns belonging to inner degrees of freedom in a HCurl conforming space with shape functions in tensor product structure. More...
 
class  BuildInnerDofs
 Responsible to build the inner degrees of freedom in a space. More...
 
class  BuildInnerDofsHypTrunk
 Responsible to build the inner degrees of freedom in a (trunk) space. More...
 
class  BuildInnerDofsLinTrunk
 Responsible to build the inner degrees of freedom in a (trunk) space. More...
 
class  BuildL2InnerTColumns
 Responsible to build the T columns belonging to inner degrees of freedom in a L2 conforming space with shape functions in tensor product structure. More...
 
class  BuildL2InnerTColumnsHypTrunk
 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. More...
 
class  BuildL2InnerTColumnsLinTrunk
 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. More...
 
class  BuildTColumnsBase
 Base class for classes for building T columns for elements in a space with help of a 2D space pre builder. More...
 
class  BuildVertexDofs
 Responsible to build the vertex degrees of freedom in a space. More...
 
struct  DegreeDim
 Dimension of the degrees of freedom in a cell. More...
 
struct  DegreeDim< concepts::InfiniteQuad >
 
struct  DegreeDim< concepts::Quad >
 
struct  DegreeDim< concepts::Triangle >
 
class  DistancePost
 A function class for weighted regularization. More...
 
class  DivDiv
 A function class to calculate element matrices for the Div u*Div v Bilinearform. More...
 
class  Eddy2D_dissipation
 Local contribution to dissipation power loss. More...
 
class  Eddy2D_E
 Class for calculating Eddy current problem with Maxwell modell in h formulation. More...
 
class  Eddy2D_eField
 Electrical field. More...
 
class  Eddy2D_H
 Class for calculating Eddy current problem with Maxwell modell in h formulation. More...
 
class  Eddy2D_H_Interior
 Class holding size and magnetic field of embedded (interior) area. More...
 
class  EdgeGraphics
 Handles graphics for 1D hp FEM elements. More...
 
class  Element
 Abstract class for a 2D FEM element. More...
 
class  ElementFormulaEdgeJump
 Element formula for a jump value on edges of elements of an other element formula. More...
 
class  ElementFormulaEdgeMean
 Element formula for a mean value on edges of elements of an other element formula. More...
 
class  ElementFormulaInterpGrad
 Element formula for the gradient of an scalar element formula. More...
 
class  ElementFormulaInterpGrad< F, 2 >
 
class  ElementFormulaInterpGradN
 Element formula for the gradient of an scalar element formula. More...
 
class  ElementFormulaInterpGradN< F, 2 >
 
class  ElementFormulaSignNormalVector
 Element formula on 1D elements based on Edge2d returning the 1.0 if the normal vector is the right one and -1.0 otherwise. More...
 
class  ElementFunction
 Base class for element functions for hp elements in 2D. More...
 
class  ElementFunction< 1, F, Q >
 
class  EquilibratedMomentsAO
 
class  ExplicitResidual2D
 Given a elliptic equation: More...
 
class  Extrema
 An interface class that computes the maximum/minimum of a function represented as an ElementFormula on an space on hp2D::Quad<Real> only. More...
 
class  Fluxes
 Application of this class is to solve local Problems on one Quad. More...
 
class  FormulaFromWeight
 Makes it possible to plot a given Weight. More...
 
class  Grad
 The gradient of the approximated function in a FE space. More...
 
class  GradLinearForm
 Linear form in 2D. More...
 
class  GridInfo
 Class that represents grid information of a given 2d Fem space. More...
 
class  H1Extension
 Continuous extension of a formula on edges, e.g. More...
 
class  hpAdaptiveSpace
 hp-adaptive space with 2D elements. More...
 
class  hpAdaptiveSpaceDG
 hp-adaptive FEM space in 2D composed of separate spaces hpAdapativeSpace and may be discontinuous. More...
 
class  hpAdaptiveSpaceH1
 
class  hpAdaptiveSpaceHCurl
 
class  hpAdaptiveSpaceHCurl_H1
 Container class for a 2D hp edge element space with an 2D hp nodal element space. More...
 
class  hpAdaptiveSpaceL2
 
class  hpFull
 Helper class for building 2D hp-FEM spaces (space pre builder). More...
 
class  Identity
 A function class to calculate element matrices for the mass matrix. More...
 
class  ImplicitEquilibratedA0
 
class  InfiniteLaguerreQuad
 A 2D FEM element: an infinite quad with basis based on Laguerre functions. More...
 
class  InfiniteQuad
 A 2D FEM element: an infinite quad. More...
 
class  InfiniteQuadFunctions
 Auxiliary functions for infinite quadrilaterals. More...
 
class  InfiniteQuadGraphics
 Handles graphics for 2D hp quadrilateral infinite FEM elements. More...
 
class  InputEddy2D_E
 Helps for reading input parameters for single solving of Eddy2D_E. More...
 
class  InputEddy2D_H
 Helps for reading input parameters for single solving of Eddy2D_H. More...
 
class  InputMaxwell2D_E
 Helps for reading input parameters for single solving of Maxwell2D_E. More...
 
class  InputMaxwell2D_H
 Helps for reading input parameters for single solving of Maxwell2D_H_Base. More...
 
class  IntegrableQuad
 Class holding the quadrature rule and the cell of a quadrilateral element. More...
 
class  KarniadakisDeriv2
 Part of the multidimensional expansion bases for the shape functions of Karniadakis and Sherwin. More...
 
class  Laplace
 A function class to calculate element matrices for the Laplacian. More...
 
class  LaplaceBase
 Base class to calculate element matrices for the Laplacian, for both scalar and matrix formulas. More...
 
class  LaplaceMatrix
 A function class to calculate element matrices for the Laplacian for matrix formulas. More...
 
class  Laplacian
 The Laplacian of the approximated function in a FE space. More...
 
class  LinearFormHelper_0
 Helper class for linearforms l(v), where v is a 0-form. More...
 
class  LinearFormHelper_1
 Helper class for linearforms l(v), where v is a one form. More...
 
class  LinearFormHelper_2
 Helper class for linearforms l(v), where v is a two form. More...
 
class  LocalFluxes
 
class  Maxwell2D_dissipation
 Local contribution to dissipation power loss. More...
 
class  Maxwell2D_E
 Class for calculating Eddy current problem with Maxwell modell in e-formulation. More...
 
class  Maxwell2D_eField
 Electrical field. More...
 
class  Maxwell2D_H
 Class for calculating Eddy current problem with Maxwell modell in h formulation. More...
 
class  Maxwell2D_H_Base
 Base class for calculating Eddy current problem with Maxwell modell in h formulation. More...
 
class  Maxwell2D_H_DD
 Class for calculating Eddy current problem with Maxwell modell in h formulation, with Domain Decomposition. More...
 
class  Maxwell2D_hField
 
class  MaxwellSharedData
 Shared data for RotRot and DivDiv. More...
 
class  NeumannTrace
 The Neumann trace of the approximated function in a FE space. More...
 
class  NeumannTraceElement
 Element on an edge representing the normal derivatives of neighbouring elements, especially their mean or jump. More...
 
class  NeumannTraceSpace
 A the NeumannTrace space of a given 2D - Finite Element space. More...
 
class  NotConnectedIndex
 Exception class to express that a connected index wasn't found. More...
 
class  NTElement_BA
 Element on an edge representing the normal derivative of neighbouring elements, especially their mean or jump. More...
 
class  Partial_xx
 Double partial derivative in x direction of the approximated function in a FE space. More...
 
class  Partial_yy
 Double partial derivative in y direction of the approximated function in a FE space. More...
 
class  PlCurl
 The vectorial 2D curl of the approximated function in a FE space. More...
 
class  PlCurlLinearForm
 Linear form in 2D. More...
 
class  PolyEdgeMax
 Edge gets maximal polynomial degree of adjacent cells. More...
 
class  PolyEdgeMin
 Edge gets minimum of the polynomial degrees of the adjacent cells. More...
 
class  PolyEdgeMinNeighMaxChild
 First the maximum polynomial degree of both sides of the edge is choosen. More...
 
class  PolyEdgeRule
 Base class for rules for polynomial degrees of edges. More...
 
class  Postprocess4
 Computes x to the power of 0.4. More...
 
class  Postprocess7
 Computes x to the power of 0.7. More...
 
class  Postprocess8
 Computes x to the power of 0.8. More...
 
class  Postprocess9
 Computes x to the power of 0.9. More...
 
class  PostprocessSqrt
 Computes to square root of x. More...
 
class  Quad
 A 2D FEM element: a quad. More...
 
class  QuadEdgeBase
 Static class to construct an element hp1D::Element out of an hp2D::Quad. More...
 
class  QuadEdgeFirst
 
class  QuadEdgeJump
 
class  QuadEdgeMean
 
class  QuadFunctions
 Auxiliary functions for quadrilaterals. More...
 
class  QuadGraphics
 Handles graphics for 2D hp quadrilateral FEM elements. More...
 
class  QuadShapeFunctions
 A class for holding the shape functions of nodal elements on quadrilaterials for a particular polynomials degree (ie. More...
 
class  RecomputeShapefct
 
class  Riesz
 Linear form in 2D. More...
 
class  RotRot
 A function class to calculate element matrices for the Rot u*Rot v Bilinearform. More...
 
class  ShapeFunction2D
 Collecting the data of a 2D shape function in one class. More...
 
class  ShortestDist
 A function class for weighted regularization, which returns the square of the shortest distance of a point to the singular vertices. More...
 
class  SingularSet
 Class for handling a set of singular vertices. More...
 
class  SingularVertex
 Class for storing a singular vertex with the coordinates. More...
 
class  Space
 A 2D hp FEM space with continuous, piecewise polynomial basis functions. More...
 
class  SpacePreBuilder
 Exception class to express that an inquired dof is not valid. More...
 
class  SumFactorization
 Sum factorization for an element matrix. More...
 
class  Trace
 The Dirichlet trace of the approximated function in a FE space. More...
 
class  TraceDeriv
 The tangential derivative of the Dirichlet trace of the approximated function in a FE space. More...
 
class  TraceSpace
 Builds the trace space of an FE space. More...
 
class  TransmissionWeight
 Weight for the 2D transmission problem. More...
 
class  TransmissionWeightProd
 Weight for the 2D transmission problem. More...
 
class  TrivialWeight
 A function class for trivial (constant equal 1.0) weight function. More...
 
class  Value
 The approximated function in a FE space. More...
 

Typedefs

typedef concepts::Adaptivity< concepts::Connector, concepts::AdaptiveAdjustP< 2 > > Adaptivity
 
typedef hpAdaptiveSpaceDG< hpAdaptiveSpaceH1hpAdaptiveSpaceH1_DG
 

Enumerations

enum  partDerivType { NO_DERIV = 0, X_DERIV = 1, Y_DERIV = 2 }
 Direction of partial derivative. More...
 

Functions

hpAdaptiveSpaceH1_DGhpAdaptiveSpaceH1_DGFromInput (concepts::Mesh2 &msh, const concepts::InOutParameters input, bool verbose=false)
 Builds and refines a piecewise hp-adaptive H^1-conforming space with use of input parameters. More...
 
hpAdaptiveSpaceH1hpAdaptiveSpaceH1FromInput (concepts::Mesh2 &msh, const concepts::InOutParameters input, bool verbose=false)
 Builds and refines a hp-adaptive H^1-conforming space with use of input parameters. More...
 
hpAdaptiveSpaceHCurlhpAdaptiveSpaceHCurlFromInput (concepts::Mesh2 &msh, const concepts::InOutParameters input, bool verbose=false)
 Builds and refines a hp-adaptive H(curl)-conforming space with use of input parameters. More...
 
hpAdaptiveSpaceL2hpAdaptiveSpaceL2FromInput (concepts::Mesh2 &msh, const concepts::InOutParameters input, bool verbose=false)
 Builds and refines a hp-adaptive $L^2$-conforming space with use of input parameters. More...
 
template<class F >
ShapeFunction2D< F > makeShapeFunction2D (const Quad< F > &quad)
 
template<typename DistClass , typename Function >
std::ostream & operator<< (std::ostream &os, const DistancePost< DistClass, Function > &p)
 
std::ostream & operator<< (std::ostream &os, const Postprocess4 &p)
 
std::ostream & operator<< (std::ostream &os, const Postprocess7 &p)
 
std::ostream & operator<< (std::ostream &os, const Postprocess8 &p)
 
std::ostream & operator<< (std::ostream &os, const Postprocess9 &p)
 
std::ostream & operator<< (std::ostream &os, const PostprocessSqrt &p)
 
std::ostream & operator<< (std::ostream &os, const ShortestDist &p)
 
std::ostream & operator<< (std::ostream &os, const TransmissionWeight &p)
 
std::ostream & operator<< (std::ostream &os, const TransmissionWeightProd &p)
 
std::ostream & operator<< (std::ostream &os, const TrivialWeight &p)
 
void refinehpFull (hp2D::hpFull &prebuild, std::string refinement)
 Refines the space prebuilder prebuild where the refinement rules are given in the string refinement. More...
 
void setQuadrature (enum concepts::intRule rule, uint noP)
 Tensor integration setter routine in hp2D for hp2D::IntegrableQuads. More...
 
template<class F >
void setupAdvection (vectorial::BilinearForm< F, typename concepts::Realtype< F >::type > &bf, const concepts::ElementFormulaContainer< concepts::Point< F, 2 > > frm, bool transpose=true)
 Function to setup a bilinear form related to the vector Advection, namely. More...
 
template<class F >
void setupDivDiv (vectorial::BilinearForm< F, typename concepts::Realtype< F >::type > &bf, const concepts::ElementFormulaContainer< F, typename concepts::Realtype< F >::type > frm=concepts::ElementFormulaContainer< F, typename concepts::Realtype< F >::type >())
 Function to setup a bilinear form. More...
 
template<class F >
void setupGradLinearForm (vectorial::LinearForm< F, typename concepts::Realtype< F >::type > &lf, const concepts::ElementFormulaContainer< concepts::Point< F, 2 > > frm1, const concepts::ElementFormulaContainer< concepts::Point< F, 2 > > frm2)
 Function to setup a linear form related to the vectorial linear form. More...
 
template<class F >
void setupIdDiv (vectorial::BilinearForm< F, typename concepts::Realtype< F >::type > &bf, const concepts::ElementFormulaContainer< F > frm=concepts::ElementFormulaContainer< F >())
 Function to setup a bilinear form related to the vector Identity, namely. More...
 
template<class F >
void setupIdentity (vectorial::BilinearForm< F, typename concepts::Realtype< F >::type > &bf, const concepts::ElementFormulaContainer< concepts::Mapping< F, 2 > > frm, bool transpose=false)
 Function to setup a bilinear form related to the vector Identity, namely. More...
 
template<class F >
void setupIdentity (vectorial::BilinearForm< F, typename concepts::Realtype< F >::type > &bf, const concepts::ElementFormulaContainer< F > frm=concepts::ElementFormulaContainer< F >())
 Function to setup a bilinear form related to the vector Identity, namely. More...
 
template<class F >
void setupLaplace (vectorial::BilinearForm< F, typename concepts::Realtype< F >::type > &bf, const concepts::ElementFormulaContainer< F, typename concepts::Realtype< F >::type > frm=concepts::ElementFormulaContainer< F, typename concepts::Realtype< F >::type >())
 Function to setup a bilinear form related to the vector Laplace, namely. More...
 
template<class F >
void setupLinStrainStrain (vectorial::BilinearForm< F, typename concepts::Realtype< F >::type > &bf, const concepts::ElementFormulaContainer< F, typename concepts::Realtype< F >::type > frm=concepts::ElementFormulaContainer< F, typename concepts::Realtype< F >::type >())
 
template<class F >
void setupRiesz (vectorial::LinearForm< F, typename concepts::Realtype< F >::type > &lf, const concepts::ElementFormulaContainer< concepts::Point< F, 2 > > frm)
 Function to setup a linear form related to the vector Riesz, namely. More...
 

Detailed Description

2D hp-FEM for H1-conforming elements.

The Space can be built using full tensor product polynomial spaces in the elements or trunk spaces (and much more) by changing the way the degrees of freedom are built in the BuildDofsBase class (and its specializations).

Author
Philipp Frauenfelder, 2001

Typedef Documentation

◆ Adaptivity

◆ hpAdaptiveSpaceH1_DG

Enumeration Type Documentation

◆ partDerivType

Direction of partial derivative.

NO_DERIV no derivative X_DERIV partial derivative in x Y_DERIV partial derivative in y

Enumerator
NO_DERIV 
X_DERIV 
Y_DERIV 

Definition at line 59 of file bf_partialderiv.hh.

Function Documentation

◆ hpAdaptiveSpaceH1_DGFromInput()

hpAdaptiveSpaceH1_DG* hp2D::hpAdaptiveSpaceH1_DGFromInput ( concepts::Mesh2 msh,
const concepts::InOutParameters  input,
bool  verbose = false 
)

Builds and refines a piecewise hp-adaptive H^1-conforming space with use of input parameters.

As input parameter is needed:

"p"             - an integer value for the polynomial degrees,
"domain_Attrib" - cell attributes of the domains, 
                  e.g. taking "1 2 3;4" there are two sub-domains with continuous basis 
                  functions in each, where the first sub-domain consists of cells with
                  attributes 1, 2 or 3, and the second of cells with attributes 4.

There may be used the input parameters:

"refinement"       - string with refinement rules, e.g. "h1|0 in 1 -> v2".
"dirichl_bdAttrib" - string with attributes of edges with homogeneous Dirichlet boundary condition, e.g. "100; 102"
"hpAdaptiveSpace_isTrunk" - boolean indicating the use of linear trunk space or not, by default,
                            the trunk space is built.
See also
refinehpFull
Author
Kersten Schmidt, 2010

◆ hpAdaptiveSpaceH1FromInput()

hpAdaptiveSpaceH1* hp2D::hpAdaptiveSpaceH1FromInput ( concepts::Mesh2 msh,
const concepts::InOutParameters  input,
bool  verbose = false 
)

Builds and refines a hp-adaptive H^1-conforming space with use of input parameters.

As input parameter is needed:

"p" - an integer value for the polynomial degrees.

There may be used the input parameters:

"refinement"       - string with refinement rules, e.g. "h1|0 in 1 -> v2".
"dirichl_bdAttrib" - string with attributes of edges with homogeneous Dirichlet boundary condition, e.g. "100; 102"
"hpAdaptiveSpace_isTrunk" - boolean indicating the use of linear trunk space or not, by default, non trunk space is built.
See also
refinehpFull
Author
Kersten Schmidt, 2009

◆ hpAdaptiveSpaceHCurlFromInput()

hpAdaptiveSpaceHCurl* hp2D::hpAdaptiveSpaceHCurlFromInput ( concepts::Mesh2 msh,
const concepts::InOutParameters  input,
bool  verbose = false 
)

Builds and refines a hp-adaptive H(curl)-conforming space with use of input parameters.

As input parameter is needed:

"p" - an integer value for the polynomial degrees.

There may be used the input parameters:

"refinement"       - string with refinement rules, e.g. "h1|0 in 1 -> v2".
"dirichl_bdAttrib" - string with attributes of edges with homogeneous Dirichlet boundary condition, e.g. "100; 102".
See also
refinehpFull
Author
Kersten Schmidt, 2009

◆ hpAdaptiveSpaceL2FromInput()

hpAdaptiveSpaceL2* hp2D::hpAdaptiveSpaceL2FromInput ( concepts::Mesh2 msh,
const concepts::InOutParameters  input,
bool  verbose = false 
)

Builds and refines a hp-adaptive $L^2$-conforming space with use of input parameters.

As input parameter is needed:

"p" - an integer value for the polynomial degrees.

There may be used the input parameters:

"refinement"       - string with refinement rules, e.g. "h1|0 in 1 -> v2".
"dirichl_bdAttrib" - string with attributes of edges with homogeneous Dirichlet boundary condition, e.g. "100; 102"
"hpAdaptiveSpace_isTrunk" - boolean indicating the use of linear trunk space or not, by default, non trunk space is built.
See also
refinehpFull
Author
Kersten Schmidt, 2016

◆ makeShapeFunction2D()

template<class F >
ShapeFunction2D<F> hp2D::makeShapeFunction2D ( const Quad< F > &  quad)

◆ operator<<() [1/10]

template<typename DistClass , typename Function >
std::ostream& hp2D::operator<< ( std::ostream &  os,
const DistancePost< DistClass, Function > &  p 
)
inline

Definition at line 84 of file shortestDist.hh.

◆ operator<<() [2/10]

std::ostream& hp2D::operator<< ( std::ostream &  os,
const Postprocess4 p 
)

◆ operator<<() [3/10]

std::ostream& hp2D::operator<< ( std::ostream &  os,
const Postprocess7 p 
)

◆ operator<<() [4/10]

std::ostream& hp2D::operator<< ( std::ostream &  os,
const Postprocess8 p 
)

◆ operator<<() [5/10]

std::ostream& hp2D::operator<< ( std::ostream &  os,
const Postprocess9 p 
)

◆ operator<<() [6/10]

std::ostream& hp2D::operator<< ( std::ostream &  os,
const PostprocessSqrt p 
)

◆ operator<<() [7/10]

std::ostream& hp2D::operator<< ( std::ostream &  os,
const ShortestDist p 
)

◆ operator<<() [8/10]

std::ostream& hp2D::operator<< ( std::ostream &  os,
const TransmissionWeight p 
)

◆ operator<<() [9/10]

std::ostream& hp2D::operator<< ( std::ostream &  os,
const TransmissionWeightProd p 
)

◆ operator<<() [10/10]

std::ostream& hp2D::operator<< ( std::ostream &  os,
const TrivialWeight p 
)

◆ refinehpFull()

void hp2D::refinehpFull ( hp2D::hpFull prebuild,
std::string  refinement 
)

Refines the space prebuilder prebuild where the refinement rules are given in the string refinement.

The string can consist of several refinement rules of the following form separated by commas, e.g. "p5, h3", which are applied one after the other.

There are the following refinement strategies.

"p"    - uniform polynomal degree enhancement (p-refinement)
"h"    - uniform refinement of the cells (h-refinement) or 
         h-refinement towards edges or vertices
"hp"   - geometrical hp-refinement towards edges or vertices

Each refinement strategy can be complemented with numbers.

"p5"   - polynomial degrees are enhanced by 5
"p2|1" - polynomial degree is first local direction of the quadrilateral
         is enhanced by 2, in the other direction by 1
"h2"   - twice uniform refinement of the cells
"h2|1" - twice uniform refinement of the cells in first local direction
         and a single refinement in the other direction
"hp2"  - twice geometrical hp-refinement towards edges or vertices

If a number is missing it means a single refinement or polynomial degree enhancement by 1.

Note, that the local directions of the quadrilateral are given by the order of the vertices. The first direction is from the 1st vertex to the 2nd or from the 4th to the 3th.

Each refinement rule can be restricted to a number of cells with a common attribute, e.g. "h in 1" means a uniform refinement in all cells with attribute 1.

For the h- and the hp-refinement rules vertices or edges can be given to which should be refined.

"h  -> v1"  - h-refinement  toward vertices with attribute 1
"h  -> e22" - h-refinement  toward edges with attribute 22
"hp -> v1"  - hp-refinement toward vertices with attribute 1
"hp -> e22" - hp-refinement toward edges with attribute 22

The cells touching these specified vertices and edges are refinement, and for hp-refinement the polynomial degrees in the other cells are increased by 1.

A combination of restriction towards cells and of refinement towards vertices or edges is possible, e.g. "h1|0 in 1 -> v2".

Author
Kersten Schmidt, 2009

◆ setQuadrature()

void hp2D::setQuadrature ( enum concepts::intRule  rule,
uint  noP 
)

Tensor integration setter routine in hp2D for hp2D::IntegrableQuads.

Parameters
ruleQuadrature rule type, e.g. concepts::TRAPEZE, concepts::GAUSS_JACOBI
noPconstant number of quadrature points of given type

◆ setupAdvection()

template<class F >
void hp2D::setupAdvection ( vectorial::BilinearForm< F, typename concepts::Realtype< F >::type > &  bf,
const concepts::ElementFormulaContainer< concepts::Point< F, 2 > >  frm,
bool  transpose = true 
)

Function to setup a bilinear form related to the vector Advection, namely.

\[\sum_{i,j=1}^2 \int_K w_j u_i\frac{\partial v_i}{\partial x_j}\mathrm{d}x = \sum_{i=1}^2 \int_K \underline{w}\cdot\nabla v_i u_i \mathrm{d}x = \int_K \underline{w}^\top(\nabla\underline{v})^\top\underline{u}\mathrm{d}x\]

if transpose is set to true or

\[\sum_{i,j=1}^2 \int_K w_i u_j\frac{\partial v_i}{\partial x_j}\mathrm{d}x = \sum_{i=1}^2 \int_K w_i\underline{u}\cdot\nabla v_i \mathrm{d}x = \int_K \underline{w}^\top(\nabla\underline{v})\underline{u}\mathrm{d}x\]

if transpose is set to false, both on vectorial spaces, where $\underline{u}$ and $\underline{v}$ are trial and test functions respectively, $\underline{w}$ is a given vectorial formula, and

\[ \nabla \underline{v} = \left(\begin{array}{cc} \frac{\partial u_1}{\partial x_1} & \frac{\partial u_1}{\partial x_2} \\ \frac{\partial u_2}{\partial x_1} & \frac{\partial u_2}{\partial x_2} . \end{array}\right) \]

◆ setupDivDiv()

template<class F >
void hp2D::setupDivDiv ( vectorial::BilinearForm< F, typename concepts::Realtype< F >::type > &  bf,
const concepts::ElementFormulaContainer< F, typename concepts::Realtype< F >::type >  frm = concepts::ElementFormulaContainer< F, typename concepts::Realtype< F >::type >() 
)

Function to setup a bilinear form.

\[\int_K f(x)\mathrm{div}\underline{u} \mathrm{div}\underline{v}\mathrm{d}x\]

on vectorial spaces.

Examples
elasticity2D_tutorial.cc.

◆ setupGradLinearForm()

template<class F >
void hp2D::setupGradLinearForm ( vectorial::LinearForm< F, typename concepts::Realtype< F >::type > &  lf,
const concepts::ElementFormulaContainer< concepts::Point< F, 2 > >  frm1,
const concepts::ElementFormulaContainer< concepts::Point< F, 2 > >  frm2 
)

Function to setup a linear form related to the vectorial linear form.

\[\int_K \underline{f}_1\cdot \mbox{\bf grad}{v_1} + \underline{f}_2\cdot \mbox{\bf grad}{v_2}\mathrm{d}x\]

on vectorial spaces, where $v_1$ and $v_2$ are the first and second component of the test function $\underline{v}$, respectively.

◆ setupIdDiv()

template<class F >
void hp2D::setupIdDiv ( vectorial::BilinearForm< F, typename concepts::Realtype< F >::type > &  bf,
const concepts::ElementFormulaContainer< F >  frm = concepts::ElementFormulaContainer< F >() 
)

Function to setup a bilinear form related to the vector Identity, namely.

\[\int_K f(x) u \mathrm{div}\underline{v}\mathrm{d}x\]

where the test space is a vectorial one.

◆ setupIdentity() [1/2]

template<class F >
void hp2D::setupIdentity ( vectorial::BilinearForm< F, typename concepts::Realtype< F >::type > &  bf,
const concepts::ElementFormulaContainer< concepts::Mapping< F, 2 > >  frm,
bool  transpose = false 
)

Function to setup a bilinear form related to the vector Identity, namely.

\[\int_K f(x) \underline{u}^\top A\underline{v}\mathrm{d}x\]

on vectorial spaces. If transpose is true the transpose of the given matrix is taken.

◆ setupIdentity() [2/2]

template<class F >
void hp2D::setupIdentity ( vectorial::BilinearForm< F, typename concepts::Realtype< F >::type > &  bf,
const concepts::ElementFormulaContainer< F >  frm = concepts::ElementFormulaContainer< F >() 
)

Function to setup a bilinear form related to the vector Identity, namely.

\[\int_K f(x) \underline{u}\cdot\underline{v}\mathrm{d}x\]

on vectorial spaces.

◆ setupLaplace()

template<class F >
void hp2D::setupLaplace ( vectorial::BilinearForm< F, typename concepts::Realtype< F >::type > &  bf,
const concepts::ElementFormulaContainer< F, typename concepts::Realtype< F >::type >  frm = concepts::ElementFormulaContainer< F, typename concepts::Realtype< F >::type >() 
)

Function to setup a bilinear form related to the vector Laplace, namely.

\[\int_K f(x)\mathrm{grad}\underline{u}:\mathrm{grad}\underline{v}\mathrm{d}x\]

on vectorial spaces.

◆ setupLinStrainStrain()

template<class F >
void hp2D::setupLinStrainStrain ( vectorial::BilinearForm< F, typename concepts::Realtype< F >::type > &  bf,
const concepts::ElementFormulaContainer< F, typename concepts::Realtype< F >::type >  frm = concepts::ElementFormulaContainer< F, typename concepts::Realtype< F >::type >() 
)

◆ setupRiesz()

template<class F >
void hp2D::setupRiesz ( vectorial::LinearForm< F, typename concepts::Realtype< F >::type > &  lf,
const concepts::ElementFormulaContainer< concepts::Point< F, 2 > >  frm 
)

Function to setup a linear form related to the vector Riesz, namely.

\[\int_K \underline{f}\cdot\underline{v}\mathrm{d}x\]

on vectorial spaces.

Page URL: http://wiki.math.ethz.ch/bin/view/Concepts/WebHome
21 August 2020
© 2020 Eidgenössische Technische Hochschule Zürich