#include <dense_subvector.h>
Public Member Functions | |
DenseSubVector (DenseVector< T > &new_parent, const unsigned int ioff=0, const unsigned int n=0) | |
DenseSubVector (DenseSubVector &&)=default | |
DenseSubVector (const DenseSubVector &)=default | |
DenseSubVector & | operator= (const DenseSubVector &)=default |
DenseSubVector & | operator= (DenseSubVector &&)=default |
virtual | ~DenseSubVector ()=default |
DenseVector< T > & | parent () |
virtual void | zero () override |
const T & | operator() (const unsigned int i) const |
T & | operator() (const unsigned int i) |
virtual T | el (const unsigned int i) const override |
virtual T & | el (const unsigned int i) override |
virtual unsigned int | size () const override |
virtual bool | empty () const override |
unsigned int | i_off () const |
void | reposition (const unsigned int ioff, const unsigned int n) |
Real | min () const |
Real | max () const |
Real | l1_norm () const |
Real | l2_norm () const |
Real | linfty_norm () const |
void | print (std::ostream &os) const |
void | print_scientific (std::ostream &os, unsigned precision=8) const |
Private Attributes | |
DenseVector< T > & | _parent_vector |
unsigned int | _n |
unsigned int | _i_off |
Defines a dense subvector for use in finite element computations. Useful for storing element load vectors before summation into a global vector, particularly when you have systems of equations. All overridden virtual functions are documented in dense_vector_base.h.
Definition at line 42 of file dense_subvector.h.
|
inline |
Constructor. Creates a dense subvector of the vector parent
. The subvector has dimensions , and the entry of the subvector is located at the location in the parent vector.
Definition at line 161 of file dense_subvector.h.
References libMesh::DenseSubVector< T >::reposition().
|
default |
The 5 special functions can be defaulted for this class, as it does not manage any memory itself.
|
default |
|
virtualdefault |
|
inlineoverridevirtual |
(i) element of the vector. Implements libMesh::DenseVectorBase< T >.
Definition at line 83 of file dense_subvector.h.
|
inlineoverridevirtual |
(i) element of the vector as a writable reference. Implements libMesh::DenseVectorBase< T >.
Definition at line 86 of file dense_subvector.h.
|
inlineoverridevirtual |
true
iff size() is 0. Reimplemented from libMesh::DenseVectorBase< T >.
Definition at line 92 of file dense_subvector.h.
References libMesh::DenseSubVector< T >::_n.
Referenced by libMesh::NumericVector< Number >::insert().
|
inline |
Definition at line 98 of file dense_subvector.h.
References libMesh::DenseSubVector< T >::_i_off.
|
inline |
Definition at line 252 of file dense_subvector.h.
References std::abs(), and libMesh::Real.
|
inline |
Definition at line 266 of file dense_subvector.h.
References libMesh::TensorTools::norm_sq(), and libMesh::Real.
|
inline |
Definition at line 280 of file dense_subvector.h.
References libMesh::TensorTools::norm_sq(), and libMesh::Real.
|
inline |
Definition at line 235 of file dense_subvector.h.
References libMesh::libmesh_real(), and libMesh::Real.
|
inline |
Definition at line 218 of file dense_subvector.h.
References libMesh::libmesh_real(), and libMesh::Real.
|
inline |
(i,j) element of the subvector as a const reference. Definition at line 197 of file dense_subvector.h.
|
inline |
(i,j) element of the subvector as a writable reference. Definition at line 208 of file dense_subvector.h.
|
default |
|
default |
|
inline |
Definition at line 68 of file dense_subvector.h.
References libMesh::DenseSubVector< T >::_parent_vector.
Referenced by libMesh::DenseSubMatrix< T >::condense().
|
inherited |
Pretty-print the vector to stdout
.
Definition at line 51 of file dense_vector_base.C.
|
inherited |
Prints the entries of the vector with additional decimal places in scientific notation.
Definition at line 31 of file dense_vector_base.C.
|
inline |
Changes the location of the subvector in the parent vector.
Definition at line 173 of file dense_subvector.h.
Referenced by libMesh::DenseSubVector< T >::DenseSubVector().
|
inlineoverridevirtual |
Implements libMesh::DenseVectorBase< T >.
Definition at line 89 of file dense_subvector.h.
References libMesh::DenseSubVector< T >::_n.
Referenced by libMesh::NumericVector< Number >::insert().
|
inlineoverridevirtual |
Set every element in the vector to 0. Needs to be pure virtual since the storage method may be different in derived classes.
Implements libMesh::DenseVectorBase< T >.
Definition at line 187 of file dense_subvector.h.
|
private |
The offset into the parent vector.
Definition at line 152 of file dense_subvector.h.
Referenced by libMesh::DenseSubVector< T >::i_off().
|
private |
The length of this subvector.
Definition at line 147 of file dense_subvector.h.
Referenced by libMesh::DenseSubVector< T >::empty(), and libMesh::DenseSubVector< T >::size().
|
private |
The parent vector that contains this subvector.
Definition at line 142 of file dense_subvector.h.
Referenced by libMesh::DenseSubVector< T >::parent().