Abstract function class to evaluate a bilinear form. More...
#include <bilinearForm.hh>


Public Member Functions | |
| virtual Cloneable * | clone () 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. | |
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.
| 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 >.
| virtual std::ostream& concepts::BilinearForm< F, G >::info | ( | std::ostream & | os | ) | const [protected, virtual] |
Returns information in an output stream.
Reimplemented from concepts::OutputOperator.
Reimplemented in concepts::gfem::GfemIdentity, concepts::gfem::GfemLaplace, hp2D::DiffussionReaction, TraceMass, constraints::ConstraintsList< F >, hp1D::Laplace< F >, hp1D::Identity< F >, hp1D::IdentityParallel< F >, hp2D::Advection< F >, hp2D::Identity< F >, hp2D::Laplace< F >, hp2D::LaplaceMatrix< F >, hp2D::BilinearFormOnePartDeriv< F >, hp2D::BilinearFormTwoPartDeriv< F >, hp2D::DivDiv< Weight >, hp2D::RotRot, hp2Dedge::RotRot, hp2Dedge::Identity, hp2Dedge::Graduv, hp2Dedge::EdgeIdentity, hp3D::Laplace, hp3D::Identity, hp3D::DivDiv< Weight >, hp3D::Hook, hp3D::RotRot, concepts::BilinearFormLiCo< F, G >, vectorial::BilinearForm< F, G >, hp1D::Identity< Cmplx >, hp2D::Advection< concepts::Real >, hp2D::Advection< Cmplx >, hp2D::Identity< Cmplx >, hp2D::Identity< Real >, hp2D::Laplace< concepts::Real >, and hp2D::Laplace< Cmplx >.
| 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.
em has the correct size. | elmX | Left element (test functions) |
| elmY | Right element (trial functions) |
| em | Return element matrix |
Implemented in concepts::BilinearFormLiCo< F, G >, and vectorial::BilinearForm< F, G >.
| 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.
em has the correct size. | elmX | Left element |
| elmY | Right element |
| em | Return element matrix |
| ep | Element pair holding more information on the pair elmX and elmY |
Reimplemented in vectorial::BilinearForm< F, G >.
Definition at line 53 of file bilinearForm.hh.