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>


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. | |
| virtual constraints::AnalyticalConstraint < F > * | clone () const |
| Creates clone of itself and returns it. | |
| virtual void | lengthT (const concepts::Element< F > &e, uint &length) |
| Computes the length of the TColumn. | |
| virtual void | localMatrix (concepts::ElementMatrix< F > &em, uint &j, const constraints::Element< F > &elm) const |
Fills the entries in the local constraints matrix em. | |
| virtual void | localVector (concepts::ElementMatrix< F > &em, uint &j, const constraints::Element< F > &elm) const |
Fills the entries in the local constraints vector em. | |
| ZeroTangentialValue (concepts::Attribute a) | |
| Constructor. | |
| ZeroTangentialValue (const ZeroTangentialValue &z) | |
Protected Member Functions | |
| virtual std::ostream & | info (std::ostream &os) const |
| Returns information in an output stream. | |
Private Member Functions | |
| const concepts::Connector3 & | assertions_ (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. | |
| concepts::DynArray< uint > | ctrl0_ |
| Vertices should only be considered once, store it here. | |
| concepts::DynArray< uint > | ctrl1_ |
| Edges should only be considered once, store it here. | |
| const Hexahedron * | scalElm_ |
Sets the outer product of the coefficients and the normal vector to zero in every node on an edge with chosen attribute.
Definition at line 22 of file zerotangential.hh.
| hp3D::ZeroTangentialValue< F >::ZeroTangentialValue | ( | concepts::Attribute | a | ) | [inline] |
Constructor.
| a | Attribute to identify edges |
Definition at line 27 of file zerotangential.hh.
| hp3D::ZeroTangentialValue< F >::ZeroTangentialValue | ( | const ZeroTangentialValue< F > & | z | ) | [inline] |
Definition at line 30 of file zerotangential.hh.
| 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.
| e | Element of the computational space |
| t | List of TColumns |
| n | Next free global index in the space of constraints. n is increased if a global constraint is hit for the first time. |
| j | Next free local index for the constraints in this element. j is increased accordingly when treating constraints in this element. |
| length | Length of TColumn |
concepts::TColumn Implements constraints::AnalyticalConstraint< F >.
| const concepts::Connector3& hp3D::ZeroTangentialValue< F >::assertions_ | ( | const concepts::Element< F > & | e | ) | const [private] |
| 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 >.
| 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] |
| virtual std::ostream& hp3D::ZeroTangentialValue< F >::info | ( | std::ostream & | os | ) | const [protected, virtual] |
Returns information in an output stream.
Reimplemented from concepts::OutputOperator.
| 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 >.
| 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.
| em | Local constraints matrix. Has to be filled. The rows correspond to local dofs, the columns correspond to the equations this constraints creates in this element. |
| j | Local 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. |
| elm | Element of the constraints space |
Implements constraints::AnalyticalConstraint< 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 >.
concepts::Attribute hp3D::ZeroTangentialValue< F >::attr_ [private] |
Topological entities with this attribute are considered.
Definition at line 46 of file zerotangential.hh.
concepts::DynArray<uint> hp3D::ZeroTangentialValue< F >::ctrl0_ [private] |
Vertices should only be considered once, store it here.
Definition at line 51 of file zerotangential.hh.
concepts::DynArray<uint> hp3D::ZeroTangentialValue< F >::ctrl1_ [private] |
Edges should only be considered once, store it here.
Definition at line 53 of file zerotangential.hh.
const Hexahedron* hp3D::ZeroTangentialValue< F >::scalElm_ [mutable, private] |
Definition at line 47 of file zerotangential.hh.