#include <dense_vector.h>
Inherits DenseVectorBase< T >.
DenseVector (const unsigned int n=0)
template<typename T2 > DenseVector (const DenseVector< T2 > &other_vector)
template<typename T2 > DenseVector (const std::vector< T2 > &other_vector)
~DenseVector ()
virtual unsigned int size () const
virtual void zero ()
T operator() (const unsigned int i) const
T & operator() (const unsigned int i)
virtual T el (const unsigned int i) const
virtual T & el (const unsigned int i)
template<typename T2 > DenseVector< T > & operator= (const DenseVector< T2 > &other_vector)
void swap (DenseVector< T > &other_vector)
void resize (const unsigned int n)
void scale (const T factor)
DenseVector< T > & operator*= (const T factor)
template<typename T2 , typename T3 > boostcopy::enable_if_c< ScalarTraits< T2 >::value, void >::type add (const T2 factor, const DenseVector< T3 > &vec)
template<typename T2 > Number dot (const DenseVector< T2 > &vec) const
template<typename T2 > bool operator== (const DenseVector< T2 > &vec) const
template<typename T2 > bool operator!= (const DenseVector< T2 > &vec) const
template<typename T2 > DenseVector< T > & operator+= (const DenseVector< T2 > &vec)
template<typename T2 > DenseVector< T > & operator-= (const DenseVector< T2 > &vec)
Real min () const
Real max () const
Real l1_norm () const
Real l2_norm () const
Real linfty_norm () const
void get_principal_subvector (unsigned int sub_n, DenseVector< T > &dest) const
std::vector< T > & get_values ()
const std::vector< T > & get_values () const
void print (std::ostream &os) const
void print_scientific (std::ostream &os) const
std::ostream & operator<< (std::ostream &os, const DenseVectorBase< T > &v)
Author:
Definition at line 49 of file dense_vector.h.
Definition at line 242 of file dense_vector.h.
:
_val (n, 0.)
{
}
Definition at line 252 of file dense_vector.h.
References DenseVector< T >::_val, and DenseVector< T >::get_values().
:
DenseVectorBase<T>()
{
const std::vector<T2> &other_vals = other_vector.get_values();
_val.clear();
_val.reserve(other_vals.size());
for (unsigned int i=0; i<other_vals.size(); i++)
_val.push_back(other_vals[i]);
}
Definition at line 269 of file dense_vector.h.
:
_val(other_vector)
{
}
Definition at line 74 of file dense_vector.h.
{}
Definition at line 376 of file dense_vector.h.
References DenseVector< T >::size().
Referenced by EulerSolver::element_residual(), EulerSolver::side_residual(), and DenseMatrix< T >::vector_mult_add().
{
libmesh_assert (this->size() == vec.size());
for (unsigned int i=0; i<this->size(); i++)
(*this)(i) += factor*vec(i);
}
Definition at line 388 of file dense_vector.h.
References DenseVector< T >::size().
{
libmesh_assert(this->size() == vec.size());
Number val = 0.;
for (unsigned int i=0; i<this->size(); i++)
val += (*this)(i)*vec(i);
return val;
}
Implements DenseVectorBase< T >.
Definition at line 99 of file dense_vector.h.
{ return (*this)(i); }
Implements DenseVectorBase< T >.
Definition at line 104 of file dense_vector.h.
{ return (*this)(i); }
Definition at line 542 of file dense_vector.h.
References DenseVector< T >::resize().
{
libmesh_assert( sub_n <= this->size() );
dest.resize(sub_n);
for(unsigned int i=0; i<sub_n; i++)
dest(i) = (*this)(i);
}
Definition at line 218 of file dense_vector.h.
Referenced by EpetraVector< T >::add_vector(), DenseVector< T >::DenseVector(), and DenseVector< T >::operator=().
{ return _val; }
Definition at line 225 of file dense_vector.h.
{ return _val; }
Definition at line 498 of file dense_vector.h.
{
Real my_norm = 0.;
for (unsigned int i=0; i!=this->size(); i++)
{
my_norm += std::abs((*this)(i));
}
return my_norm;
}
Definition at line 512 of file dense_vector.h.
References libmesh_norm().
{
Real my_norm = 0.;
for (unsigned int i=0; i!=this->size(); i++)
{
my_norm += libmesh_norm((*this)(i));
}
return sqrt(my_norm);
}
Definition at line 526 of file dense_vector.h.
References libmesh_norm().
{
if (!this->size())
return 0.;
Real my_norm = libmesh_norm((*this)(0));
for (unsigned int i=1; i!=this->size(); i++)
{
Real current = libmesh_norm((*this)(i));
my_norm = (my_norm > current? my_norm : current);
}
return sqrt(my_norm);
}
Definition at line 481 of file dense_vector.h.
References libmesh_real().
{
libmesh_assert (this->size());
Real my_max = libmesh_real((*this)(0));
for (unsigned int i=1; i!=this->size(); i++)
{
Real current = libmesh_real((*this)(i));
my_max = (my_max > current? my_max : current);
}
return my_max;
}
Definition at line 464 of file dense_vector.h.
References libmesh_real().
{
libmesh_assert (this->size());
Real my_min = libmesh_real((*this)(0));
for (unsigned int i=1; i!=this->size(); i++)
{
Real current = libmesh_real((*this)(i));
my_min = (my_min < current? my_min : current);
}
return my_min;
}
Definition at line 419 of file dense_vector.h.
References DenseVector< T >::size().
{
libmesh_assert (this->size() == vec.size());
for (unsigned int i=0; i<this->size(); i++)
if ((*this)(i) != vec(i))
return true;
return false;
}
Definition at line 331 of file dense_vector.h.
{
libmesh_assert (i < _val.size());
return _val[i];
}
Definition at line 342 of file dense_vector.h.
{
libmesh_assert (i < _val.size());
return _val[i];
}
Definition at line 363 of file dense_vector.h.
References MeshTools::Modification::scale().
{
this->scale(factor);
return *this;
}
Definition at line 435 of file dense_vector.h.
References DenseVector< T >::size().
{
libmesh_assert (this->size() == vec.size());
for (unsigned int i=0; i<this->size(); i++)
(*this)(i) += vec(i);
return *this;
}
Definition at line 450 of file dense_vector.h.
References DenseVector< T >::size().
{
libmesh_assert (this->size() == vec.size());
for (unsigned int i=0; i<this->size(); i++)
(*this)(i) -= vec(i);
return *this;
}
Definition at line 281 of file dense_vector.h.
References DenseVector< T >::get_values().
{
// _val = other_vector._val;
const std::vector<T2> &other_vals = other_vector.get_values();
_val.clear();
_val.reserve(other_vals.size());
for (unsigned int i=0; i<other_vals.size(); i++)
_val.push_back(other_vals[i]);
return *this;
}
Definition at line 403 of file dense_vector.h.
References DenseVector< T >::size().
{
libmesh_assert (this->size() == vec.size());
for (unsigned int i=0; i<this->size(); i++)
if ((*this)(i) != vec(i))
return false;
return true;
}
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;
}
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
}
Definition at line 309 of file dense_vector.h.
References libMesh::zero.
Referenced by DenseMatrix< T >::_cholesky_back_substitute(), DenseMatrix< T >::_lu_back_substitute(), HPCoarsenTest::add_projection(), FEBase::coarsened_dof_values(), FEBase::compute_periodic_constraints(), FEBase::compute_proj_constraints(), DofMap::constrain_element_dyad_matrix(), DofMap::constrain_element_matrix_and_vector(), DofMap::constrain_element_vector(), JumpErrorEstimator::estimate_error(), DenseVector< T >::get_principal_subvector(), System::ProjectVector::operator()(), PatchRecoveryErrorEstimator::EstimateError::operator()(), MeshFunction::operator()(), FEMContext::reinit(), and HPCoarsenTest::select_refinement().
{
_val.resize(n);
zero();
}
Definition at line 353 of file dense_vector.h.
{
for (unsigned int i=0; i<_val.size(); i++)
_val[i] *= factor;
}
Implements DenseVectorBase< T >.
Definition at line 79 of file dense_vector.h.
Referenced by DenseMatrix< T >::_lu_back_substitute(), DenseVector< T >::add(), HPCoarsenTest::add_projection(), EpetraVector< T >::add_vector(), PetscVector< T >::add_vector(), LaspackVector< T >::add_vector(), DistributedVector< T >::add_vector(), KellyErrorEstimator::boundary_side_integration(), DiscontinuityMeasure::boundary_side_integration(), DofMap::constrain_element_dyad_matrix(), DofMap::constrain_element_matrix_and_vector(), DofMap::constrain_element_vector(), DenseVector< T >::dot(), EulerSolver::element_residual(), Euler2Solver::element_residual(), ExactErrorEstimator::find_squared_element_error(), EpetraVector< T >::insert(), PetscVector< T >::insert(), LaspackVector< T >::insert(), DistributedVector< T >::insert(), KellyErrorEstimator::internal_side_integration(), LaplacianErrorEstimator::internal_side_integration(), DiscontinuityMeasure::internal_side_integration(), DenseVector< T >::operator!=(), DenseVector< T >::operator+=(), DenseVector< T >::operator-=(), DenseVector< T >::operator==(), HPCoarsenTest::select_refinement(), EulerSolver::side_residual(), Euler2Solver::side_residual(), DenseMatrix< T >::vector_mult(), and DenseMatrix< T >::vector_mult_add().
{ return _val.size(); }
Definition at line 300 of file dense_vector.h.
References DenseVector< T >::_val.
Referenced by EulerSolver::element_residual(), Euler2Solver::element_residual(), EulerSolver::side_residual(), and Euler2Solver::side_residual().
{
_val.swap(other_vector._val);
}
Implements DenseVectorBase< T >.
Definition at line 320 of file dense_vector.h.
Referenced by HPCoarsenTest::add_projection(), FEBase::coarsened_dof_values(), DofMap::constrain_element_matrix_and_vector(), DofMap::constrain_element_vector(), EulerSolver::element_residual(), Euler2Solver::element_residual(), FEMSystem::numerical_jacobian(), System::ProjectVector::operator()(), HPCoarsenTest::select_refinement(), EulerSolver::side_residual(), Euler2Solver::side_residual(), and DenseMatrix< T >::vector_mult().
{
std::fill (_val.begin(),
_val.end(),
0.);
}
Definition at line 88 of file dense_vector_base.h.
{
v.print(os);
return os;
}
Definition at line 232 of file dense_vector.h.
Referenced by DenseVector< T >::DenseVector(), DenseVector< Number >::get_values(), DenseVector< Number >::size(), and DenseVector< T >::swap().
Generated automatically by Doxygen for libMesh from the source code.