Sets the outer product of the coefficients and the normal vector to zero in every node on an edge with chosen attribute. More...

#include <zerotangential.hh>

Inheritance diagram for hp3D::ZeroTangentialValue< F >:
constraints::AnalyticalConstraint< F > concepts::OutputOperator

Public Member Functions

virtual void assembly (const concepts::Element< F > &e, concepts::TColumn< F > *&t, uint &n, uint &j, uint length)
 Returns the TColumns t for this constraint in element e. More...
 
virtual constraints::AnalyticalConstraint< F > * clone () const
 Creates clone of itself and returns it. More...
 
virtual void lengthT (const concepts::Element< F > &e, uint &length)
 Computes the length of the TColumn. More...
 
virtual void localMatrix (concepts::ElementMatrix< F > &em, uint &j, const constraints::Element< F > &elm) const
 Fills the entries in the local constraints matrix em. More...
 
virtual void localVector (concepts::ElementMatrix< F > &em, uint &j, const constraints::Element< F > &elm) const
 Fills the entries in the local constraints vector em. More...
 
 ZeroTangentialValue (concepts::Attribute a)
 Constructor. More...
 
 ZeroTangentialValue (const ZeroTangentialValue &z)
 

Protected Member Functions

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

Private Member Functions

const concepts::Connector3assertions_ (const concepts::Element< F > &e) const
 
void fillEM_ (const uint ll[3], const ushort p[3], const uint offset, uint &j, const concepts::Real3d e, concepts::ElementMatrix< F > &em) const
 

Private Attributes

concepts::Attribute attr_
 Topological entities with this attribute are considered. More...
 
concepts::DynArray< uint > ctrl0_
 Vertices should only be considered once, store it here. More...
 
concepts::DynArray< uint > ctrl1_
 Edges should only be considered once, store it here. More...
 
const HexahedronscalElm_
 

Detailed Description

template<typename F>
class hp3D::ZeroTangentialValue< F >

Sets the outer product of the coefficients and the normal vector to zero in every node on an edge with chosen attribute.

Bug:
Does not work.
Author
Philipp Frauenfelder, 2002

Definition at line 24 of file zerotangential.hh.

Constructor & Destructor Documentation

◆ ZeroTangentialValue() [1/2]

template<typename F >
hp3D::ZeroTangentialValue< F >::ZeroTangentialValue ( concepts::Attribute  a)
inline

Constructor.

Parameters
aAttribute to identify edges

Definition at line 29 of file zerotangential.hh.

◆ ZeroTangentialValue() [2/2]

template<typename F >
hp3D::ZeroTangentialValue< F >::ZeroTangentialValue ( const ZeroTangentialValue< F > &  z)
inline

Definition at line 32 of file zerotangential.hh.

Member Function Documentation

◆ assembly()

template<typename F >
virtual void hp3D::ZeroTangentialValue< F >::assembly ( const concepts::Element< F > &  e,
concepts::TColumn< F > *&  t,
uint &  n,
uint &  j,
uint  length 
)
virtual

Returns the TColumns t for this constraint in element e.

n contains the next free global index in the space of constraints.

When treating dof by dof constraints, n should be increased after the creation of the TColumn (which gets as global index the old value of n).

When treating global constraints such as a zero mean value, n should be increased only once and all local constraints have to give this index to idx in the constructor of the new TColumn.

A similar idea stands behind j: it counts the local constraints which have already been treated. It therefore has to be increased after treating a constraint. j can be taken as index for the created TColumn to fill in the correct entry.

Parameters
eElement of the computational space
tList of TColumns
nNext free global index in the space of constraints. n is increased if a global constraint is hit for the first time.
jNext free local index for the constraints in this element. j is increased accordingly when treating constraints in this element.
lengthLength of TColumn
See also
concepts::TColumn

Implements constraints::AnalyticalConstraint< F >.

◆ assertions_()

template<typename F >
const concepts::Connector3& hp3D::ZeroTangentialValue< F >::assertions_ ( const concepts::Element< F > &  e) const
private

◆ clone()

template<typename F >
virtual constraints::AnalyticalConstraint<F>* hp3D::ZeroTangentialValue< F >::clone ( ) const
virtual

Creates clone of itself and returns it.

This clone function implements a virtual constructor (cf. Stroustrup p. 424).

Implements constraints::AnalyticalConstraint< F >.

◆ fillEM_()

template<typename F >
void hp3D::ZeroTangentialValue< F >::fillEM_ ( const uint  ll[3],
const ushort  p[3],
const uint  offset,
uint &  j,
const concepts::Real3d  e,
concepts::ElementMatrix< F > &  em 
) const
private

◆ info()

template<typename F >
virtual std::ostream& hp3D::ZeroTangentialValue< F >::info ( std::ostream &  os) const
protectedvirtual

Returns information in an output stream.

Reimplemented from concepts::OutputOperator.

◆ lengthT()

template<typename F >
virtual void hp3D::ZeroTangentialValue< F >::lengthT ( const concepts::Element< F > &  e,
uint &  length 
)
virtual

Computes the length of the TColumn.

This method decides if this constraint is active on element e and how many local equations it generates. This is added to length.

Implements constraints::AnalyticalConstraint< F >.

◆ localMatrix()

template<typename F >
virtual void hp3D::ZeroTangentialValue< F >::localMatrix ( concepts::ElementMatrix< F > &  em,
uint &  j,
const constraints::Element< F > &  elm 
) const
virtual

Fills the entries in the local constraints matrix em.

Parameters
emLocal constraints matrix. Has to be filled. The rows correspond to local dofs, the columns correspond to the equations this constraints creates in this element.
jLocal number of the constraints. Everytime, when a active constraint on the element is treated, j has to be increased by the number of equations this constraint created.
elmElement of the constraints space

Implements constraints::AnalyticalConstraint< F >.

◆ localVector()

template<typename F >
virtual void hp3D::ZeroTangentialValue< F >::localVector ( concepts::ElementMatrix< F > &  em,
uint &  j,
const constraints::Element< F > &  elm 
) const
virtual

Fills the entries in the local constraints vector em.

The parameters have the same meaning as in localMatrix.

Implements constraints::AnalyticalConstraint< F >.

Member Data Documentation

◆ attr_

template<typename F >
concepts::Attribute hp3D::ZeroTangentialValue< F >::attr_
private

Topological entities with this attribute are considered.

Definition at line 48 of file zerotangential.hh.

◆ ctrl0_

template<typename F >
concepts::DynArray<uint> hp3D::ZeroTangentialValue< F >::ctrl0_
private

Vertices should only be considered once, store it here.

Definition at line 53 of file zerotangential.hh.

◆ ctrl1_

template<typename F >
concepts::DynArray<uint> hp3D::ZeroTangentialValue< F >::ctrl1_
private

Edges should only be considered once, store it here.

Definition at line 55 of file zerotangential.hh.

◆ scalElm_

template<typename F >
const Hexahedron* hp3D::ZeroTangentialValue< F >::scalElm_
mutableprivate

Definition at line 49 of file zerotangential.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