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

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

#include <gfemLaplace.h>

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

List of all members.

Public Types

typedef RCP< const
ElementFormula< Cmplx > > 
ElementFormulaRCP
typedef concepts::Combtype
< Cmplx, typename
concepts::Realtype< Cmplx >
::type >::type 
value_type

Public Member Functions

virtual GfemLaplaceclone () const
 Virtual constructor.
void computeEM_reference (const GfemQuadFast &elmX, const GfemQuadFast &elmY, concepts::ElementMatrix< Cmplx > &em)
void data (const concepts::RCP< concepts::SharedJacobianAdj< 2 > > d)
 Set the pointer to the shared data.
concepts::RCP
< concepts::SharedJacobianAdj< 2 > > 
data () const
 Gets the pointer to the shared data.
 GfemLaplace (ElementFormulaRCP formula, bool ignoreNonGfem=false)
 GfemLaplace (const GfemLaplace &other)
virtual void operator() (const Element< typename Realtype< Cmplx >::type > &elmX, const Element< typename Realtype< Cmplx >::type > &elmY, ElementMatrix< Cmplx > &em, const ElementPair< typename Realtype< Cmplx >::type > &ep)
 Evaluates the bilinear form for all shape functions on elmX and elmY and stores the result in the matrix em.
virtual void operator() (const Element< typename Realtype< Cmplx >::type > &elmX, const Element< typename Realtype< Cmplx >::type > &elmY, ElementMatrix< Cmplx > &em)=0
 Evaluates the bilinear form for all shape functions on elmX and elmY and stores the result in the matrix em.
void operator() (const GfemQuad &elmX, const GfemQuad &elmY, concepts::ElementMatrix< Cmplx > &em)
virtual void operator() (const concepts::Element< Real > &elmX, const concepts::Element< Real > &elmY, concepts::ElementMatrix< Cmplx > &em)
void operator() (const GfemQuadFast &elmX, const GfemQuadFast &elmY, concepts::ElementMatrix< Cmplx > &em)
virtual ~GfemLaplace ()

Protected Member Functions

void allocHelpers (const GfemQuadFast &elm1)
bool assemble_ (const Quad< Real > *elmX, const Quad< Real > *elmY, concepts::ElementMatrix< value_type > &em)
void computeIntermediate_ (const BaseQuad< Real > &elm, const int i=-1, const int j=-1)
 Compute the intermediate data for element matrix computation.
void fillHelpers (const GfemQuadFast &elm1)
CmplxgetH1 (int nu1, int jmac1, int imac2, int jmac2, int imic1, int imic2)
CmplxgetH2 (int ikappa1, int imac2, int jmac2, int imic1, int imic2)
CmplxgetH4 (int ikappa1, int ikappa2, int imic1, int imic2)
virtual std::ostream & info (std::ostream &os) const
 Returns information in an output stream.

Protected Attributes

concepts::ElementFormulaContainer
< F > 
frm_
 Element formula.
concepts::ElementFormulaContainer
< concepts::Mapping< G, 2 > > 
frmM_
 Matrix element formula.
CmplxH1
CmplxH2
CmplxH4
int i_comp
int i_diff1
int i_diff2
bool ignoreNonGfem
concepts::Array
< concepts::Mapping< G, 2 > > 
intermediateMatrix_
 Intermediate matrix.
concepts::Array< F > intermediateValue_
 Intermediate value.
KarniadakisCoeffskcoeffsX_
KarniadakisCoeffskcoeffsY_
int nKappa [2]
int nMacro [2]
int nMic
int pMacro [2]

Static Protected Attributes

static const int SELMAC = KarniadakisCoeffs::SELMAC
static const int SELMIC = 1 - KarniadakisCoeffs::SELMAC
static const int SELX = 0
static const int SELY = 1

Private Attributes

ElementFormulaRCP formula

Detailed Description

Definition at line 11 of file gfemLaplace.h.


Member Typedef Documentation

Definition at line 16 of file gfemLaplace.h.

typedef concepts::Combtype<Cmplx ,typename concepts::Realtype<Cmplx >::type >::type hp2D::LaplaceBase< Cmplx , typename concepts::Realtype<Cmplx >::type >::value_type [inherited]

Definition at line 62 of file bf_laplace.hh.


Constructor & Destructor Documentation

concepts::gfem::GfemLaplace::GfemLaplace ( ElementFormulaRCP  formula,
bool  ignoreNonGfem = false 
) [inline]
Parameters:
ignoreNonGfemdoes not call the inherited operator for hp2D::Elements, and rather ignores those elements completely.

Definition at line 21 of file gfemLaplace.h.

concepts::gfem::GfemLaplace::GfemLaplace ( const GfemLaplace other) [inline]

Definition at line 33 of file gfemLaplace.h.

virtual concepts::gfem::GfemLaplace::~GfemLaplace ( ) [inline, virtual]

Definition at line 60 of file gfemLaplace.h.


Member Function Documentation

void concepts::gfem::GfemLaplace::allocHelpers ( const GfemQuadFast elm1) [protected]
bool hp2D::LaplaceBase< Cmplx , typename concepts::Realtype<Cmplx >::type >::assemble_ ( const Quad< Real > *  elmX,
const Quad< Real > *  elmY,
concepts::ElementMatrix< value_type > &  em 
) [protected, inherited]
virtual GfemLaplace* concepts::gfem::GfemLaplace::clone ( ) const [inline, virtual]

Virtual constructor.

Returns a pointer to a copy of itself. The caller is responsible to destroy this copy.

Reimplemented from hp2D::Laplace< Cmplx >.

Definition at line 29 of file gfemLaplace.h.

Here is the call graph for this function:

void concepts::gfem::GfemLaplace::computeEM_reference ( const GfemQuadFast elmX,
const GfemQuadFast elmY,
concepts::ElementMatrix< Cmplx > &  em 
)
template<class F, class G = typename concepts::Realtype<F>::type>
void hp2D::BilinearFormHelper_1_1< F, G >::computeIntermediate_ ( const BaseQuad< Real > &  elm,
const int  i = -1,
const int  j = -1 
) [protected, inherited]

Compute the intermediate data for element matrix computation.

Parameters:
iif i=0 or 1, then take only i-th column of Jacobian matrix (for test function)
jif j=0 or 1, then take only j-th column of Jacobian matrix (for trial function)

The Jacobian matrices have to been taken both full (i,j = -1) or both partial (i,j = 0 or 1).

Matrix formulas and complex valued scalar formulas are only implemented for full Jacobians.

template<class F, class G = typename concepts::Realtype<F>::type>
concepts::RCP<concepts::SharedJacobianAdj<2> > hp2D::BilinearFormHelper_1_1< F, G >::data ( ) const [inherited]

Gets the pointer to the shared data.

template<class F, class G = typename concepts::Realtype<F>::type>
void hp2D::BilinearFormHelper_1_1< F, G >::data ( const concepts::RCP< concepts::SharedJacobianAdj< 2 > >  d) [inherited]

Set the pointer to the shared data.

void concepts::gfem::GfemLaplace::fillHelpers ( const GfemQuadFast elm1) [protected]
Cmplx& concepts::gfem::GfemLaplace::getH1 ( int  nu1,
int  jmac1,
int  imac2,
int  jmac2,
int  imic1,
int  imic2 
) [inline, protected]

Definition at line 90 of file gfemLaplace.h.

Cmplx& concepts::gfem::GfemLaplace::getH2 ( int  ikappa1,
int  imac2,
int  jmac2,
int  imic1,
int  imic2 
) [inline, protected]

Definition at line 80 of file gfemLaplace.h.

Cmplx& concepts::gfem::GfemLaplace::getH4 ( int  ikappa1,
int  ikappa2,
int  imic1,
int  imic2 
) [inline, protected]

Definition at line 72 of file gfemLaplace.h.

virtual std::ostream& concepts::gfem::GfemLaplace::info ( std::ostream &  os) const [protected, virtual]

Returns information in an output stream.

Reimplemented from hp2D::Laplace< Cmplx >.

void concepts::gfem::GfemLaplace::operator() ( const GfemQuad elmX,
const GfemQuad elmY,
concepts::ElementMatrix< Cmplx > &  em 
)
virtual void concepts::gfem::GfemLaplace::operator() ( const concepts::Element< Real > &  elmX,
const concepts::Element< Real > &  elmY,
concepts::ElementMatrix< Cmplx > &  em 
) [virtual]

Reimplemented from hp2D::Laplace< Cmplx >.

void concepts::gfem::GfemLaplace::operator() ( const GfemQuadFast elmX,
const GfemQuadFast elmY,
concepts::ElementMatrix< Cmplx > &  em 
)
virtual void concepts::BilinearForm< Cmplx , typename Realtype<Cmplx >::type >::operator() ( const Element< typename Realtype<Cmplx >::type > &  elmX,
const Element< typename Realtype<Cmplx >::type > &  elmY,
ElementMatrix< Cmplx > &  em,
const ElementPair< typename Realtype<Cmplx >::type > &  ep 
) [inline, virtual, inherited]

Evaluates the bilinear form for all shape functions on elmX and elmY and stores the result in the matrix em.

If this method is not reimplemented in a derived class, the default behaviour is to call the application operator without ep.

Postcondition:
The returned matrix em has the correct size.
Parameters:
elmXLeft element
elmYRight element
emReturn element matrix
epElement pair holding more information on the pair elmX and elmY

Definition at line 53 of file bilinearForm.hh.

virtual void concepts::BilinearForm< Cmplx , typename Realtype<Cmplx >::type >::operator() ( const Element< typename Realtype<Cmplx >::type > &  elmX,
const Element< typename Realtype<Cmplx >::type > &  elmY,
ElementMatrix< Cmplx > &  em 
) [pure virtual, inherited]

Evaluates the bilinear form for all shape functions on elmX and elmY and stores the result in the matrix em.

Postcondition:
The returned matrix em has the correct size.
Parameters:
elmXLeft element (test functions)
elmYRight element (trial functions)
emReturn element matrix

Member Data Documentation

Definition at line 66 of file gfemLaplace.h.

template<class F, class G = typename concepts::Realtype<F>::type>
concepts::ElementFormulaContainer<F> hp2D::BilinearFormHelper_1_1< F, G >::frm_ [protected, inherited]

Element formula.

Definition at line 216 of file bilinearFormHelper.hh.

template<class F, class G = typename concepts::Realtype<F>::type>
concepts::ElementFormulaContainer<concepts::Mapping<G,2> > hp2D::BilinearFormHelper_1_1< F, G >::frmM_ [protected, inherited]

Matrix element formula.

Definition at line 218 of file bilinearFormHelper.hh.

Definition at line 109 of file gfemLaplace.h.

Definition at line 108 of file gfemLaplace.h.

Definition at line 107 of file gfemLaplace.h.

Definition at line 118 of file gfemLaplace.h.

Definition at line 116 of file gfemLaplace.h.

Definition at line 117 of file gfemLaplace.h.

Definition at line 122 of file gfemLaplace.h.

template<class F, class G = typename concepts::Realtype<F>::type>
concepts::Array<concepts::Mapping<G,2> > hp2D::BilinearFormHelper_1_1< F, G >::intermediateMatrix_ [protected, inherited]

Intermediate matrix.

In case of a scalar formula:

\[\mbox{adj}(J) \mbox{adj}(J)^\top\]

In case of a matrix formula $M$:

\[\mbox{adj}(J) M \mbox{adj}(J)^\top\]

In case of partial Jacobian:

\[\mbox{adj}(J)_{\cdot,j} (\mbox{adj}(J)_{\cdot,i})^\top\]

Definition at line 214 of file bilinearFormHelper.hh.

template<class F, class G = typename concepts::Realtype<F>::type>
concepts::Array<F> hp2D::BilinearFormHelper_1_1< F, G >::intermediateValue_ [protected, inherited]

Intermediate value.

In case of a scalar formula:

\[\frac{f(F_K(\xi))}{\det J}\]

In case of a matrix formula:

\[\frac{1}{\det J}\]

Definition at line 202 of file bilinearFormHelper.hh.

Definition at line 120 of file gfemLaplace.h.

Definition at line 121 of file gfemLaplace.h.

Definition at line 105 of file gfemLaplace.h.

Definition at line 104 of file gfemLaplace.h.

Definition at line 102 of file gfemLaplace.h.

Definition at line 103 of file gfemLaplace.h.

Definition at line 113 of file gfemLaplace.h.

Definition at line 114 of file gfemLaplace.h.

const int concepts::gfem::GfemLaplace::SELX = 0 [static, protected]

Definition at line 111 of file gfemLaplace.h.

const int concepts::gfem::GfemLaplace::SELY = 1 [static, protected]

Definition at line 112 of file gfemLaplace.h.


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

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