Reference documentation for deal.II version Git bef661081b 2019-09-23 12:55:27 -0400
\(\newcommand{\dealcoloneq}{\mathrel{\vcenter{:}}=}\)
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

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)
 

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 1210 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 1216 of file affine_constraints.h.

Member Function Documentation

◆ 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

Support for boost:serialization.

Definition at line 1269 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 1223 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 1232 of file affine_constraints.h.

◆ inhomogeneity

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

Value of the inhomogeneity.

Definition at line 1237 of file affine_constraints.h.


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