libMesh
|
Provides a uniform interface to vector storage schemes for different linear algebra libraries. More...
#include <dof_map.h>
Public Member Functions | |
NumericVector (const Parallel::Communicator &comm_in, const ParallelType ptype=AUTOMATIC) | |
Dummy-Constructor. More... | |
NumericVector (const Parallel::Communicator &comm_in, const numeric_index_type n, const ParallelType ptype=AUTOMATIC) | |
Constructor. More... | |
NumericVector (const Parallel::Communicator &comm_in, const numeric_index_type n, const numeric_index_type n_local, const ParallelType ptype=AUTOMATIC) | |
Constructor. More... | |
NumericVector (const Parallel::Communicator &comm_in, const numeric_index_type N, const numeric_index_type n_local, const std::vector< numeric_index_type > &ghost, const ParallelType ptype=AUTOMATIC) | |
Constructor. More... | |
virtual NumericVector< T > & | operator= (const NumericVector< T > &v)=0 |
This looks like a copy assignment operator, but note that, unlike normal copy assignment operators, it is pure virtual. More... | |
NumericVector (NumericVector &&)=default | |
The 5 special functions can be defaulted for this class, as it does not manage any memory itself. More... | |
NumericVector (const NumericVector &)=default | |
NumericVector & | operator= (NumericVector &&)=default |
virtual | ~NumericVector ()=default |
While this class doesn't manage any memory, the derived class might and users may be deleting through a pointer to this base class. More... | |
virtual bool | initialized () const |
ParallelType | type () const |
ParallelType & | type () |
virtual bool | closed () const |
virtual void | close ()=0 |
Calls the NumericVector's internal assembly routines, ensuring that the values are consistent across processors. More... | |
virtual void | clear () |
Restores the NumericVector<T> to a pristine state. More... | |
virtual void | zero ()=0 |
Set all entries to zero. More... | |
virtual std::unique_ptr< NumericVector< T > > | zero_clone () const =0 |
virtual std::unique_ptr< NumericVector< T > > | clone () const =0 |
virtual void | init (const numeric_index_type n, const numeric_index_type n_local, const bool fast=false, const ParallelType ptype=AUTOMATIC)=0 |
Change the dimension of the vector to n . More... | |
virtual void | init (const numeric_index_type n, const bool fast=false, const ParallelType ptype=AUTOMATIC)=0 |
Call init() with n_local = N. More... | |
virtual void | init (const numeric_index_type n, const numeric_index_type n_local, const std::vector< numeric_index_type > &ghost, const bool fast=false, const ParallelType ptype=AUTOMATIC)=0 |
Create a vector that holds tha local indices plus those specified in the ghost argument. More... | |
virtual void | init (const NumericVector< T > &other, const bool fast=false)=0 |
Creates a vector that has the same dimension and storage type as other , including ghost dofs. More... | |
virtual NumericVector< T > & | operator= (const T s)=0 |
Sets all entries of the vector to the value s . More... | |
virtual NumericVector< T > & | operator= (const std::vector< T > &v)=0 |
Sets (*this)(i) = v(i) for each entry of the vector. More... | |
virtual Real | min () const =0 |
virtual Real | max () const =0 |
virtual T | sum () const =0 |
virtual Real | l1_norm () const =0 |
virtual Real | l2_norm () const =0 |
virtual Real | linfty_norm () const =0 |
virtual Real | subset_l1_norm (const std::set< numeric_index_type > &indices) const |
virtual Real | subset_l2_norm (const std::set< numeric_index_type > &indices) const |
virtual Real | subset_linfty_norm (const std::set< numeric_index_type > &indices) const |
virtual numeric_index_type | size () const =0 |
virtual numeric_index_type | local_size () const =0 |
virtual numeric_index_type | first_local_index () const =0 |
virtual numeric_index_type | last_local_index () const =0 |
virtual T | operator() (const numeric_index_type i) const =0 |
virtual T | el (const numeric_index_type i) const |
virtual void | get (const std::vector< numeric_index_type > &index, T *values) const |
Access multiple components at once. More... | |
void | get (const std::vector< numeric_index_type > &index, std::vector< T > &values) const |
Access multiple components at once. More... | |
virtual NumericVector< T > & | operator+= (const NumericVector< T > &v)=0 |
Adds v to *this, \( \vec{u} \leftarrow \vec{u} + \vec{v} \). More... | |
virtual NumericVector< T > & | operator-= (const NumericVector< T > &v)=0 |
Subtracts v from *this, \( \vec{u} \leftarrow \vec{u} - \vec{v} \). More... | |
NumericVector< T > & | operator*= (const T a) |
Scales the vector by a , \( \vec{u} \leftarrow a\vec{u} \). More... | |
virtual NumericVector< T > & | operator*= (const NumericVector< T > &v)=0 |
Computes the component-wise multiplication of this vector's entries by another's, \( u_i \leftarrow u_i v_i \, \forall i\). More... | |
NumericVector< T > & | operator/= (const T a) |
Scales the vector by 1/a , \( \vec{u} \leftarrow \frac{1}{a}\vec{u} \). More... | |
virtual NumericVector< T > & | operator/= (const NumericVector< T > &v)=0 |
Computes the component-wise division of this vector's entries by another's, \( u_i \leftarrow \frac{u_i}{v_i} \, \forall i\). More... | |
virtual void | reciprocal ()=0 |
Computes the component-wise reciprocal, \( u_i \leftarrow \frac{1}{u_i} \, \forall i\). More... | |
virtual void | conjugate ()=0 |
Negates the imaginary component of each entry in the vector. More... | |
virtual void | set (const numeric_index_type i, const T value)=0 |
Sets v(i) = value . More... | |
virtual void | add (const numeric_index_type i, const T value)=0 |
Adds value to each entry of the vector. More... | |
virtual void | add (const T s)=0 |
Adds s to each entry of the vector, \( u_i \leftarrow u_i + s \). More... | |
virtual void | add (const NumericVector< T > &v)=0 |
Adds v to this , \( \vec{u} \leftarrow \vec{u} + \vec{v} \). More... | |
virtual void | add (const T a, const NumericVector< T > &v)=0 |
Vector addition with a scalar multiple, \( \vec{u} \leftarrow \vec{u} + a\vec{v} \). More... | |
virtual void | add_vector (const T *v, const std::vector< numeric_index_type > &dof_indices) |
Computes \( \vec{u} \leftarrow \vec{u} + \vec{v} \), where v is a pointer and each dof_indices [i] specifies where to add value v [i]. More... | |
void | add_vector (const std::vector< T > &v, const std::vector< numeric_index_type > &dof_indices) |
Computes \( \vec{u} \leftarrow \vec{u} + \vec{v} \), where v is a std::vector and each dof_indices [i] specifies where to add value v [i]. More... | |
virtual void | add_vector (const NumericVector< T > &v, const std::vector< numeric_index_type > &dof_indices) |
Computes \( \vec{u} \leftarrow \vec{u} + \vec{v} \), where v is a NumericVector and each dof_indices [i] specifies where to add value v(i) . More... | |
void | add_vector (const DenseVector< T > &v, const std::vector< numeric_index_type > &dof_indices) |
Computes \( \vec{u} \leftarrow \vec{u} + \vec{v} \), where v is a DenseVector and each dof_indices [i] specifies where to add value v(i) . More... | |
virtual void | add_vector (const NumericVector< T > &v, const SparseMatrix< T > &A)=0 |
Computes \( \vec{u} \leftarrow \vec{u} + A \vec{v} \), i.e. More... | |
void | add_vector (const NumericVector< T > &v, const ShellMatrix< T > &A) |
Computes \( \vec{u} \leftarrow \vec{u} + A \vec{v} \), i.e. More... | |
virtual void | add_vector_transpose (const NumericVector< T > &v, const SparseMatrix< T > &A)=0 |
Computes \( \vec{u} \leftarrow \vec{u} + A^T \vec{v} \), i.e. More... | |
virtual void | insert (const T *v, const std::vector< numeric_index_type > &dof_indices) |
Inserts the entries of v in *this at the locations specified by v . More... | |
void | insert (const std::vector< T > &v, const std::vector< numeric_index_type > &dof_indices) |
Inserts the entries of v in *this at the locations specified by v . More... | |
virtual void | insert (const NumericVector< T > &v, const std::vector< numeric_index_type > &dof_indices) |
Inserts the entries of v in *this at the locations specified by v . More... | |
void | insert (const DenseVector< T > &v, const std::vector< numeric_index_type > &dof_indices) |
Inserts the entries of v in *this at the locations specified by v . More... | |
void | insert (const DenseSubVector< T > &v, const std::vector< numeric_index_type > &dof_indices) |
Inserts the entries of v in *this at the locations specified by v . More... | |
virtual void | scale (const T factor)=0 |
Scale each element of the vector by the given factor . More... | |
virtual void | abs ()=0 |
Sets \( u_i \leftarrow |u_i| \) for each entry in the vector. More... | |
virtual T | dot (const NumericVector< T > &v) const =0 |
virtual void | localize (std::vector< T > &v_local) const =0 |
Creates a copy of the global vector in the local vector v_local . More... | |
virtual void | localize (NumericVector< T > &v_local) const =0 |
Same, but fills a NumericVector<T> instead of a std::vector . More... | |
virtual void | localize (NumericVector< T > &v_local, const std::vector< numeric_index_type > &send_list) const =0 |
Creates a local vector v_local containing only information relevant to this processor, as defined by the send_list . More... | |
virtual void | localize (std::vector< T > &v_local, const std::vector< numeric_index_type > &indices) const =0 |
Fill in the local std::vector "v_local" with the global indices given in "indices". More... | |
virtual void | localize (const numeric_index_type first_local_idx, const numeric_index_type last_local_idx, const std::vector< numeric_index_type > &send_list)=0 |
Updates a local vector with selected values from neighboring processors, as defined by send_list . More... | |
virtual void | localize_to_one (std::vector< T > &v_local, const processor_id_type proc_id=0) const =0 |
Creates a local copy of the global vector in v_local only on processor proc_id . More... | |
virtual int | compare (const NumericVector< T > &other_vector, const Real threshold=TOLERANCE) const |
virtual int | local_relative_compare (const NumericVector< T > &other_vector, const Real threshold=TOLERANCE) const |
virtual int | global_relative_compare (const NumericVector< T > &other_vector, const Real threshold=TOLERANCE) const |
virtual void | pointwise_mult (const NumericVector< T > &vec1, const NumericVector< T > &vec2)=0 |
Computes \( u_i \leftarrow u_i v_i \) (summation not implied) i.e. More... | |
virtual void | print (std::ostream &os=libMesh::out) const |
Prints the local contents of the vector, by default to libMesh::out. More... | |
virtual void | print_global (std::ostream &os=libMesh::out) const |
Prints the global contents of the vector, by default to libMesh::out. More... | |
virtual void | print_matlab (const std::string &="") const |
Print the contents of the vector in Matlab's sparse matrix format. More... | |
virtual void | create_subvector (NumericVector< T > &, const std::vector< numeric_index_type > &) const |
Fills in subvector from this vector using the indices in rows . More... | |
virtual void | swap (NumericVector< T > &v) |
Swaps the contents of this with v . More... | |
template<> | |
void | print (std::ostream &os) const |
template<> | |
void | print_global (std::ostream &os) const |
const Parallel::Communicator & | comm () const |
processor_id_type | n_processors () const |
processor_id_type | processor_id () const |
Static Public Member Functions | |
static std::unique_ptr< NumericVector< T > > | build (const Parallel::Communicator &comm, const SolverPackage solver_package=libMesh::default_solver_package()) |
Builds a NumericVector on the processors in communicator comm using the linear solver package specified by solver_package . More... | |
static std::string | get_info () |
Gets a string containing the reference information. More... | |
static void | print_info (std::ostream &out=libMesh::out) |
Prints the reference information, by default to libMesh::out . More... | |
static unsigned int | n_objects () |
Prints the number of outstanding (created, but not yet destroyed) objects. More... | |
static void | enable_print_counter_info () |
Methods to enable/disable the reference counter output from print_info() More... | |
static void | disable_print_counter_info () |
Protected Types | |
typedef std::map< std::string, std::pair< unsigned int, unsigned int > > | Counts |
Data structure to log the information. More... | |
Protected Member Functions | |
void | increment_constructor_count (const std::string &name) |
Increments the construction counter. More... | |
void | increment_destructor_count (const std::string &name) |
Increments the destruction counter. More... | |
Protected Attributes | |
bool | _is_closed |
Flag which tracks whether the vector's values are consistent on all processors after insertion or addition of values has occurred on some or all processors. More... | |
bool | _is_initialized |
true once init() has been called. More... | |
ParallelType | _type |
Type of vector. More... | |
const Parallel::Communicator & | _communicator |
Static Protected Attributes | |
static Counts | _counts |
Actually holds the data. More... | |
static Threads::atomic< unsigned int > | _n_objects |
The number of objects. More... | |
static Threads::spin_mutex | _mutex |
Mutual exclusion object to enable thread-safe reference counting. More... | |
static bool | _enable_print_counter = true |
Flag to control whether reference count information is printed when print_info is called. More... | |
Friends | |
std::ostream & | operator<< (std::ostream &os, const NumericVector< T > &v) |
Same as above but allows you to use stream syntax. More... | |
Provides a uniform interface to vector storage schemes for different linear algebra libraries.
Definition at line 43 of file vector_fe_ex5.C.
|
protectedinherited |
Data structure to log the information.
The log is identified by the class name.
Definition at line 117 of file reference_counter.h.
|
inlineexplicit |
|
inlineexplicit |
Constructor.
Set dimension to n
and initialize all elements with zero.
Definition at line 760 of file numeric_vector.h.
|
inline |
Constructor.
Set local dimension to n_local
, the global dimension to n
, and initialize all elements with zero.
Definition at line 776 of file numeric_vector.h.
|
inline |
Constructor.
Set local dimension to n_local
, the global dimension to n
, but additionally reserve memory for the indices specified by the ghost
argument.
Definition at line 793 of file numeric_vector.h.
|
default |
The 5 special functions can be defaulted for this class, as it does not manage any memory itself.
|
default |
|
virtualdefault |
While this class doesn't manage any memory, the derived class might and users may be deleting through a pointer to this base class.
|
pure virtual |
Sets \( u_i \leftarrow |u_i| \) for each entry in the vector.
Implemented in libMesh::PetscVector< T >, libMesh::PetscVector< libMesh::Number >, libMesh::EpetraVector< T >, libMesh::DistributedVector< T >, libMesh::LaspackVector< T >, and libMesh::EigenSparseVector< T >.
|
pure virtual |
Adds value
to each entry of the vector.
Implemented in libMesh::PetscVector< T >, libMesh::EpetraVector< T >, libMesh::LaspackVector< T >, libMesh::EigenSparseVector< T >, libMesh::DistributedVector< T >, and libMesh::PetscVector< libMesh::Number >.
Referenced by add_M_C_K_helmholtz(), libMesh::NewmarkSolver::advance_timestep(), assemble_wave(), libMesh::EquationSystems::build_parallel_solution_vector(), libMesh::RBConstruction::compute_Fq_representor_innerprods(), libMesh::RBConstruction::compute_output_dual_innerprods(), libMesh::RBConstruction::compute_residual_dual_norm_slow(), libMesh::ContinuationSystem::continuation_solve(), libMesh::TransientRBConstruction::enrich_RB_space(), fill_dirichlet_bc(), AssembleOptimization::gradient(), libMesh::ContinuationSystem::initialize_tangent(), libMesh::NewtonSolver::line_search(), main(), libMesh::TransientRBConstruction::mass_matrix_scaled_matvec(), LaplaceYoung::postcheck(), libMesh::NewtonSolver::solve(), libMesh::ContinuationSystem::solve_tangent(), libMesh::TransientRBConstruction::truth_assembly(), libMesh::RBConstruction::truth_assembly(), libMesh::NewmarkSystem::update_rhs(), libMesh::ContinuationSystem::update_solution(), libMesh::NewmarkSystem::update_u_v_a(), and libMesh::TensorShellMatrix< T >::vector_mult_add().
|
pure virtual |
Adds v
to this
, \( \vec{u} \leftarrow \vec{u} + \vec{v} \).
Equivalent to calling operator+=()
.
Implemented in libMesh::PetscVector< T >, libMesh::EpetraVector< T >, libMesh::LaspackVector< T >, libMesh::EigenSparseVector< T >, libMesh::DistributedVector< T >, and libMesh::PetscVector< libMesh::Number >.
|
pure virtual |
Vector addition with a scalar multiple, \( \vec{u} \leftarrow \vec{u} + a\vec{v} \).
Equivalent to calling operator+=()
.
Implemented in libMesh::PetscVector< T >, libMesh::EpetraVector< T >, libMesh::LaspackVector< T >, libMesh::EigenSparseVector< T >, libMesh::DistributedVector< T >, and libMesh::PetscVector< libMesh::Number >.
|
pure virtual |
Adds s
to each entry of the vector, \( u_i \leftarrow u_i + s \).
Implemented in libMesh::PetscVector< T >, libMesh::EpetraVector< T >, libMesh::LaspackVector< T >, libMesh::EigenSparseVector< T >, libMesh::DistributedVector< T >, and libMesh::PetscVector< libMesh::Number >.
|
inline |
Computes \( \vec{u} \leftarrow \vec{u} + \vec{v} \), where v
is a DenseVector and each dof_indices
[i] specifies where to add value v(i)
.
Definition at line 862 of file numeric_vector.h.
void libMesh::NumericVector< T >::add_vector | ( | const NumericVector< T > & | v, |
const ShellMatrix< T > & | A | ||
) |
Computes \( \vec{u} \leftarrow \vec{u} + A \vec{v} \), i.e.
adds the product of a ShellMatrix
A
and a NumericVector
v
to this
.
Definition at line 385 of file numeric_vector.C.
|
pure virtual |
Computes \( \vec{u} \leftarrow \vec{u} + A \vec{v} \), i.e.
adds the product of a SparseMatrix
A
and a NumericVector
v
to this
.
Implemented in libMesh::PetscVector< T >, libMesh::EpetraVector< T >, libMesh::LaspackVector< T >, libMesh::EigenSparseVector< T >, libMesh::DistributedVector< T >, and libMesh::PetscVector< libMesh::Number >.
|
virtual |
Computes \( \vec{u} \leftarrow \vec{u} + \vec{v} \), where v
is a NumericVector and each dof_indices
[i] specifies where to add value v(i)
.
Definition at line 373 of file numeric_vector.C.
|
inline |
Computes \( \vec{u} \leftarrow \vec{u} + \vec{v} \), where v
is a std::vector and each dof_indices
[i] specifies where to add value v
[i].
Definition at line 850 of file numeric_vector.h.
|
virtual |
Computes \( \vec{u} \leftarrow \vec{u} + \vec{v} \), where v
is a pointer and each dof_indices
[i] specifies where to add value v
[i].
This should be overridden in subclasses for efficiency.
Reimplemented in libMesh::PetscVector< T >, libMesh::EpetraVector< T >, and libMesh::PetscVector< libMesh::Number >.
Definition at line 363 of file numeric_vector.C.
Referenced by libMesh::RBConstruction::add_scaled_matrix_and_vector(), assemble(), LinearElasticity::assemble(), assemble_1D(), AssembleOptimization::assemble_A_and_F(), assemble_biharmonic(), assemble_elasticity(), assemble_ellipticdg(), assemble_laplace(), assemble_matrix_and_rhs(), assemble_poisson(), assemble_shell(), assemble_stokes(), assemble_wave(), libMesh::LinearImplicitSystem::assembly(), assembly_with_dg_fem_context(), compute_residual(), LaplaceYoung::residual(), LargeDeformationElasticity::residual(), Biharmonic::JR::residual_and_jacobian(), LinearElasticityWithContact::residual_and_jacobian(), libMesh::RBEIMConstruction::truth_solve(), libMesh::NewmarkSystem::update_rhs(), and libMesh::SparseMatrix< ValOut >::vector_mult_add().
|
pure virtual |
Computes \( \vec{u} \leftarrow \vec{u} + A^T \vec{v} \), i.e.
adds the product of the transpose of a SparseMatrix
A
and a NumericVector
v
to this
.
Implemented in libMesh::PetscVector< T >, libMesh::EpetraVector< T >, libMesh::LaspackVector< T >, libMesh::EigenSparseVector< T >, libMesh::DistributedVector< T >, and libMesh::PetscVector< libMesh::Number >.
|
static |
Builds a NumericVector
on the processors in communicator comm
using the linear solver package specified by solver_package
.
Definition at line 49 of file numeric_vector.C.
Referenced by libMesh::ExactSolution::_compute_error(), libMesh::UniformRefinementEstimator::_estimate_error(), libMesh::System::add_vector(), libMesh::TransientRBConstruction::allocate_data_structures(), libMesh::RBConstruction::allocate_data_structures(), libMesh::TransientRBConstruction::assemble_affine_expansion(), libMesh::EquationSystems::build_parallel_elemental_solution_vector(), libMesh::EquationSystems::build_parallel_solution_vector(), libMesh::System::calculate_norm(), libMesh::RBConstruction::compute_Fq_representor_innerprods(), libMesh::RBConstruction::compute_output_dual_innerprods(), libMesh::RBConstruction::compute_residual_dual_norm_slow(), libMesh::DiagonalMatrix< T >::DiagonalMatrix(), libMesh::RBEIMConstruction::enrich_RB_space(), libMesh::RBConstruction::enrich_RB_space(), libMesh::AdjointRefinementEstimator::estimate_error(), libMesh::ExactErrorEstimator::estimate_error(), libMesh::CondensedEigenSystem::get_eigenpair(), libMesh::RBEIMConstruction::initialize_rb_construction(), main(), libMesh::TransientRBConstruction::mass_matrix_scaled_matvec(), libMesh::RBEvaluation::read_in_vectors_from_multiple_files(), libMesh::TransientRBConstruction::read_riesz_representors_from_files(), libMesh::RBConstruction::read_riesz_representors_from_files(), OverlappingAlgebraicGhostingTest::run_ghosting_test(), OverlappingCouplingGhostingTest::run_sparsity_pattern_test(), libMesh::TransientRBConstruction::set_error_temporal_data(), libMesh::RBEIMConstruction::set_explicit_sys_subvector(), MeshfunctionDFEM::test_mesh_function_dfem(), MeshfunctionDFEM::test_mesh_function_dfem_grad(), MeshFunctionTest::test_p_level(), DiagonalMatrixTest::testNumerics(), SystemsTest::testProjectCubeWithMeshFunction(), libMesh::MeshFunctionSolutionTransfer::transfer(), libMesh::TransientRBConstruction::truth_assembly(), libMesh::RBConstruction::truth_assembly(), libMesh::TransientRBConstruction::update_RB_initial_condition_all_N(), libMesh::RBEIMConstruction::update_RB_system_matrices(), libMesh::TransientRBConstruction::update_RB_system_matrices(), libMesh::RBConstruction::update_RB_system_matrices(), libMesh::TransientRBConstruction::update_residual_terms(), and libMesh::RBConstruction::update_residual_terms().
|
inlinevirtual |
Restores the NumericVector<T>
to a pristine state.
Reimplemented in libMesh::PetscVector< T >, libMesh::PetscVector< libMesh::Number >, libMesh::EpetraVector< T >, libMesh::LaspackVector< T >, libMesh::EigenSparseVector< T >, and libMesh::DistributedVector< T >.
Definition at line 811 of file numeric_vector.h.
Referenced by libMesh::UniformRefinementEstimator::_estimate_error(), libMesh::AdjointRefinementEstimator::estimate_error(), and libMesh::System::project_vector().
|
pure virtual |
Implemented in libMesh::PetscVector< T >, libMesh::PetscVector< libMesh::Number >, libMesh::EpetraVector< T >, libMesh::LaspackVector< T >, libMesh::EigenSparseVector< T >, and libMesh::DistributedVector< T >.
Referenced by libMesh::NewmarkSolver::advance_timestep(), HeatSystem::perturb_accumulate_residuals(), libMesh::System::project_vector(), libMesh::TwostepTimeSolver::solve(), and libMesh::ImplicitSystem::weighted_sensitivity_solve().
|
pure virtual |
Calls the NumericVector's internal assembly routines, ensuring that the values are consistent across processors.
Implemented in libMesh::PetscVector< T >, libMesh::PetscVector< libMesh::Number >, libMesh::EpetraVector< T >, libMesh::LaspackVector< T >, libMesh::EigenSparseVector< T >, and libMesh::DistributedVector< T >.
Referenced by add_M_C_K_helmholtz(), libMesh::RBConstruction::add_scaled_matrix_and_vector(), assemble(), AssembleOptimization::assemble_A_and_F(), assemble_matrix_and_rhs(), libMesh::ImplicitSystem::assemble_residual_derivatives(), assemble_shell(), libMesh::FEMSystem::assembly(), libMesh::LinearImplicitSystem::assembly(), libMesh::System::boundary_project_vector(), libMesh::EquationSystems::build_parallel_elemental_solution_vector(), libMesh::EquationSystems::build_parallel_solution_vector(), libMesh::ContinuationSystem::continuation_solve(), libMesh::AdjointRefinementEstimator::estimate_error(), libMesh::ImplicitSystem::forward_qoi_parameter_sensitivity(), libMesh::RBEIMConstruction::get_explicit_sys_subvector(), libMesh::ContinuationSystem::initialize_tangent(), libMesh::NewtonSolver::line_search(), HeatSystem::perturb_accumulate_residuals(), libMesh::System::project_vector(), libMesh::ImplicitSystem::qoi_parameter_hessian(), libMesh::ImplicitSystem::qoi_parameter_hessian_vector_product(), libMesh::System::read_serialized_vector(), libMesh::RBEIMConstruction::set_explicit_sys_subvector(), ParsedFEMFunctionTest::setUp(), libMesh::NewtonSolver::solve(), libMesh::NoxNonlinearSolver< Number >::solve(), libMesh::ContinuationSystem::solve_tangent(), libMesh::TransientRBConstruction::truth_assembly(), libMesh::RBConstruction::truth_assembly(), libMesh::ContinuationSystem::update_solution(), libMesh::ImplicitSystem::weighted_sensitivity_adjoint_solve(), libMesh::ImplicitSystem::weighted_sensitivity_solve(), and libMesh::RBConstruction::zero_constrained_dofs_on_vector().
|
inlinevirtual |
true
if the vector is closed and ready for computation, false otherwise. Definition at line 171 of file numeric_vector.h.
Referenced by libMesh::DofMap::max_constraint_error(), libMesh::EigenSparseVector< T >::operator=(), libMesh::LaspackVector< T >::operator=(), and libMesh::PetscVector< libMesh::Number >::operator=().
|
inlineinherited |
Parallel::Communicator
object used by this mesh. Definition at line 94 of file parallel_object.h.
References libMesh::ParallelObject::_communicator.
Referenced by libMesh::__libmesh_petsc_diff_solver_jacobian(), libMesh::__libmesh_petsc_diff_solver_monitor(), libMesh::__libmesh_petsc_diff_solver_residual(), libMesh::__libmesh_tao_equality_constraints(), libMesh::__libmesh_tao_equality_constraints_jacobian(), libMesh::__libmesh_tao_gradient(), libMesh::__libmesh_tao_hessian(), libMesh::__libmesh_tao_inequality_constraints(), libMesh::__libmesh_tao_inequality_constraints_jacobian(), libMesh::__libmesh_tao_objective(), libMesh::MeshRefinement::_coarsen_elements(), libMesh::ExactSolution::_compute_error(), libMesh::UniformRefinementEstimator::_estimate_error(), libMesh::BoundaryInfo::_find_id_maps(), libMesh::PetscLinearSolver< Number >::_petsc_shell_matrix_get_diagonal(), libMesh::SlepcEigenSolver< libMesh::Number >::_petsc_shell_matrix_get_diagonal(), libMesh::PetscLinearSolver< Number >::_petsc_shell_matrix_mult(), libMesh::SlepcEigenSolver< libMesh::Number >::_petsc_shell_matrix_mult(), libMesh::PetscLinearSolver< Number >::_petsc_shell_matrix_mult_add(), libMesh::EquationSystems::_read_impl(), libMesh::MeshRefinement::_refine_elements(), libMesh::MeshRefinement::_smooth_flags(), libMesh::DofMap::add_constraints_to_send_list(), add_cube_convex_hull_to_mesh(), libMesh::PetscDMWrapper::add_dofs_helper(), libMesh::PetscDMWrapper::add_dofs_to_section(), libMesh::TransientRBConstruction::add_IC_to_RB_space(), libMesh::ImplicitSystem::add_matrix(), libMesh::RBConstruction::add_scaled_matrix_and_vector(), libMesh::DynaIO::add_spline_constraints(), libMesh::System::add_vector(), libMesh::UnstructuredMesh::all_second_order(), libMesh::MeshTools::Modification::all_tri(), libMesh::LaplaceMeshSmoother::allgather_graph(), libMesh::DofMap::allgather_recursive_constraints(), libMesh::TransientRBConstruction::allocate_data_structures(), libMesh::RBConstruction::allocate_data_structures(), libMesh::TransientRBConstruction::assemble_affine_expansion(), libMesh::FEMSystem::assemble_qoi(), libMesh::MeshCommunication::assign_global_indices(), libMesh::DofMap::attach_matrix(), libMesh::MeshTools::Generation::build_extrusion(), libMesh::BoundaryInfo::build_node_list_from_side_list(), libMesh::EquationSystems::build_parallel_elemental_solution_vector(), libMesh::EquationSystems::build_parallel_solution_vector(), libMesh::PetscDMWrapper::build_section(), libMesh::PetscDMWrapper::build_sf(), libMesh::System::calculate_norm(), libMesh::DofMap::check_dirichlet_bcid_consistency(), libMesh::RBConstruction::compute_Fq_representor_innerprods(), libMesh::RBConstruction::compute_max_error_bound(), libMesh::Nemesis_IO_Helper::compute_num_global_elem_blocks(), libMesh::Nemesis_IO_Helper::compute_num_global_nodesets(), libMesh::Nemesis_IO_Helper::compute_num_global_sidesets(), libMesh::RBConstruction::compute_output_dual_innerprods(), libMesh::RBConstruction::compute_residual_dual_norm_slow(), libMesh::RBSCMConstruction::compute_SCM_bounds_on_training_set(), libMesh::Problem_Interface::computeF(), libMesh::Problem_Interface::computeJacobian(), libMesh::Problem_Interface::computePreconditioner(), libMesh::ExodusII_IO::copy_elemental_solution(), libMesh::ExodusII_IO::copy_scalar_solution(), libMesh::MeshTools::correct_node_proc_ids(), libMesh::MeshTools::create_bounding_box(), libMesh::DofMap::create_dof_constraints(), libMesh::MeshTools::create_nodal_bounding_box(), libMesh::MeshRefinement::create_parent_error_vector(), libMesh::MeshTools::create_processor_bounding_box(), libMesh::MeshTools::create_subdomain_bounding_box(), libMesh::MeshCommunication::delete_remote_elements(), libMesh::DofMap::distribute_dofs(), DMlibMeshFunction(), DMlibMeshJacobian(), DMlibMeshSetSystem_libMesh(), DMVariableBounds_libMesh(), libMesh::DTKSolutionTransfer::DTKSolutionTransfer(), libMesh::MeshRefinement::eliminate_unrefined_patches(), libMesh::RBEIMConstruction::enrich_RB_space(), libMesh::TransientRBConstruction::enrich_RB_space(), libMesh::RBConstruction::enrich_RB_space(), libMesh::EpetraVector< T >::EpetraVector(), AssembleOptimization::equality_constraints(), libMesh::WeightedPatchRecoveryErrorEstimator::estimate_error(), libMesh::PatchRecoveryErrorEstimator::estimate_error(), libMesh::JumpErrorEstimator::estimate_error(), libMesh::AdjointRefinementEstimator::estimate_error(), libMesh::ExactErrorEstimator::estimate_error(), libMesh::RBEIMConstruction::evaluate_mesh_function(), libMesh::MeshRefinement::flag_elements_by_elem_fraction(), libMesh::MeshRefinement::flag_elements_by_error_fraction(), libMesh::MeshRefinement::flag_elements_by_error_tolerance(), libMesh::MeshRefinement::flag_elements_by_mean_stddev(), libMesh::MeshRefinement::flag_elements_by_nelem_target(), libMesh::DofMap::gather_constraints(), libMesh::MeshfreeInterpolation::gather_remote_data(), libMesh::CondensedEigenSystem::get_eigenpair(), libMesh::DofMap::get_info(), libMesh::ImplicitSystem::get_linear_solver(), AssembleOptimization::inequality_constraints(), AssembleOptimization::inequality_constraints_jacobian(), libMesh::LocationMap< T >::init(), libMesh::TimeSolver::init(), libMesh::SystemSubsetBySubdomain::init(), libMesh::PetscDMWrapper::init_and_attach_petscdm(), libMesh::EigenSystem::init_matrices(), libMesh::OptimizationSystem::initialize_equality_constraints_storage(), libMesh::OptimizationSystem::initialize_inequality_constraints_storage(), libMesh::RBEIMConstruction::initialize_rb_construction(), integrate_function(), libMesh::MeshTools::libmesh_assert_consistent_distributed(), libMesh::MeshTools::libmesh_assert_consistent_distributed_nodes(), libMesh::MeshTools::libmesh_assert_contiguous_dof_ids(), libMesh::MeshTools::libmesh_assert_parallel_consistent_new_node_procids(), libMesh::MeshTools::libmesh_assert_parallel_consistent_procids< Elem >(), libMesh::MeshTools::libmesh_assert_parallel_consistent_procids< Node >(), libMesh::MeshTools::libmesh_assert_topology_consistent_procids< Node >(), libMesh::MeshTools::libmesh_assert_valid_boundary_ids(), libMesh::MeshTools::libmesh_assert_valid_dof_ids(), libMesh::MeshTools::libmesh_assert_valid_neighbors(), libMesh::DistributedMesh::libmesh_assert_valid_parallel_flags(), libMesh::DistributedMesh::libmesh_assert_valid_parallel_object_ids(), libMesh::DistributedMesh::libmesh_assert_valid_parallel_p_levels(), libMesh::MeshTools::libmesh_assert_valid_refinement_flags(), libMesh::MeshTools::libmesh_assert_valid_unique_ids(), libMesh::libmesh_petsc_preconditioner_apply(), libMesh::libmesh_petsc_snes_fd_residual(), libMesh::libmesh_petsc_snes_jacobian(), libMesh::libmesh_petsc_snes_mffd_residual(), libMesh::libmesh_petsc_snes_postcheck(), libMesh::libmesh_petsc_snes_residual(), libMesh::libmesh_petsc_snes_residual_helper(), libMesh::MeshRefinement::limit_level_mismatch_at_edge(), libMesh::MeshRefinement::limit_level_mismatch_at_node(), libMesh::MeshRefinement::limit_overrefined_boundary(), libMesh::MeshRefinement::limit_underrefined_boundary(), main(), libMesh::MeshRefinement::make_coarsening_compatible(), libMesh::MeshCommunication::make_elems_parallel_consistent(), libMesh::MeshRefinement::make_flags_parallel_consistent(), libMesh::MeshCommunication::make_new_node_proc_ids_parallel_consistent(), libMesh::MeshCommunication::make_new_nodes_parallel_consistent(), libMesh::MeshCommunication::make_node_ids_parallel_consistent(), libMesh::MeshCommunication::make_node_proc_ids_parallel_consistent(), libMesh::MeshCommunication::make_node_unique_ids_parallel_consistent(), libMesh::MeshCommunication::make_nodes_parallel_consistent(), libMesh::MeshCommunication::make_p_levels_parallel_consistent(), libMesh::MeshRefinement::make_refinement_compatible(), libMesh::TransientRBConstruction::mass_matrix_scaled_matvec(), libMesh::FEMSystem::mesh_position_set(), LinearElasticityWithContact::move_mesh(), libMesh::DistributedMesh::n_active_elem(), libMesh::MeshTools::n_active_levels(), libMesh::BoundaryInfo::n_boundary_conds(), libMesh::DofMap::n_constrained_dofs(), libMesh::BoundaryInfo::n_edge_conds(), libMesh::CondensedEigenSystem::n_global_non_condensed_dofs(), libMesh::MeshTools::n_levels(), libMesh::BoundaryInfo::n_nodeset_conds(), libMesh::MeshTools::n_p_levels(), libMesh::BoundaryInfo::n_shellface_conds(), libMesh::DistributedMesh::parallel_max_elem_id(), libMesh::DistributedMesh::parallel_max_node_id(), libMesh::ReplicatedMesh::parallel_max_unique_id(), libMesh::DistributedMesh::parallel_max_unique_id(), libMesh::DistributedMesh::parallel_n_elem(), libMesh::DistributedMesh::parallel_n_nodes(), libMesh::SparsityPattern::Build::parallel_sync(), libMesh::MeshTools::paranoid_n_levels(), libMesh::petsc_auto_fieldsplit(), libMesh::System::point_gradient(), libMesh::System::point_hessian(), libMesh::System::point_value(), libMesh::DofMap::print_dof_constraints(), FEMParameters::read(), libMesh::Nemesis_IO::read(), libMesh::XdrIO::read(), libMesh::CheckpointIO::read_header(), libMesh::XdrIO::read_header(), libMesh::System::read_header(), libMesh::RBEvaluation::read_in_vectors_from_multiple_files(), libMesh::System::read_legacy_data(), libMesh::TransientRBConstruction::read_riesz_representors_from_files(), libMesh::RBConstruction::read_riesz_representors_from_files(), libMesh::System::read_SCALAR_dofs(), libMesh::XdrIO::read_serialized_bc_names(), libMesh::XdrIO::read_serialized_bcs_helper(), libMesh::System::read_serialized_blocked_dof_objects(), libMesh::XdrIO::read_serialized_connectivity(), libMesh::XdrIO::read_serialized_nodes(), libMesh::XdrIO::read_serialized_nodesets(), libMesh::XdrIO::read_serialized_subdomain_names(), libMesh::System::read_serialized_vector(), libMesh::MeshRefinement::refine_and_coarsen_elements(), libMesh::DistributedMesh::renumber_dof_objects(), LinearElasticityWithContact::residual_and_jacobian(), OverlappingAlgebraicGhostingTest::run_ghosting_test(), OverlappingCouplingGhostingTest::run_sparsity_pattern_test(), libMesh::DofMap::scatter_constraints(), libMesh::CheckpointIO::select_split_config(), libMesh::TransientRBConstruction::set_error_temporal_data(), libMesh::RBEIMConstruction::set_explicit_sys_subvector(), libMesh::DofMap::set_nonlocal_dof_objects(), libMesh::PetscDMWrapper::set_point_range_in_section(), libMesh::PetscDiffSolver::setup_petsc_data(), libMesh::LaplaceMeshSmoother::smooth(), libMesh::split_mesh(), libMesh::BoundaryInfo::sync(), libMesh::MeshRefinement::test_level_one(), MeshfunctionDFEM::test_mesh_function_dfem(), MeshfunctionDFEM::test_mesh_function_dfem_grad(), MeshFunctionTest::test_p_level(), libMesh::MeshRefinement::test_unflagged(), SystemsTest::testBlockRestrictedVarNDofs(), PointLocatorTest::testLocator(), BoundaryInfoTest::testMesh(), SystemsTest::testProjectCubeWithMeshFunction(), CheckpointIOTest::testSplitter(), libMesh::MeshTools::total_weight(), libMesh::MeshFunctionSolutionTransfer::transfer(), libMesh::MeshfreeSolutionTransfer::transfer(), libMesh::TransientRBConstruction::truth_assembly(), libMesh::RBConstruction::truth_assembly(), libMesh::MeshRefinement::uniformly_coarsen(), libMesh::TransientRBConstruction::update_RB_initial_condition_all_N(), libMesh::RBEIMConstruction::update_RB_system_matrices(), libMesh::TransientRBConstruction::update_RB_system_matrices(), libMesh::RBConstruction::update_RB_system_matrices(), libMesh::TransientRBConstruction::update_residual_terms(), libMesh::RBConstruction::update_residual_terms(), libMesh::NameBasedIO::write(), libMesh::XdrIO::write(), libMesh::VTKIO::write_nodal_data(), libMesh::RBEvaluation::write_out_vectors(), libMesh::TransientRBConstruction::write_riesz_representors_to_files(), libMesh::RBConstruction::write_riesz_representors_to_files(), libMesh::System::write_SCALAR_dofs(), libMesh::XdrIO::write_serialized_bcs_helper(), libMesh::System::write_serialized_blocked_dof_objects(), libMesh::XdrIO::write_serialized_connectivity(), libMesh::XdrIO::write_serialized_nodes(), libMesh::XdrIO::write_serialized_nodesets(), libMesh::RBDataSerialization::RBEvaluationSerialization::write_to_file(), libMesh::RBDataSerialization::TransientRBEvaluationSerialization::write_to_file(), libMesh::RBDataSerialization::RBEIMEvaluationSerialization::write_to_file(), and libMesh::RBDataSerialization::RBSCMEvaluationSerialization::write_to_file().
|
virtual |
-1
when this
is equivalent to other_vector
(up to the given threshold
), or the first index where abs
(a[i]-b[i]) exceeds the threshold. Definition at line 105 of file numeric_vector.C.
|
pure virtual |
Negates the imaginary component of each entry in the vector.
Implemented in libMesh::PetscVector< T >, libMesh::PetscVector< libMesh::Number >, libMesh::EpetraVector< T >, libMesh::LaspackVector< T >, libMesh::EigenSparseVector< T >, and libMesh::DistributedVector< T >.
|
inlinevirtual |
Fills in subvector
from this vector using the indices in rows
.
Similar to the create_submatrix()
routine for the SparseMatrix class, it is currently only implemented for PetscVectors.
Reimplemented in libMesh::PetscVector< T >, libMesh::EpetraVector< T >, and libMesh::PetscVector< libMesh::Number >.
Definition at line 707 of file numeric_vector.h.
|
staticinherited |
Definition at line 106 of file reference_counter.C.
References libMesh::ReferenceCounter::_enable_print_counter.
Referenced by libMesh::LibMeshInit::LibMeshInit().
|
pure virtual |
v
.Uses the complex-conjugate of v
in the complex-valued case.
Implemented in libMesh::PetscVector< T >, libMesh::EpetraVector< T >, libMesh::DistributedVector< T >, libMesh::LaspackVector< T >, libMesh::EigenSparseVector< T >, and libMesh::PetscVector< libMesh::Number >.
Referenced by libMesh::TransientRBConstruction::add_IC_to_RB_space(), libMesh::ImplicitSystem::adjoint_qoi_parameter_sensitivity(), libMesh::RBSCMConstruction::Aq_inner_product(), libMesh::RBSCMConstruction::B_inner_product(), libMesh::ContinuationSystem::continuation_solve(), libMesh::TransientRBConstruction::enrich_RB_space(), libMesh::AdjointRefinementEstimator::estimate_error(), libMesh::ImplicitSystem::forward_qoi_parameter_sensitivity(), AssembleOptimization::objective(), libMesh::ImplicitSystem::qoi_parameter_hessian(), libMesh::ImplicitSystem::qoi_parameter_hessian_vector_product(), libMesh::ContinuationSystem::solve_tangent(), libMesh::TransientRBConstruction::truth_solve(), libMesh::RBConstruction::truth_solve(), libMesh::TransientRBConstruction::update_RB_system_matrices(), libMesh::RBConstruction::update_RB_system_matrices(), and libMesh::ContinuationSystem::update_solution().
|
inlinevirtual |
|
staticinherited |
Methods to enable/disable the reference counter output from print_info()
Definition at line 100 of file reference_counter.C.
References libMesh::ReferenceCounter::_enable_print_counter.
|
pure virtual |
0
. Implemented in libMesh::PetscVector< T >, libMesh::PetscVector< libMesh::Number >, libMesh::EpetraVector< T >, libMesh::LaspackVector< T >, libMesh::EigenSparseVector< T >, and libMesh::DistributedVector< T >.
Referenced by libMesh::EquationSystems::build_parallel_solution_vector(), libMesh::NumericVector< Number >::compare(), AssembleOptimization::equality_constraints(), libMesh::DofMap::extract_local_vector(), libMesh::RBConstructionBase< CondensedEigenSystem >::generate_training_parameters_deterministic(), libMesh::RBConstructionBase< CondensedEigenSystem >::generate_training_parameters_random(), libMesh::RBEIMConstruction::get_explicit_sys_subvector(), libMesh::NumericVector< Number >::global_relative_compare(), libMesh::index_range(), AssembleOptimization::inequality_constraints(), libMesh::RBConstructionBase< CondensedEigenSystem >::initialize_training_parameters(), libMesh::VectorSetAction< Val >::insert(), libMesh::RBConstructionBase< CondensedEigenSystem >::load_training_set(), libMesh::NumericVector< Number >::local_relative_compare(), libMesh::DofMap::max_constraint_error(), and libMesh::RBEIMConstruction::set_explicit_sys_subvector().
|
inline |
Access multiple components at once.
values
will be resized, if necessary, and filled. The default implementation calls operator()
for each index, but some implementations may supply faster methods here.
Definition at line 835 of file numeric_vector.h.
|
inlinevirtual |
Access multiple components at once.
values
will not be reallocated; it should already have enough space. The default implementation calls operator()
for each index, but some implementations may supply faster methods here.
Reimplemented in libMesh::PetscVector< T >, and libMesh::PetscVector< libMesh::Number >.
Definition at line 821 of file numeric_vector.h.
Referenced by libMesh::UniformRefinementEstimator::_estimate_error(), compute_residual(), libMesh::EpetraVector< T >::EpetraVector(), libMesh::AdjointRefinementEstimator::estimate_error(), libMesh::RBConstructionBase< CondensedEigenSystem >::generate_training_parameters_deterministic(), libMesh::RBConstructionBase< CondensedEigenSystem >::generate_training_parameters_random(), libMesh::RBConstructionBase< CondensedEigenSystem >::initialize_training_parameters(), libMesh::RBConstructionBase< CondensedEigenSystem >::load_training_set(), libMesh::FEMContext::pre_fe_reinit(), and libMesh::System::project_vector().
|
staticinherited |
Gets a string containing the reference information.
Definition at line 47 of file reference_counter.C.
References libMesh::ReferenceCounter::_counts, and libMesh::Quality::name().
Referenced by libMesh::ReferenceCounter::print_info().
|
virtual |
-1
when this
is equivalent to other_vector
(up to the given global relative threshold
), or the first index where abs
(a[i]-b[i])/max_j(a[j],b[j]) exceeds the threshold. Definition at line 170 of file numeric_vector.C.
|
inlineprotectedinherited |
Increments the construction counter.
Should be called in the constructor of any derived class that will be reference counted.
Definition at line 181 of file reference_counter.h.
References libMesh::ReferenceCounter::_counts, libMesh::Quality::name(), and libMesh::Threads::spin_mtx.
Referenced by libMesh::ReferenceCountedObject< RBParametrized >::ReferenceCountedObject().
|
inlineprotectedinherited |
Increments the destruction counter.
Should be called in the destructor of any derived class that will be reference counted.
Definition at line 194 of file reference_counter.h.
References libMesh::ReferenceCounter::_counts, libMesh::Quality::name(), and libMesh::Threads::spin_mtx.
Referenced by libMesh::ReferenceCountedObject< RBParametrized >::~ReferenceCountedObject().
|
pure virtual |
Call init()
with n_local = N.
Implemented in libMesh::PetscVector< T >, libMesh::PetscVector< libMesh::Number >, libMesh::EpetraVector< T >, libMesh::LaspackVector< T >, libMesh::EigenSparseVector< T >, and libMesh::DistributedVector< T >.
|
pure virtual |
Change the dimension of the vector to n
.
The reserved memory for this vector remains unchanged if possible. If n==0
, all memory is freed. Therefore, if you want to resize the vector and release the memory not needed, you have to first call init(0)
and then init(n)
. This behaviour is analogous to that of the STL containers.
On fast==false
, the vector is filled by zeros.
Implemented in libMesh::PetscVector< T >, libMesh::PetscVector< libMesh::Number >, libMesh::EpetraVector< T >, libMesh::LaspackVector< T >, libMesh::EigenSparseVector< T >, and libMesh::DistributedVector< T >.
Referenced by libMesh::TransientRBConstruction::add_IC_to_RB_space(), libMesh::System::add_vector(), libMesh::EquationSystems::build_parallel_elemental_solution_vector(), libMesh::EquationSystems::build_parallel_solution_vector(), libMesh::DistributedVector< T >::clone(), libMesh::EigenSparseVector< T >::clone(), libMesh::LaspackVector< T >::clone(), libMesh::EpetraVector< T >::clone(), libMesh::PetscVector< libMesh::Number >::clone(), libMesh::TransientRBConstruction::enrich_RB_space(), AssembleOptimization::equality_constraints(), AssembleOptimization::inequality_constraints(), AssembleOptimization::inequality_constraints_jacobian(), main(), LinearElasticityWithContact::move_mesh(), libMesh::System::project_vector(), libMesh::DistributedVector< T >::zero_clone(), libMesh::EigenSparseVector< T >::zero_clone(), libMesh::LaspackVector< T >::zero_clone(), libMesh::EpetraVector< T >::zero_clone(), and libMesh::PetscVector< libMesh::Number >::zero_clone().
|
pure virtual |
Create a vector that holds tha local indices plus those specified in the ghost
argument.
Implemented in libMesh::PetscVector< T >, libMesh::PetscVector< libMesh::Number >, libMesh::EpetraVector< T >, libMesh::LaspackVector< T >, libMesh::EigenSparseVector< T >, and libMesh::DistributedVector< T >.
|
pure virtual |
Creates a vector that has the same dimension and storage type as other
, including ghost dofs.
Implemented in libMesh::PetscVector< T >, libMesh::EpetraVector< T >, libMesh::LaspackVector< T >, libMesh::EigenSparseVector< T >, libMesh::DistributedVector< T >, and libMesh::PetscVector< libMesh::Number >.
|
inlinevirtual |
true
if the vector has been initialized, false otherwise. Definition at line 155 of file numeric_vector.h.
Referenced by libMesh::ImplicitSystem::assemble(), libMesh::NumericVector< Number >::compare(), libMesh::PetscVector< libMesh::Number >::create_subvector(), libMesh::NumericVector< Number >::global_relative_compare(), libMesh::PetscVector< libMesh::Number >::init(), and libMesh::NumericVector< Number >::local_relative_compare().
|
inline |
Inserts the entries of v
in *this at the locations specified by v
.
Definition at line 898 of file numeric_vector.h.
|
inline |
Inserts the entries of v
in *this at the locations specified by v
.
Definition at line 886 of file numeric_vector.h.
|
virtual |
Inserts the entries of v
in *this at the locations specified by v
.
Definition at line 93 of file numeric_vector.C.
|
inline |
Inserts the entries of v
in *this at the locations specified by v
.
Definition at line 874 of file numeric_vector.h.
|
virtual |
Inserts the entries of v
in *this at the locations specified by v
.
Reimplemented in libMesh::PetscVector< T >, libMesh::EpetraVector< T >, and libMesh::PetscVector< libMesh::Number >.
Definition at line 83 of file numeric_vector.C.
Referenced by Biharmonic::JR::bounds().
|
pure virtual |
Implemented in libMesh::PetscVector< T >, libMesh::PetscVector< libMesh::Number >, libMesh::EpetraVector< T >, libMesh::LaspackVector< T >, libMesh::EigenSparseVector< T >, and libMesh::DistributedVector< T >.
Referenced by libMesh::FEMSystem::assembly(), and libMesh::System::calculate_norm().
|
pure virtual |
Implemented in libMesh::PetscVector< T >, libMesh::PetscVector< libMesh::Number >, libMesh::EpetraVector< T >, libMesh::LaspackVector< T >, libMesh::EigenSparseVector< T >, and libMesh::DistributedVector< T >.
Referenced by libMesh::System::calculate_norm(), libMesh::ContinuationSystem::continuation_solve(), libMesh::RBConstruction::enrich_basis_from_rhs_terms(), libMesh::ContinuationSystem::initialize_tangent(), libMesh::NewtonSolver::line_search(), libMesh::NewtonSolver::solve(), libMesh::ContinuationSystem::solve_tangent(), and libMesh::ContinuationSystem::update_solution().
|
pure virtual |
size()
. Implemented in libMesh::PetscVector< T >, libMesh::PetscVector< libMesh::Number >, libMesh::EpetraVector< T >, libMesh::LaspackVector< T >, libMesh::EigenSparseVector< T >, and libMesh::DistributedVector< T >.
Referenced by libMesh::EquationSystems::build_parallel_solution_vector(), libMesh::NumericVector< Number >::compare(), AssembleOptimization::equality_constraints(), libMesh::DofMap::extract_local_vector(), libMesh::RBEIMConstruction::get_explicit_sys_subvector(), libMesh::NumericVector< Number >::global_relative_compare(), libMesh::index_range(), AssembleOptimization::inequality_constraints(), libMesh::RBConstructionBase< CondensedEigenSystem >::initialize_training_parameters(), libMesh::VectorSetAction< Val >::insert(), libMesh::NumericVector< Number >::local_relative_compare(), libMesh::DofMap::max_constraint_error(), and libMesh::RBEIMConstruction::set_explicit_sys_subvector().
|
pure virtual |
Implemented in libMesh::PetscVector< T >, libMesh::PetscVector< libMesh::Number >, libMesh::EpetraVector< T >, libMesh::LaspackVector< T >, libMesh::EigenSparseVector< T >, and libMesh::DistributedVector< T >.
Referenced by libMesh::System::calculate_norm(), and libMesh::NumericVector< Number >::global_relative_compare().
|
virtual |
-1
when this
is equivalent to other_vector
, (up to the given local relative threshold
), or the first index where abs
(a[i]-b[i])/max(a[i],b[i]) exceeds the threshold. Definition at line 137 of file numeric_vector.C.
|
pure virtual |
index_stop
- index_start
. Implemented in libMesh::PetscVector< T >, libMesh::PetscVector< libMesh::Number >, libMesh::EpetraVector< T >, libMesh::LaspackVector< T >, libMesh::EigenSparseVector< T >, and libMesh::DistributedVector< T >.
Referenced by libMesh::PetscLinearSolver< Number >::adjoint_solve(), libMesh::RBConstructionBase< CondensedEigenSystem >::generate_training_parameters_deterministic(), libMesh::RBConstructionBase< CondensedEigenSystem >::generate_training_parameters_random(), libMesh::DistributedVector< T >::init(), libMesh::EigenSparseVector< T >::init(), libMesh::LaspackVector< T >::init(), libMesh::EpetraVector< T >::init(), libMesh::System::project_vector(), and libMesh::PetscLinearSolver< Number >::solve().
|
pure virtual |
Updates a local vector with selected values from neighboring processors, as defined by send_list
.
Implemented in libMesh::PetscVector< T >, libMesh::PetscVector< libMesh::Number >, libMesh::EpetraVector< T >, libMesh::DistributedVector< T >, libMesh::LaspackVector< T >, and libMesh::EigenSparseVector< T >.
|
pure virtual |
Same, but fills a NumericVector<T>
instead of a std::vector
.
Implemented in libMesh::PetscVector< T >, libMesh::EpetraVector< T >, libMesh::DistributedVector< T >, libMesh::LaspackVector< T >, libMesh::EigenSparseVector< T >, and libMesh::PetscVector< libMesh::Number >.
|
pure virtual |
Creates a local vector v_local
containing only information relevant to this processor, as defined by the send_list
.
Implemented in libMesh::PetscVector< T >, libMesh::EpetraVector< T >, libMesh::DistributedVector< T >, libMesh::LaspackVector< T >, libMesh::EigenSparseVector< T >, and libMesh::PetscVector< libMesh::Number >.
|
pure virtual |
Creates a copy of the global vector in the local vector v_local
.
Implemented in libMesh::PetscVector< T >, libMesh::EpetraVector< T >, libMesh::DistributedVector< T >, libMesh::LaspackVector< T >, libMesh::EigenSparseVector< T >, and libMesh::PetscVector< libMesh::Number >.
Referenced by libMesh::UnsteadySolver::adjoint_advance_timestep(), libMesh::UnsteadySolver::advance_timestep(), libMesh::System::calculate_norm(), AssembleOptimization::equality_constraints(), libMesh::AdjointRefinementEstimator::estimate_error(), AssembleOptimization::inequality_constraints(), AssembleOptimization::inequality_constraints_jacobian(), main(), LinearElasticityWithContact::move_mesh(), libMesh::System::project_vector(), libMesh::UnsteadySolver::reinit(), libMesh::UnsteadySolver::retrieve_timestep(), libMesh::RBConstruction::set_context_solution_vec(), libMesh::RBEIMConstruction::set_explicit_sys_subvector(), libMesh::RBEIMConstruction::update_RB_system_matrices(), libMesh::MeshOutput< MeshBase >::write_nodal_data(), and libMesh::Nemesis_IO_Helper::write_nodal_solution().
|
pure virtual |
Fill in the local std::vector "v_local" with the global indices given in "indices".
Example:
* On 4 procs *this = {a, b, c, d, e, f, g, h, i} is a parallel vector. * On each proc, the indices arrays are set up as: * proc0, indices = {1,2,4,5} * proc1, indices = {2,5,6,8} * proc2, indices = {2,3,6,7} * proc3, indices = {0,1,2,3} * * After calling this version of localize, the v_local vectors are: * proc0, v_local = {b,c,e,f} * proc1, v_local = {c,f,g,i} * proc2, v_local = {c,d,g,h} * proc3, v_local = {a,b,c,d} *
This function is useful in parallel I/O routines, when you have a parallel vector of solution values which you want to write a subset of.
Implemented in libMesh::PetscVector< T >, libMesh::EpetraVector< T >, libMesh::DistributedVector< T >, libMesh::LaspackVector< T >, libMesh::EigenSparseVector< T >, and libMesh::PetscVector< libMesh::Number >.
|
pure virtual |
Creates a local copy of the global vector in v_local
only on processor proc_id
.
By default the data is sent to processor 0. This method is useful for outputting data from one processor.
Implemented in libMesh::PetscVector< T >, libMesh::EpetraVector< T >, libMesh::DistributedVector< T >, libMesh::LaspackVector< T >, libMesh::EigenSparseVector< T >, and libMesh::PetscVector< libMesh::Number >.
|
pure virtual |
Implemented in libMesh::PetscVector< T >, libMesh::PetscVector< libMesh::Number >, libMesh::EpetraVector< T >, libMesh::LaspackVector< T >, libMesh::EigenSparseVector< T >, and libMesh::DistributedVector< T >.
|
pure virtual |
Implemented in libMesh::PetscVector< T >, libMesh::PetscVector< libMesh::Number >, libMesh::EpetraVector< T >, libMesh::LaspackVector< T >, libMesh::EigenSparseVector< T >, and libMesh::DistributedVector< T >.
|
inlinestaticinherited |
Prints the number of outstanding (created, but not yet destroyed) objects.
Definition at line 83 of file reference_counter.h.
References libMesh::ReferenceCounter::_n_objects.
|
inlineinherited |
Definition at line 100 of file parallel_object.h.
References libMesh::ParallelObject::_communicator.
Referenced by libMesh::BoundaryInfo::_find_id_maps(), libMesh::DofMap::add_constraints_to_send_list(), libMesh::PetscDMWrapper::add_dofs_to_section(), libMesh::DistributedMesh::add_elem(), libMesh::DofMap::add_neighbors_to_send_list(), libMesh::DistributedMesh::add_node(), libMesh::LaplaceMeshSmoother::allgather_graph(), libMesh::DofMap::allgather_recursive_constraints(), libMesh::FEMSystem::assembly(), libMesh::AztecLinearSolver< T >::AztecLinearSolver(), libMesh::BoundaryInfo::build_node_list_from_side_list(), libMesh::EquationSystems::build_parallel_elemental_solution_vector(), libMesh::DistributedMesh::clear(), libMesh::Nemesis_IO_Helper::compute_border_node_ids(), libMesh::Nemesis_IO_Helper::construct_nemesis_filename(), libMesh::ExodusII_IO::copy_scalar_solution(), libMesh::UnstructuredMesh::create_pid_mesh(), libMesh::MeshTools::create_processor_bounding_box(), libMesh::DofMap::distribute_dofs(), libMesh::DofMap::distribute_local_dofs_node_major(), libMesh::DofMap::distribute_local_dofs_var_major(), libMesh::EnsightIO::EnsightIO(), libMesh::SystemSubsetBySubdomain::init(), libMesh::PetscDMWrapper::init_and_attach_petscdm(), libMesh::Nemesis_IO_Helper::initialize(), libMesh::DistributedMesh::insert_elem(), libMesh::MeshTools::libmesh_assert_contiguous_dof_ids(), libMesh::MeshTools::libmesh_assert_parallel_consistent_new_node_procids(), libMesh::MeshTools::libmesh_assert_parallel_consistent_procids< Elem >(), libMesh::MeshTools::libmesh_assert_parallel_consistent_procids< Node >(), libMesh::MeshTools::libmesh_assert_topology_consistent_procids< Node >(), libMesh::MeshTools::libmesh_assert_valid_boundary_ids(), libMesh::MeshTools::libmesh_assert_valid_dof_ids(), libMesh::MeshTools::libmesh_assert_valid_neighbors(), libMesh::MeshTools::libmesh_assert_valid_refinement_flags(), libMesh::DofMap::local_variable_indices(), libMesh::MeshRefinement::make_coarsening_compatible(), libMesh::MeshBase::partition(), libMesh::System::point_gradient(), libMesh::System::point_hessian(), libMesh::System::point_value(), libMesh::DofMap::prepare_send_list(), libMesh::DofMap::print_dof_constraints(), libMesh::NameBasedIO::read(), libMesh::Nemesis_IO::read(), libMesh::CheckpointIO::read(), libMesh::CheckpointIO::read_connectivity(), libMesh::XdrIO::read_header(), libMesh::CheckpointIO::read_nodes(), libMesh::System::read_parallel_data(), libMesh::System::read_SCALAR_dofs(), libMesh::System::read_serialized_blocked_dof_objects(), libMesh::System::read_serialized_vector(), libMesh::DistributedMesh::renumber_dof_objects(), OverlappingFunctorTest::run_partitioner_test(), libMesh::DofMap::scatter_constraints(), libMesh::DofMap::set_nonlocal_dof_objects(), libMesh::PetscDMWrapper::set_point_range_in_section(), CheckpointIOTest::testSplitter(), WriteVecAndScalar::testWrite(), libMesh::MeshRefinement::uniformly_coarsen(), libMesh::DistributedMesh::update_parallel_id_counts(), libMesh::GMVIO::write_binary(), libMesh::GMVIO::write_discontinuous_gmv(), libMesh::VTKIO::write_nodal_data(), libMesh::System::write_parallel_data(), libMesh::System::write_SCALAR_dofs(), libMesh::XdrIO::write_serialized_bcs_helper(), libMesh::System::write_serialized_blocked_dof_objects(), libMesh::XdrIO::write_serialized_connectivity(), libMesh::XdrIO::write_serialized_nodes(), and libMesh::XdrIO::write_serialized_nodesets().
|
pure virtual |
Implemented in libMesh::PetscVector< T >, libMesh::PetscVector< libMesh::Number >, libMesh::EpetraVector< T >, libMesh::LaspackVector< T >, libMesh::EigenSparseVector< T >, and libMesh::DistributedVector< T >.
|
pure virtual |
Computes the component-wise multiplication of this vector's entries by another's, \( u_i \leftarrow u_i v_i \, \forall i\).
Implemented in libMesh::EigenSparseVector< T >, libMesh::PetscVector< T >, libMesh::EpetraVector< T >, libMesh::LaspackVector< T >, libMesh::DistributedVector< T >, and libMesh::PetscVector< libMesh::Number >.
|
inline |
Scales the vector by a
, \( \vec{u} \leftarrow a\vec{u} \).
Equivalent to u.scale(a)
Definition at line 397 of file numeric_vector.h.
|
pure virtual |
Adds v
to *this, \( \vec{u} \leftarrow \vec{u} + \vec{v} \).
Equivalent to u.add(1, v)
.
Implemented in libMesh::PetscVector< T >, libMesh::EpetraVector< T >, libMesh::LaspackVector< T >, libMesh::EigenSparseVector< T >, libMesh::DistributedVector< T >, and libMesh::PetscVector< libMesh::Number >.
|
pure virtual |
Subtracts v
from *this, \( \vec{u} \leftarrow \vec{u} - \vec{v} \).
Equivalent to u.add
(-1, v).
Implemented in libMesh::PetscVector< T >, libMesh::EpetraVector< T >, libMesh::LaspackVector< T >, libMesh::EigenSparseVector< T >, libMesh::DistributedVector< T >, and libMesh::PetscVector< libMesh::Number >.
|
pure virtual |
Computes the component-wise division of this vector's entries by another's, \( u_i \leftarrow \frac{u_i}{v_i} \, \forall i\).
Implemented in libMesh::EigenSparseVector< T >, libMesh::PetscVector< T >, libMesh::EpetraVector< T >, libMesh::LaspackVector< T >, libMesh::DistributedVector< T >, and libMesh::PetscVector< libMesh::Number >.
|
inline |
Scales the vector by 1/a
, \( \vec{u} \leftarrow \frac{1}{a}\vec{u} \).
Equivalent to u.scale
(1./a)
Definition at line 415 of file numeric_vector.h.
|
pure virtual |
This looks like a copy assignment operator, but note that, unlike normal copy assignment operators, it is pure virtual.
This function should be overridden in derived classes so that they can be copied correctly via references to the base class. This design usually isn't a good idea in general, but in this context it works because we usually don't have a mix of different kinds of NumericVectors active in the library at a single time.
Implemented in libMesh::PetscVector< T >, libMesh::EpetraVector< T >, libMesh::LaspackVector< T >, libMesh::EigenSparseVector< T >, libMesh::DistributedVector< T >, and libMesh::PetscVector< libMesh::Number >.
|
pure virtual |
Sets (*this)(i) = v(i) for each entry of the vector.
Implemented in libMesh::PetscVector< T >, libMesh::EpetraVector< T >, libMesh::LaspackVector< T >, libMesh::EigenSparseVector< T >, libMesh::DistributedVector< T >, and libMesh::PetscVector< libMesh::Number >.
|
pure virtual |
Sets all entries of the vector to the value s
.
Implemented in libMesh::PetscVector< T >, libMesh::EpetraVector< T >, libMesh::LaspackVector< T >, libMesh::EigenSparseVector< T >, libMesh::DistributedVector< T >, and libMesh::PetscVector< libMesh::Number >.
|
default |
|
pure virtual |
Computes \( u_i \leftarrow u_i v_i \) (summation not implied) i.e.
the pointwise (component-wise) product of vec1
and vec2
, and stores the result in *this
.
Implemented in libMesh::PetscVector< T >, libMesh::EpetraVector< T >, libMesh::DistributedVector< T >, libMesh::LaspackVector< T >, libMesh::EigenSparseVector< T >, and libMesh::PetscVector< libMesh::Number >.
Referenced by libMesh::TensorShellMatrix< T >::get_diagonal().
|
inline |
Definition at line 913 of file numeric_vector.h.
|
inlinevirtual |
Prints the local contents of the vector, by default to libMesh::out.
Definition at line 931 of file numeric_vector.h.
|
inline |
Definition at line 946 of file numeric_vector.h.
|
inlinevirtual |
Prints the global contents of the vector, by default to libMesh::out.
Definition at line 968 of file numeric_vector.h.
|
staticinherited |
Prints the reference information, by default to libMesh::out
.
Definition at line 87 of file reference_counter.C.
References libMesh::ReferenceCounter::_enable_print_counter, and libMesh::ReferenceCounter::get_info().
|
inlinevirtual |
Print the contents of the vector in Matlab's sparse matrix format.
Optionally prints the vector to the file named name
. If name
is not specified it is dumped to the screen.
Reimplemented in libMesh::PetscVector< T >, and libMesh::PetscVector< libMesh::Number >.
Definition at line 696 of file numeric_vector.h.
|
inlineinherited |
Definition at line 106 of file parallel_object.h.
References libMesh::ParallelObject::_communicator.
Referenced by libMesh::BoundaryInfo::_find_id_maps(), libMesh::EquationSystems::_read_impl(), libMesh::PetscDMWrapper::add_dofs_to_section(), libMesh::DistributedMesh::add_elem(), libMesh::BoundaryInfo::add_elements(), libMesh::DofMap::add_neighbors_to_send_list(), libMesh::DistributedMesh::add_node(), libMesh::UnstructuredMesh::all_second_order(), libMesh::MeshTools::Modification::all_tri(), libMesh::DofMap::allgather_recursive_constraints(), libMesh::FEMSystem::assembly(), libMesh::Nemesis_IO_Helper::build_element_and_node_maps(), libMesh::InfElemBuilder::build_inf_elem(), libMesh::BoundaryInfo::build_node_list_from_side_list(), libMesh::EquationSystems::build_parallel_elemental_solution_vector(), libMesh::DistributedMesh::clear(), libMesh::ExodusII_IO_Helper::close(), libMesh::Nemesis_IO_Helper::compute_border_node_ids(), libMesh::Nemesis_IO_Helper::compute_communication_map_parameters(), libMesh::Nemesis_IO_Helper::compute_internal_and_border_elems_and_internal_nodes(), libMesh::RBConstruction::compute_max_error_bound(), libMesh::Nemesis_IO_Helper::compute_node_communication_maps(), libMesh::Nemesis_IO_Helper::compute_num_global_elem_blocks(), libMesh::Nemesis_IO_Helper::compute_num_global_nodesets(), libMesh::Nemesis_IO_Helper::compute_num_global_sidesets(), libMesh::Nemesis_IO_Helper::construct_nemesis_filename(), libMesh::ExodusII_IO::copy_scalar_solution(), libMesh::MeshTools::correct_node_proc_ids(), libMesh::ExodusII_IO_Helper::create(), libMesh::DistributedMesh::delete_elem(), libMesh::DistributedMesh::delete_node(), libMesh::MeshCommunication::delete_remote_elements(), libMesh::DofMap::distribute_dofs(), libMesh::DofMap::distribute_local_dofs_node_major(), libMesh::DofMap::distribute_local_dofs_var_major(), libMesh::DistributedMesh::DistributedMesh(), libMesh::DofMap::end_dof(), libMesh::DofMap::end_old_dof(), libMesh::EnsightIO::EnsightIO(), libMesh::RBEIMConstruction::evaluate_mesh_function(), libMesh::MeshFunction::find_element(), libMesh::MeshFunction::find_elements(), libMesh::UnstructuredMesh::find_neighbors(), libMesh::DofMap::first_dof(), libMesh::DofMap::first_old_dof(), libMesh::Nemesis_IO_Helper::get_cmap_params(), libMesh::Nemesis_IO_Helper::get_eb_info_global(), libMesh::Nemesis_IO_Helper::get_elem_cmap(), libMesh::Nemesis_IO_Helper::get_elem_map(), libMesh::DofMap::get_info(), libMesh::Nemesis_IO_Helper::get_init_global(), libMesh::Nemesis_IO_Helper::get_init_info(), libMesh::Nemesis_IO_Helper::get_loadbal_param(), libMesh::DofMap::get_local_constraints(), libMesh::Nemesis_IO_Helper::get_node_cmap(), libMesh::Nemesis_IO_Helper::get_node_map(), libMesh::Nemesis_IO_Helper::get_ns_param_global(), libMesh::Nemesis_IO_Helper::get_ss_param_global(), libMesh::SparsityPattern::Build::handle_vi_vj(), libMesh::SystemSubsetBySubdomain::init(), libMesh::PetscDMWrapper::init_and_attach_petscdm(), HeatSystem::init_data(), libMesh::ExodusII_IO_Helper::initialize(), libMesh::ExodusII_IO_Helper::initialize_element_variables(), libMesh::ExodusII_IO_Helper::initialize_global_variables(), libMesh::ExodusII_IO_Helper::initialize_nodal_variables(), libMesh::DistributedMesh::insert_elem(), libMesh::DofMap::is_evaluable(), libMesh::SparsityPattern::Build::join(), libMesh::DofMap::last_dof(), libMesh::TransientRBEvaluation::legacy_write_offline_data_to_files(), libMesh::RBEIMEvaluation::legacy_write_offline_data_to_files(), libMesh::RBEvaluation::legacy_write_offline_data_to_files(), libMesh::RBSCMEvaluation::legacy_write_offline_data_to_files(), libMesh::RBEIMEvaluation::legacy_write_out_interpolation_points_elem(), libMesh::MeshTools::libmesh_assert_consistent_distributed(), libMesh::MeshTools::libmesh_assert_consistent_distributed_nodes(), libMesh::MeshTools::libmesh_assert_contiguous_dof_ids(), libMesh::MeshTools::libmesh_assert_parallel_consistent_procids< Elem >(), libMesh::MeshTools::libmesh_assert_valid_neighbors(), libMesh::DistributedMesh::libmesh_assert_valid_parallel_object_ids(), libMesh::DofMap::local_variable_indices(), main(), libMesh::MeshRefinement::make_coarsening_compatible(), AugmentSparsityOnInterface::mesh_reinit(), libMesh::MeshBase::n_active_local_elem(), libMesh::BoundaryInfo::n_boundary_conds(), libMesh::BoundaryInfo::n_edge_conds(), libMesh::DofMap::n_local_dofs(), libMesh::System::n_local_dofs(), libMesh::MeshBase::n_local_elem(), libMesh::MeshBase::n_local_nodes(), libMesh::BoundaryInfo::n_nodeset_conds(), libMesh::BoundaryInfo::n_shellface_conds(), libMesh::SparsityPattern::Build::operator()(), libMesh::DistributedMesh::own_node(), libMesh::System::point_gradient(), libMesh::System::point_hessian(), libMesh::System::point_value(), libMesh::DofMap::print_dof_constraints(), libMesh::Nemesis_IO_Helper::put_cmap_params(), libMesh::Nemesis_IO_Helper::put_elem_cmap(), libMesh::Nemesis_IO_Helper::put_elem_map(), libMesh::Nemesis_IO_Helper::put_loadbal_param(), libMesh::Nemesis_IO_Helper::put_node_cmap(), libMesh::Nemesis_IO_Helper::put_node_map(), libMesh::NameBasedIO::read(), libMesh::Nemesis_IO::read(), libMesh::XdrIO::read(), libMesh::CheckpointIO::read(), libMesh::ExodusII_IO_Helper::read_elem_num_map(), libMesh::ExodusII_IO_Helper::read_global_values(), libMesh::CheckpointIO::read_header(), libMesh::XdrIO::read_header(), libMesh::System::read_header(), libMesh::RBEvaluation::read_in_vectors_from_multiple_files(), libMesh::System::read_legacy_data(), libMesh::ExodusII_IO_Helper::read_node_num_map(), libMesh::System::read_parallel_data(), libMesh::TransientRBConstruction::read_riesz_representors_from_files(), libMesh::RBConstruction::read_riesz_representors_from_files(), libMesh::System::read_SCALAR_dofs(), libMesh::XdrIO::read_serialized_bc_names(), libMesh::XdrIO::read_serialized_bcs_helper(), libMesh::System::read_serialized_blocked_dof_objects(), libMesh::XdrIO::read_serialized_connectivity(), libMesh::System::read_serialized_data(), libMesh::XdrIO::read_serialized_nodes(), libMesh::XdrIO::read_serialized_nodesets(), libMesh::XdrIO::read_serialized_subdomain_names(), libMesh::System::read_serialized_vector(), libMesh::System::read_serialized_vectors(), libMesh::DistributedMesh::renumber_dof_objects(), libMesh::DofMap::scatter_constraints(), libMesh::CheckpointIO::select_split_config(), libMesh::DofMap::set_nonlocal_dof_objects(), libMesh::PetscDMWrapper::set_point_range_in_section(), libMesh::LaplaceMeshSmoother::smooth(), DefaultCouplingTest::testCoupling(), PointNeighborCouplingTest::testCoupling(), MeshInputTest::testDynaReadElem(), MeshInputTest::testDynaReadPatch(), MeshInputTest::testExodusCopyElementSolution(), MeshInputTest::testExodusWriteElementDataFromDiscontinuousNodalData(), SystemsTest::testProjectMatrix1D(), SystemsTest::testProjectMatrix2D(), SystemsTest::testProjectMatrix3D(), BoundaryInfoTest::testShellFaceConstraints(), CheckpointIOTest::testSplitter(), WriteVecAndScalar::testWrite(), libMesh::MeshTools::total_weight(), libMesh::MeshRefinement::uniformly_coarsen(), libMesh::Parallel::Packing< Node * >::unpack(), libMesh::Parallel::Packing< Elem * >::unpack(), libMesh::DistributedMesh::update_parallel_id_counts(), libMesh::DTKAdapter::update_variable_values(), libMesh::NameBasedIO::write(), libMesh::XdrIO::write(), libMesh::CheckpointIO::write(), libMesh::EquationSystems::write(), libMesh::GMVIO::write_discontinuous_gmv(), libMesh::ExodusII_IO::write_element_data(), libMesh::ExodusII_IO_Helper::write_element_values(), libMesh::ExodusII_IO_Helper::write_element_values_element_major(), libMesh::ExodusII_IO_Helper::write_elements(), libMesh::ExodusII_IO::write_global_data(), libMesh::ExodusII_IO_Helper::write_global_values(), libMesh::System::write_header(), libMesh::ExodusII_IO::write_information_records(), libMesh::ExodusII_IO_Helper::write_information_records(), libMesh::ExodusII_IO_Helper::write_nodal_coordinates(), libMesh::VTKIO::write_nodal_data(), libMesh::UCDIO::write_nodal_data(), libMesh::ExodusII_IO::write_nodal_data(), libMesh::ExodusII_IO::write_nodal_data_discontinuous(), libMesh::ExodusII_IO_Helper::write_nodal_values(), libMesh::Nemesis_IO_Helper::write_nodesets(), libMesh::ExodusII_IO_Helper::write_nodesets(), libMesh::RBEvaluation::write_out_vectors(), write_output_solvedata(), libMesh::System::write_parallel_data(), libMesh::RBConstruction::write_riesz_representors_to_files(), libMesh::System::write_SCALAR_dofs(), libMesh::XdrIO::write_serialized_bc_names(), libMesh::XdrIO::write_serialized_bcs_helper(), libMesh::System::write_serialized_blocked_dof_objects(), libMesh::XdrIO::write_serialized_connectivity(), libMesh::System::write_serialized_data(), libMesh::XdrIO::write_serialized_nodes(), libMesh::XdrIO::write_serialized_nodesets(), libMesh::XdrIO::write_serialized_subdomain_names(), libMesh::System::write_serialized_vector(), libMesh::System::write_serialized_vectors(), libMesh::ExodusII_IO_Helper::write_sideset_data(), libMesh::Nemesis_IO_Helper::write_sidesets(), libMesh::ExodusII_IO_Helper::write_sidesets(), libMesh::ExodusII_IO::write_timestep(), libMesh::ExodusII_IO_Helper::write_timestep(), and libMesh::ExodusII_IO::write_timestep_discontinuous().
|
pure virtual |
Computes the component-wise reciprocal, \( u_i \leftarrow \frac{1}{u_i} \, \forall i\).
Implemented in libMesh::PetscVector< T >, libMesh::PetscVector< libMesh::Number >, libMesh::EpetraVector< T >, libMesh::LaspackVector< T >, libMesh::EigenSparseVector< T >, and libMesh::DistributedVector< T >.
|
pure virtual |
Scale each element of the vector by the given factor
.
Implemented in libMesh::PetscVector< T >, libMesh::EpetraVector< T >, libMesh::DistributedVector< T >, libMesh::LaspackVector< T >, libMesh::EigenSparseVector< T >, and libMesh::PetscVector< libMesh::Number >.
Referenced by libMesh::TransientRBConstruction::add_IC_to_RB_space(), libMesh::ContinuationSystem::continuation_solve(), libMesh::TransientRBConstruction::enrich_RB_space(), libMesh::ContinuationSystem::initialize_tangent(), libMesh::NumericVector< Number >::operator*=(), libMesh::NumericVector< Number >::operator/=(), libMesh::ContinuationSystem::solve_tangent(), libMesh::RBConstruction::update_residual_terms(), libMesh::NewmarkSystem::update_u_v_a(), and libMesh::TensorShellMatrix< T >::vector_mult().
|
pure virtual |
Sets v(i) = value
.
Implemented in libMesh::PetscVector< T >, libMesh::EpetraVector< T >, libMesh::LaspackVector< T >, libMesh::EigenSparseVector< T >, libMesh::DistributedVector< T >, and libMesh::PetscVector< libMesh::Number >.
Referenced by assemble_shell(), libMesh::EquationSystems::build_parallel_elemental_solution_vector(), libMesh::EquationSystems::build_parallel_solution_vector(), AssembleOptimization::equality_constraints(), libMesh::RBConstructionBase< CondensedEigenSystem >::generate_training_parameters_deterministic(), libMesh::RBConstructionBase< CondensedEigenSystem >::generate_training_parameters_random(), libMesh::RBEIMConstruction::get_explicit_sys_subvector(), AssembleOptimization::inequality_constraints(), libMesh::RBConstructionBase< CondensedEigenSystem >::initialize_training_parameters(), libMesh::VectorSetAction< Val >::insert(), libMesh::RBConstructionBase< CondensedEigenSystem >::load_training_set(), AssembleOptimization::lower_and_upper_bounds(), main(), libMesh::System::project_vector(), libMesh::System::read_SCALAR_dofs(), libMesh::RBEIMConstruction::set_explicit_sys_subvector(), ParsedFEMFunctionTest::setUp(), WriteVecAndScalar::testWrite(), libMesh::RBConstruction::zero_constrained_dofs_on_vector(), and libMesh::System::zero_variable().
|
pure virtual |
Implemented in libMesh::PetscVector< T >, libMesh::PetscVector< libMesh::Number >, libMesh::EpetraVector< T >, libMesh::LaspackVector< T >, libMesh::EigenSparseVector< T >, and libMesh::DistributedVector< T >.
Referenced by libMesh::NumericVector< Number >::add_vector(), libMesh::System::calculate_norm(), AssembleOptimization::equality_constraints(), libMesh::DofMap::extract_local_vector(), AssembleOptimization::inequality_constraints(), AssembleOptimization::inequality_constraints_jacobian(), libMesh::DistributedVector< T >::init(), libMesh::EigenSparseVector< T >::init(), libMesh::LaspackVector< T >::init(), libMesh::EpetraVector< T >::init(), libMesh::NumericVector< Number >::insert(), main(), LinearElasticityWithContact::move_mesh(), libMesh::DistributedVector< T >::operator*=(), libMesh::EigenSparseVector< T >::operator*=(), libMesh::LaspackVector< T >::operator*=(), libMesh::EpetraVector< T >::operator*=(), libMesh::DistributedVector< T >::operator/=(), libMesh::EigenSparseVector< T >::operator/=(), libMesh::LaspackVector< T >::operator/=(), libMesh::EpetraVector< T >::operator/=(), libMesh::System::project_vector(), libMesh::PetscLinearSolver< Number >::solve(), and libMesh::System::write_serialized_vector().
|
virtual |
Definition at line 312 of file numeric_vector.C.
Referenced by libMesh::System::discrete_var_norm().
|
virtual |
Definition at line 327 of file numeric_vector.C.
Referenced by libMesh::System::discrete_var_norm().
|
virtual |
Definition at line 342 of file numeric_vector.C.
Referenced by libMesh::System::discrete_var_norm().
|
pure virtual |
Implemented in libMesh::PetscVector< T >, libMesh::PetscVector< libMesh::Number >, libMesh::EpetraVector< T >, libMesh::LaspackVector< T >, libMesh::EigenSparseVector< T >, and libMesh::DistributedVector< T >.
|
inlinevirtual |
Swaps the contents of this with v
.
There should be enough indirection in subclasses to make this an O(1) header-swap operation.
Reimplemented in libMesh::PetscVector< T >, libMesh::EpetraVector< T >, libMesh::DistributedVector< T >, libMesh::LaspackVector< T >, libMesh::EigenSparseVector< T >, and libMesh::PetscVector< libMesh::Number >.
Definition at line 989 of file numeric_vector.h.
Referenced by libMesh::UniformRefinementEstimator::_estimate_error(), libMesh::WeightedPatchRecoveryErrorEstimator::estimate_error(), libMesh::PatchRecoveryErrorEstimator::estimate_error(), libMesh::JumpErrorEstimator::estimate_error(), libMesh::AdjointRefinementEstimator::estimate_error(), libMesh::ExactErrorEstimator::estimate_error(), main(), and libMesh::EpetraVector< T >::swap().
|
inline |
Definition at line 165 of file numeric_vector.h.
|
inline |
Definition at line 160 of file numeric_vector.h.
Referenced by libMesh::EpetraVector< T >::EpetraVector(), libMesh::MeshFunction::find_element(), libMesh::MeshFunction::find_elements(), libMesh::DistributedVector< T >::init(), libMesh::EigenSparseVector< T >::init(), libMesh::LaspackVector< T >::init(), libMesh::EpetraVector< T >::init(), libMesh::PetscVector< libMesh::Number >::localize(), libMesh::PetscVector< libMesh::Number >::operator=(), libMesh::System::project_vector(), and libMesh::System::read_serialized_vector().
|
pure virtual |
Set all entries to zero.
Equivalent to v
= 0, but more obvious and faster.
Implemented in libMesh::PetscVector< T >, libMesh::PetscVector< libMesh::Number >, libMesh::EpetraVector< T >, libMesh::LaspackVector< T >, libMesh::EigenSparseVector< T >, and libMesh::DistributedVector< T >.
Referenced by add_M_C_K_helmholtz(), apply_initial(), libMesh::ImplicitSystem::assemble(), AssembleOptimization::assemble_A_and_F(), libMesh::RBConstruction::assemble_all_output_vectors(), libMesh::RBConstruction::assemble_Fq_vector(), libMesh::ExplicitSystem::assemble_qoi_derivative(), libMesh::FEMSystem::assemble_qoi_derivative(), libMesh::FEMSystem::assembly(), libMesh::RBConstruction::compute_Fq_representor_innerprods(), libMesh::RBConstruction::compute_output_dual_innerprods(), libMesh::ContinuationSystem::continuation_solve(), libMesh::TransientRBConstruction::enrich_RB_space(), AssembleOptimization::equality_constraints(), AssembleOptimization::gradient(), AssembleOptimization::inequality_constraints(), libMesh::NewmarkSystem::initial_conditions(), libMesh::TransientRBConstruction::mass_matrix_scaled_matvec(), LaplaceYoung::residual(), LargeDeformationElasticity::residual(), LinearElasticityWithContact::residual_and_jacobian(), libMesh::NewtonSolver::solve(), libMesh::ContinuationSystem::solve_tangent(), libMesh::TransientRBConstruction::truth_assembly(), libMesh::RBConstruction::truth_assembly(), libMesh::RBEIMConstruction::truth_solve(), libMesh::TransientRBConstruction::update_residual_terms(), libMesh::RBConstruction::update_residual_terms(), libMesh::NewmarkSystem::update_rhs(), libMesh::SumShellMatrix< T >::vector_mult(), and libMesh::SparseMatrix< ValOut >::vector_mult().
|
pure virtual |
Implemented in libMesh::PetscVector< T >, libMesh::PetscVector< libMesh::Number >, libMesh::EpetraVector< T >, libMesh::LaspackVector< T >, libMesh::EigenSparseVector< T >, and libMesh::DistributedVector< T >.
Referenced by libMesh::SumShellMatrix< T >::get_diagonal(), AssembleOptimization::objective(), libMesh::NewtonSolver::solve(), and libMesh::ImplicitSystem::weighted_sensitivity_adjoint_solve().
|
friend |
Same as above but allows you to use stream syntax.
Definition at line 685 of file numeric_vector.h.
|
protectedinherited |
Definition at line 112 of file parallel_object.h.
Referenced by libMesh::EquationSystems::build_parallel_elemental_solution_vector(), libMesh::EquationSystems::build_parallel_solution_vector(), libMesh::ParallelObject::comm(), libMesh::ParallelObject::n_processors(), libMesh::ParallelObject::operator=(), and libMesh::ParallelObject::processor_id().
|
staticprotectedinherited |
Actually holds the data.
Definition at line 122 of file reference_counter.h.
Referenced by libMesh::ReferenceCounter::get_info(), libMesh::ReferenceCounter::increment_constructor_count(), and libMesh::ReferenceCounter::increment_destructor_count().
|
staticprotectedinherited |
Flag to control whether reference count information is printed when print_info is called.
Definition at line 141 of file reference_counter.h.
Referenced by libMesh::ReferenceCounter::disable_print_counter_info(), libMesh::ReferenceCounter::enable_print_counter_info(), and libMesh::ReferenceCounter::print_info().
|
protected |
Flag which tracks whether the vector's values are consistent on all processors after insertion or addition of values has occurred on some or all processors.
Definition at line 727 of file numeric_vector.h.
Referenced by libMesh::NumericVector< Number >::closed(), libMesh::EpetraVector< T >::EpetraVector(), libMesh::DistributedVector< T >::localize(), and libMesh::DistributedVector< T >::operator=().
|
protected |
true
once init() has been called.
Definition at line 732 of file numeric_vector.h.
Referenced by libMesh::PetscVector< libMesh::Number >::create_subvector(), libMesh::EpetraVector< T >::EpetraVector(), libMesh::NumericVector< Number >::initialized(), libMesh::DistributedVector< T >::localize(), and libMesh::DistributedVector< T >::operator=().
|
staticprotectedinherited |
Mutual exclusion object to enable thread-safe reference counting.
Definition at line 135 of file reference_counter.h.
|
staticprotectedinherited |
The number of objects.
Print the reference count information when the number returns to 0.
Definition at line 130 of file reference_counter.h.
Referenced by libMesh::ReferenceCounter::n_objects(), libMesh::ReferenceCounter::ReferenceCounter(), and libMesh::ReferenceCounter::~ReferenceCounter().
|
protected |
Type of vector.
Definition at line 737 of file numeric_vector.h.
Referenced by libMesh::DistributedVector< T >::DistributedVector(), libMesh::EigenSparseVector< T >::EigenSparseVector(), libMesh::EpetraVector< T >::EpetraVector(), libMesh::PetscVector< libMesh::Number >::init(), libMesh::LaspackVector< T >::LaspackVector(), libMesh::PetscVector< libMesh::Number >::operator=(), and libMesh::NumericVector< Number >::type().