Inherited by DenseSubVector< T >, and DenseVector< T >.
Public Member Functions
DenseVectorBase ()
virtual ~DenseVectorBase ()
virtual void zero ()=0
virtual T el (const unsigned int i) const =0
virtual T & el (const unsigned int i)=0
virtual unsigned int size () const =0
void print (std::ostream &os) const
void print_scientific (std::ostream &os) const
Friends
std::ostream & operator<< (std::ostream &os, const DenseVectorBase< T > &v)
Detailed Description
template<typename T> class DenseVectorBase< T >
Defines an abstract dense vector base class for use in Finite Element-type computations. Specialized dense vectors, for example DenseSubVectors, can be derived from this class.
Author:
John W. Peterson, 2003
Definition at line 43 of file dense_vector_base.h.
Constructor & Destructor Documentation
template<typename T> DenseVectorBase< T >::DenseVectorBase () [inline]Constructor. Empty.
Definition at line 50 of file dense_vector_base.h.
{}
template<typename T> virtual DenseVectorBase< T >::~DenseVectorBase () [inline, virtual]Destructor. Does nothing.
Definition at line 55 of file dense_vector_base.h.
{}
Member Function Documentation
template<typename T> virtual T DenseVectorBase< T >::el (const unsigned inti) const [pure virtual]Returns:
the (i) element of the vector.
Implemented in DenseVector< T >, and DenseVector< Number >.
Referenced by DenseMatrixBase< T >::condense(), and DofMap::extract_local_vector().
the (i) element of the vector as a writeable reference.
Implemented in DenseVector< T >, and DenseVector< Number >.
template<typename T > void DenseVectorBase< T >::print (std::ostream &os) constPretty-print the vector to stdout.
Definition at line 61 of file dense_vector_base.C.
{
for (unsigned int i=0; i<this->size(); i++)
os << std::setw(8)
<< this->el(i)
<< std::endl;
}
template<typename T > void DenseVectorBase< T >::print_scientific (std::ostream &os) constPrints the entries of the vector with additional decimal places in scientific notation.
Definition at line 29 of file dense_vector_base.C.
{
#ifndef LIBMESH_BROKEN_IOSTREAM
// save the initial format flags
std::ios_base::fmtflags os_flags = os.flags();
// Print the vector entries.
for (unsigned int i=0; i<this->size(); i++)
os << std::setw(10)
<< std::scientific
<< std::setprecision(8)
<< this->el(i)
<< std::endl;
// reset the original format flags
os.flags(os_flags);
#else
// Print the matrix entries.
for (unsigned int i=0; i<this->size(); i++)
os << std::setprecision(8)
<< this->el(i)
<< std::endl;
#endif
}
template<typename T> virtual unsigned int DenseVectorBase< T >::size () const [pure virtual]Returns:
the size of the vector.
Implemented in DenseVector< T >, and DenseVector< Number >.
Referenced by DenseMatrixBase< T >::condense(), DofMap::extract_local_vector(), EpetraVector< T >::insert(), PetscVector< T >::insert(), LaspackVector< T >::insert(), and DistributedVector< T >::insert().
template<typename T> virtual void DenseVectorBase< T >::zero () [pure virtual]Set every element in the vector to 0. Needs to be pure virtual since the storage method may be different in derived classes.
Implemented in DenseVector< T >, and DenseVector< Number >.
Referenced by DofMap::extract_local_vector().
Friends And Related Function Documentation
template<typename T> std::ostream& operator<< (std::ostream &os, const DenseVectorBase< T > &v) [friend]Same as above, but allows you to print using the usual stream syntax.
Definition at line 88 of file dense_vector_base.h.
{
v.print(os);
return os;
}
Author
Generated automatically by Doxygen for libMesh from the source code.