Reference documentation for deal.II version 9.5.0
\(\newcommand{\dealvcentcolon}{\mathrel{\mathop{:}}}\) \(\newcommand{\dealcoloneq}{\dealvcentcolon\mathrel{\mkern-1.2mu}=}\) \(\newcommand{\jump}[1]{\left[\!\left[ #1 \right]\!\right]}\) \(\newcommand{\average}[1]{\left\{\!\left\{ #1 \right\}\!\right\}}\)
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Public Attributes | List of all members
AffineConstraints< number >::ConstraintLine Struct Reference

#include <deal.II/lac/affine_constraints.h>

Public Types

using Entries = std::vector< std::pair< size_type, number > >
 

Public Member Functions

 ConstraintLine (const size_type &index=numbers::invalid_dof_index, const Entries &entries={}, const number &inhomogeneity=0.0)
 
template<typename ConstraintLineType >
 ConstraintLine (const ConstraintLineType &other)
 
template<typename ConstraintLineType >
ConstraintLineoperator= (const ConstraintLineType &other)
 
bool operator< (const ConstraintLine &) const
 
bool operator== (const ConstraintLine &) const
 
std::size_t memory_consumption () const
 
template<class Archive >
void serialize (Archive &ar, const unsigned int)
 
template<typename number >
 ConstraintLine (const size_type &index, const typename AffineConstraints< number >::ConstraintLine::Entries &entries, const number &inhomogeneity)
 
template<typename ConstraintLineType >
AffineConstraints< number >::ConstraintLineoperator= (const ConstraintLineType &other)
 

Public Attributes

size_type index
 
Entries entries
 
number inhomogeneity
 

Detailed Description

template<typename number = double>
struct AffineConstraints< number >::ConstraintLine

This class represents one constraint in an AffineConstraints object.

Definition at line 1622 of file affine_constraints.h.

Member Typedef Documentation

◆ Entries

template<typename number = double>
using AffineConstraints< number >::ConstraintLine::Entries = std::vector<std::pair<size_type, number> >

A data type in which we store the list of entries that make up the homogeneous part of a constraint.

Definition at line 1628 of file affine_constraints.h.

Constructor & Destructor Documentation

◆ ConstraintLine() [1/3]

template<typename number = double>
AffineConstraints< number >::ConstraintLine::ConstraintLine ( const size_type index = numbers::invalid_dof_index,
const Entries entries = {},
const number &  inhomogeneity = 0.0 
)

Default constructor.

◆ ConstraintLine() [2/3]

template<typename number >
template<typename ConstraintLineType >
AffineConstraints< number >::ConstraintLine::ConstraintLine ( const ConstraintLineType &  other)
inline

Copy constructor.

Definition at line 2528 of file affine_constraints.h.

◆ ConstraintLine() [3/3]

template<typename number = double>
template<typename number >
AffineConstraints< number >::ConstraintLine::ConstraintLine ( const size_type index,
const typename AffineConstraints< number >::ConstraintLine::Entries entries,
const number &  inhomogeneity 
)
inline

Definition at line 2515 of file affine_constraints.h.

Member Function Documentation

◆ operator=() [1/2]

template<typename number = double>
template<typename ConstraintLineType >
ConstraintLine & AffineConstraints< number >::ConstraintLine::operator= ( const ConstraintLineType &  other)

Copy assignment.

◆ operator<()

template<typename number = double>
bool AffineConstraints< number >::ConstraintLine::operator< ( const ConstraintLine ) const

This operator is a bit weird and unintuitive: it compares the line numbers of two lines. We need this to sort the lines; in fact we could do this using a comparison predicate. However, this way, it is easier, albeit unintuitive since two lines really have no god-given order relation.

◆ operator==()

template<typename number = double>
bool AffineConstraints< number >::ConstraintLine::operator== ( const ConstraintLine ) const

This operator is likewise weird: it checks whether the line indices of the two operands are equal, irrespective of the fact that the contents of the line may be different.

◆ memory_consumption()

template<typename number = double>
std::size_t AffineConstraints< number >::ConstraintLine::memory_consumption ( ) const

Determine an estimate for the memory consumption (in bytes) of this object.

◆ serialize()

template<typename number = double>
template<class Archive >
void AffineConstraints< number >::ConstraintLine::serialize ( Archive &  ar,
const unsigned int   
)
inline

Write and read the data of this object from a stream for the purpose of serialization using the BOOST serialization library.

Definition at line 1703 of file affine_constraints.h.

◆ operator=() [2/2]

template<typename number = double>
template<typename ConstraintLineType >
AffineConstraints< number >::ConstraintLine & AffineConstraints< number >::ConstraintLine::operator= ( const ConstraintLineType &  other)
inline

Definition at line 2544 of file affine_constraints.h.

Member Data Documentation

◆ index

template<typename number = double>
size_type AffineConstraints< number >::ConstraintLine::index

Global DoF index of this line. Since only very few lines are stored, we can not assume a specific order and have to store the index explicitly.

Definition at line 1635 of file affine_constraints.h.

◆ entries

template<typename number = double>
Entries AffineConstraints< number >::ConstraintLine::entries

Row numbers and values of the entries in this line.

For the reason why we use a vector instead of a map and the consequences thereof, the same applies as what is said for AffineConstraints::lines.

Definition at line 1644 of file affine_constraints.h.

◆ inhomogeneity

template<typename number = double>
number AffineConstraints< number >::ConstraintLine::inhomogeneity

Value of the inhomogeneity.

Definition at line 1649 of file affine_constraints.h.


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