Linear form in 2D for the term of Neumann boundary. More...

#include <linearForm.hh>

Inheritance diagram for hp2Dedge::Neumann:
concepts::Neumann< Real > concepts::LinearForm< Real >

Public Member Functions

 Neumann (const concepts::BoundaryConditions *bc)
 Constructor. More...
 
virtual void operator() (const concepts::Element< Real > &elm, concepts::ElementMatrix< Real > &em) const
 Computes the element load vector. More...
 
virtual void operator() (const Element< typename Realtype< Real >::type > &elm, ElementMatrix< Real > &em) const=0
 Computes the element contribution to the function. More...
 
virtual void operator() (const Quad< Real > &elm, concepts::ElementMatrix< Real > &em) const
 

Protected Member Functions

virtual std::ostream & info (std::ostream &os) const
 

Protected Attributes

std::unique_ptr< BoundaryConditions > bc_
 Reference to the boundary conditions. More...
 

Private Member Functions

virtual void part (const Edge< Real > &edge, const concepts::Boundary bd, concepts::ElementMatrix< Real > &em) const
 Computes the distribution to an edge. More...
 

Detailed Description

Linear form in 2D for the term of Neumann boundary.

This linear form computes

\[\int_{\partial K \cap \Gamma_N} g \vec{t} \cdot \vec v \, ds. \]

where

\[\vec{t} = \vec{n}^\bot = {-n_y \choose n_x} \]

is the tangential vector,

\[\vec{n}\]

the outer normal vector, and

\[g\]

the tangential component of the Neumann boundary.

Currently only on quadrilaterals.

Author
Kersten Schmidt, 2004

Definition at line 55 of file linearForm.hh.

Constructor & Destructor Documentation

◆ Neumann()

hp2Dedge::Neumann::Neumann ( const concepts::BoundaryConditions bc)

Constructor.

Parameters
bcBoundary conditions, defaults to homogeneous

Member Function Documentation

◆ info()

virtual std::ostream& concepts::Neumann< Real >::info ( std::ostream &  os) const
protectedvirtualinherited

Reimplemented from concepts::LinearForm< Real >.

◆ operator()() [1/3]

virtual void hp2Dedge::Neumann::operator() ( const concepts::Element< Real > &  elm,
concepts::ElementMatrix< Real > &  em 
) const
virtual

Computes the element load vector.

As for the computation of an element stiffness matrix, there are the loops over all quadrature points and the loops over all shape functions.

Parameters
edgeThe edge for which the load vector should be computed.
emThe load vector

◆ operator()() [2/3]

virtual void concepts::LinearForm< Real , typename Realtype<Real >::type >::operator() ( const Element< G > &  elm,
ElementMatrix< F > &  em 
) const
pure virtualinherited

Computes the element contribution to the function.

Parameters
elmElement on which the computations should be performed
emThe local matrix

◆ operator()() [3/3]

virtual void hp2Dedge::Neumann::operator() ( const Quad< Real > &  elm,
concepts::ElementMatrix< Real > &  em 
) const
virtual

◆ part()

virtual void hp2Dedge::Neumann::part ( const Edge< Real > &  edge,
const concepts::Boundary  bd,
concepts::ElementMatrix< Real > &  em 
) const
privatevirtual

Computes the distribution to an edge.

Member Data Documentation

◆ bc_

std::unique_ptr<BoundaryConditions> concepts::Neumann< Real >::bc_
protectedinherited

Reference to the boundary conditions.

Definition at line 100 of file linearForm.hh.


The documentation for this class was generated from the following file:
Page URL: http://wiki.math.ethz.ch/bin/view/Concepts/WebHome
21 August 2020
© 2020 Eidgenössische Technische Hochschule Zürich