Reference documentation for deal.II version 9.1.0-pre
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 line of a constraint matrix.

Definition at line 1187 of file affine_constraints.h.

Member Typedef Documentation

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 homogenous part of a constraint.

Definition at line 1193 of file affine_constraints.h.

Member Function Documentation

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.

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.

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.

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

Member Data Documentation

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

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

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

Value of the inhomogeneity.

Definition at line 1214 of file affine_constraints.h.


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