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

Public Member Functions | Protected Member Functions
concepts::BilinearForm< F, G > Class Template Reference

Abstract function class to evaluate a bilinear form. More...

#include <bilinearForm.hh>

Inheritance diagram for concepts::BilinearForm< F, G >:
Inheritance graph
[legend]
Collaboration diagram for concepts::BilinearForm< F, G >:
Collaboration graph
[legend]

List of all members.

Public Member Functions

virtual Cloneableclone () const =0
 Virtual constructor.
virtual void operator() (const Element< G > &elmX, const Element< G > &elmY, ElementMatrix< F > &em)=0
 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< G > &elmX, const Element< G > &elmY, ElementMatrix< F > &em, const ElementPair< G > &ep)
 Evaluates the bilinear form for all shape functions on elmX and elmY and stores the result in the matrix em.

Protected Member Functions

virtual std::ostream & info (std::ostream &os) const
 Returns information in an output stream.

Detailed Description

template<class F, class G = typename Realtype<F>::type>
class concepts::BilinearForm< F, G >

Abstract function class to evaluate a bilinear form.

The bilinear form is evaluated for all the shape functions on two elements, the resulting matrix is returned.

Definition at line 29 of file bilinearForm.hh.


Member Function Documentation

virtual Cloneable* concepts::Cloneable::clone ( ) const [pure virtual, inherited]

Virtual constructor.

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

Implemented in aglowav2::AglowavBF00< F >, aglowav2::WavIdentity< F >, concepts::gfem::GfemAdvectionIgnore, concepts::gfem::GfemIdentity, concepts::gfem::GfemIdentityIgnore, concepts::gfem::GfemLaplace, concepts::gfem::UpcastFormula< ScalarT, ScalarT2 >, concepts::gfem::FormulaToElemFormula< ScalarT >, concepts::FormulaExpImag1D, concepts::FormulaExpImag2D, concepts::FormulaExpImag2DRadialDer, concepts::FormulaExpImag2DGrad, concepts::FormulaNormalOuterSP2D< F >, concepts::ComposeFormulaMatVec< F, DIM, G >, concepts::ComposeFormulaVecEntry< F, DIM, G >, concepts::FormulaIncPlaneWaveSource, concepts::FormulaPMLPowerSigma< F >, concepts::FormulaPMLPowerSigma2D< F >, concepts::FormulaPMLPowerSigmaB2D< F >, concepts::FormulaPMLCart, concepts::FormulaPMLBoxRestriction< F, G >, concepts::FormulaPMLRadia, DGElasticVolBf2d, DGElasticFluxBf2d, DGElasticStabBf2d, DGElasticNormalStabBf2d, DGElasticDivVolBf2d, DGElasticDivFluxBf2d, DGElasticCompBf2d, BoxSin, InitTest, TimeSquared, HeatSolution, ADLoad, ADSolution, concepts::DiffReactAsympModelOffset< order, F >, concepts::DiffReactAsympModelU< order, F >, concepts::DiffReactAsympCollModelU_alpha0and1< order, alpha, F >, concepts::DiffReactAsympCollModelU_alpha2< order, F >, concepts::DiffReactAsympModelUepsN< F >, concepts::DiffReactAsympCollModel_grad_U_alpha0and1< order, alpha, F >, concepts::DiffReactAsympCollModel_grad_U_alpha2< order, F >, concepts::DiffReactAsympModeluepsN< F >, concepts::DiffReactAsympModeluepsN_grad< F >, concepts::ElementFormulaTimesCurvature< F >, hp2D::DiffussionReaction, TraceMass, ArbKrnl3d000< F, K >, Identity3d< F >, Laplace, Identity, bem::LaplaceSL< F >, bem::LaplaceDL< F >, bem::LaplacePLD< F >, bem::LaplaceHyp< F >, bem::Identity< F >, bem::ArbKrnl000< F, K >, bem::AdaptLaplaceDL00< F >, bem::AdaptLaplaceDL01< F >, bem::AdaptLaplaceSL01< F >, constraints::ConstraintsList< F >, concepts::BesselJ< n >, concepts::BesselY< n >, concepts::ConstFormula< F >, concepts::ElementFormula< F, G >, concepts::ElementFormulaContainer< F, G >, concepts::Formula< F >, concepts::FormulaLiCo, concepts::Frm_Product< F, H, J >, concepts::Frm_Sum< F, H, J >, concepts::FrmE_Inverse< F, G >, concepts::FrmE_Product< F, H, J, G >, concepts::FrmE_Sum< F, H, J, G >, concepts::MatrixElementFormula< F, dim, G >, concepts::ParsedFormula< Real >, concepts::ParsedFormula< Cmplx >, concepts::PiecewiseFormulaBase< F >, concepts::VectorElementFormulaBase< F, dim, G >, concepts::VectorFormula< F, dim >, concepts::ElementFormulaVector< dim, F, G, H >, concepts::ElementFormulaVector< 1, F, G, H >, concepts::PiecewiseFormulaVector< dim, F, G, H >, concepts::PiecewiseFormulaVector< 1, F, G, H >, concepts::MappingEdge2d, concepts::PartMappingEdge2d, concepts::InverseMappingEdge2d, concepts::MappingStraightEdge2d, concepts::CircleMappingEdge2d, concepts::EllipseMappingEdge2d, concepts::ParabelMappingEdge2d, concepts::MappingParallelEdge2d, concepts::MappingQuadEdge2d, concepts::PiecewiseFormula0< F >, concepts::PiecewiseConstFormula< F >, concepts::PiecewiseConstDynArrayFormula< F >, concepts::PiecewiseFormula< F >, concepts::PiecewiseElementFormula< F, G >, concepts::Operation< F >, concepts::OpMult< F >, concepts::OpAdd< F >, concepts::OpRecipr< F >, concepts::PiecewiseFormulaFun< F, G >, concepts::PiecewiseFormulaCombine< F, G, H, I >, concepts::CurvatureElementFormula, concepts::FrmE_NormalVector, concepts::SharedJacobianDet, concepts::SharedJacobianAdj< dim >, hp1D::Laplace< F >, hp1D::Identity< F >, hp1D::IdentityParallel< F >, hp1D::ElementFormulaInterpGrad< F >, hp2D::Advection< F >, hp2D::Identity< F >, hp2D::Laplace< F >, hp2D::LaplaceMatrix< F >, hp2D::BilinearFormOnePartDeriv< F >, hp2D::BilinearFormTwoPartDeriv< F >, hp2D::DivDiv< Weight >, hp2D::PolyEdgeRule, hp2D::PolyEdgeMax, hp2D::PolyEdgeMin, hp2D::PolyEdgeMinNeighMaxChild, hp2D::H1Extension< F >, hp2D::ElementFormulaInterpGrad< F, 2 >, hp2D::ElementFormulaInterpGradN< F, 2 >, hp2D::ElementFormulaEdgeMean< F >, hp2D::ElementFormulaSignNormalVector, hp2D::FormulaFromWeight< Weight >, hp2D::MaxwellSharedData, hp2D::RotRot, concepts::DirichletElementFormula< F, G >, hp2Dedge::RotRot, hp2Dedge::Identity, hp2Dedge::Graduv, hp2Dedge::EdgeIdentity, hp3D::Laplace, hp3D::Identity, hp3D::DivDiv< Weight >, hp3D::FormulaFromWeight< Weight >, hp3D::MaxwellSharedData, hp3D::RotRot, linDG1D::BoundaryInt, linDG1D::BoundaryIntStab, linDG2D::IdentityBf, linDG2D::LaplaceVolBf, linDG2D::LaplaceFluxBf, linDG2D::LaplaceStabBf, linDG3D::Identity, linDG3D::LaplaceVolBF, linearFEM::Laplace1d, linearFEM::Identity1d, linearFEM::CIdentity1d, linearFEM::Laplace2d, linearFEM::Identity2d, concepts::HField_CircularCoil, concepts::CurlHField_CircularCoil, concepts::DivGradHField_CircularCoil, concepts::BilinearFormLiCo< F, G >, concepts::ElementFormulaLiCo< F, G, H, J >, concepts::ElementFormulaCompose< F, G, H >, concepts::ElementFormulaBoundary, concepts::ElementFormulaRotate2D< F >, concepts::FrmE_ScalarProductNormalEdge2d< F >, vectorial::BilinearForm< F, G >, concepts::FrmE_PMLTransformation< dim >, concepts::DiffReactAsympCollModelU_alpha0and1< order, 1, F >, concepts::DiffReactAsympCollModelU_alpha0and1< order, 0, F >, concepts::DiffReactAsympCollModel_grad_U_alpha0and1< order, 1, F >, concepts::DiffReactAsympCollModel_grad_U_alpha0and1< order, 0, F >, concepts::ElementFormula< concepts::Real >, concepts::ElementFormula< Point< F, 2 > >, concepts::ElementFormula< concepts::Point< F, 2 >, typename Realtype< concepts::Point< F, 2 > >::type >, concepts::ElementFormula< H, typename Realtype< H >::type >, concepts::ElementFormula< concepts::Mapping< typename concepts::Realtype< Cmplx >::type, 2 >, typename Realtype< concepts::Mapping< typename concepts::Realtype< Cmplx >::type, 2 > >::type >, concepts::ElementFormula< GeneralMapping< Cmplx, dim >::Type >, concepts::ElementFormula< Point< H, dim >, concepts::Realtype< Point< H, dim > >::type >, concepts::ElementFormula< concepts::Point< Cmplx, 2 >, typename Realtype< concepts::Point< Cmplx, 2 > >::type >, concepts::ElementFormula< Point< F, dim >, G >, concepts::ElementFormula< Mapping< F, dim >, G >, concepts::ElementFormula< concepts::Point< Cmplx, 2 >, concepts::Realtype< concepts::Point< Cmplx, 2 > >::type >, concepts::ElementFormula< Cmplx, typename Realtype< Cmplx >::type >, concepts::ElementFormula< F, J >, concepts::ElementFormula< G, concepts::Realtype< G >::type >, concepts::ElementFormula< ScalarT, typename Realtype< ScalarT >::type >, concepts::ElementFormula< Real, concepts::Realtype< Real >::type >, concepts::ElementFormula< Cmplx >, concepts::ElementFormula< concepts::Mapping< G, 2 >, typename Realtype< concepts::Mapping< G, 2 > >::type >, concepts::ElementFormula< concepts::Mapping< typename concepts::Realtype< concepts::Real >::type, 2 >, typename Realtype< concepts::Mapping< typename concepts::Realtype< concepts::Real >::type, 2 > >::type >, concepts::ElementFormula< concepts::Mapping< typename concepts::Realtype< Real >::type, 2 >, typename Realtype< concepts::Mapping< typename concepts::Realtype< Real >::type, 2 > >::type >, concepts::ElementFormula< F >, concepts::ElementFormula< concepts::Real2d, typename Realtype< concepts::Real2d >::type >, concepts::ElementFormula< J, typename Realtype< J >::type >, concepts::ElementFormula< F, concepts::Realtype< F >::type >, concepts::ElementFormula< Real2d, concepts::Realtype< Real2d >::type >, concepts::ElementFormula< Real, typename Realtype< Real >::type >, concepts::ElementFormula< G, H >, concepts::ElementFormula< H, concepts::Realtype< H >::type >, concepts::ElementFormula< Cmplx, concepts::Realtype< Cmplx >::type >, concepts::ElementFormula< concepts::Real, concepts::Realtype< concepts::Real >::type >, concepts::ElementFormula< concepts::Point< F, DIM >, G >, concepts::ElementFormula< concepts::Mapping< F, 2 >, typename Realtype< concepts::Mapping< F, 2 > >::type >, concepts::ElementFormula< F, typename Realtype< F >::type >, concepts::ElementFormula< Point< F, 2 >, typename Realtype< Point< F, 2 > >::type >, concepts::ElementFormula< concepts::Real, typename Realtype< concepts::Real >::type >, concepts::ElementFormula< Point< G, dim >, H >, concepts::ElementFormula< ScalarT >, concepts::ElementFormula< concepts::Point< F, 2 > >, concepts::ElementFormula< concepts::Mapping< typename concepts::Realtype< F >::type, 2 >, typename Realtype< concepts::Mapping< typename concepts::Realtype< F >::type, 2 > >::type >, concepts::ElementFormula< H, G >, concepts::ElementFormula< Point< F, dim >, concepts::Realtype< Point< F, dim > >::type >, concepts::ElementFormula< Real >, concepts::ElementFormula< concepts::Point< concepts::Real, 2 >, typename Realtype< concepts::Point< concepts::Real, 2 > >::type >, concepts::ElementFormula< Real2d >, concepts::ElementFormulaContainer< Point< F, 2 > >, concepts::ElementFormulaContainer< concepts::Real >, concepts::ElementFormulaContainer< concepts::Point< Cmplx, 2 > >, concepts::ElementFormulaContainer< concepts::Mapping< F, 2 > >, concepts::ElementFormulaContainer< concepts::Mapping< G, 2 > >, concepts::ElementFormulaContainer< concepts::Point< concepts::Real, 2 > >, concepts::ElementFormulaContainer< Cmplx >, concepts::ElementFormulaContainer< concepts::Real2d >, concepts::ElementFormulaContainer< concepts::Mapping< typename concepts::Realtype< Cmplx >::type, 2 > >, concepts::ElementFormulaContainer< F >, concepts::ElementFormulaContainer< H >, concepts::ElementFormulaContainer< concepts::Point< F, 2 > >, concepts::ElementFormulaContainer< J >, concepts::ElementFormulaContainer< ScalarT >, concepts::ElementFormulaContainer< concepts::Mapping< typename concepts::Realtype< concepts::Real >::type, 2 > >, concepts::ElementFormulaContainer< concepts::Mapping< typename concepts::Realtype< Real >::type, 2 > >, concepts::ElementFormulaContainer< concepts::Mapping< typename concepts::Realtype< F >::type, 2 > >, concepts::ElementFormulaContainer< Real >, concepts::Formula< concepts::Point< Cmplx, 2 > >, concepts::Formula< Point< F, dim > >, concepts::Formula< Cmplx >, concepts::Formula< Real >, concepts::Formula< Real2d >, concepts::PiecewiseFormulaBase< concepts::Real >, concepts::PiecewiseFormulaBase< concepts::Point< Cmplx, 2 > >, concepts::PiecewiseFormulaBase< Point< H, dim > >, concepts::PiecewiseFormulaBase< Point< F, dim > >, concepts::PiecewiseFormulaBase< Cmplx >, concepts::PiecewiseFormulaBase< G >, concepts::PiecewiseFormulaBase< H >, concepts::PiecewiseFormulaBase< Real >, concepts::PiecewiseFormulaBase< Real2d >, concepts::VectorElementFormulaBase< F, 2, G >, concepts::VectorElementFormulaBase< F, 3, G >, concepts::PiecewiseConstFormula< concepts::Real >, concepts::PiecewiseConstFormula< Cmplx >, concepts::PiecewiseConstFormula< Real >, concepts::PiecewiseConstFormula< Real2d >, concepts::PiecewiseFormula< Real >, concepts::PiecewiseFormula< Real2d >, concepts::PiecewiseFormulaFun< Cmplx, Real >, concepts::PiecewiseFormulaFun< Real, Real >, hp1D::Identity< Cmplx >, hp2D::Advection< concepts::Real >, hp2D::Advection< Cmplx >, hp2D::Identity< Cmplx >, hp2D::Identity< Real >, hp2D::Laplace< concepts::Real >, and hp2D::Laplace< Cmplx >.

template<class F, class G = typename Realtype<F>::type>
virtual std::ostream& concepts::BilinearForm< F, G >::info ( std::ostream &  os) const [protected, virtual]
template<class F, class G = typename Realtype<F>::type>
virtual void concepts::BilinearForm< F, G >::operator() ( const Element< G > &  elmX,
const Element< G > &  elmY,
ElementMatrix< F > &  em 
) [pure virtual]

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

Implemented in concepts::BilinearFormLiCo< F, G >, and vectorial::BilinearForm< F, G >.

template<class F, class G = typename Realtype<F>::type>
virtual void concepts::BilinearForm< F, G >::operator() ( const Element< G > &  elmX,
const Element< G > &  elmY,
ElementMatrix< F > &  em,
const ElementPair< G > &  ep 
) [inline, virtual]

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

Reimplemented in vectorial::BilinearForm< F, G >.

Definition at line 53 of file bilinearForm.hh.


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

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