#include <eigen_sparse_matrix.h>
Public Types | |
typedef EigenSM | DataType |
typedef Eigen::Triplet< T, eigen_idx_type > | TripletType |
Public Member Functions | |
EigenSparseMatrix (const Parallel::Communicator &comm LIBMESH_CAN_DEFAULT_TO_COMMWORLD) | |
~EigenSparseMatrix () | |
virtual void | init (const numeric_index_type m, const numeric_index_type n, const numeric_index_type m_l, const numeric_index_type n_l, const numeric_index_type nnz=30, const numeric_index_type noz=10, const numeric_index_type blocksize=1) libmesh_override |
virtual void | init () libmesh_override |
virtual void | clear () libmesh_override |
virtual void | zero () libmesh_override |
virtual void | close () libmesh_override |
virtual numeric_index_type | m () const libmesh_override |
virtual numeric_index_type | n () const libmesh_override |
virtual numeric_index_type | row_start () const libmesh_override |
virtual numeric_index_type | row_stop () const libmesh_override |
virtual void | set (const numeric_index_type i, const numeric_index_type j, const T value) libmesh_override |
virtual void | add (const numeric_index_type i, const numeric_index_type j, const T value) libmesh_override |
virtual void | add_matrix (const DenseMatrix< T > &dm, const std::vector< numeric_index_type > &rows, const std::vector< numeric_index_type > &cols) libmesh_override |
virtual void | add_matrix (const DenseMatrix< T > &dm, const std::vector< numeric_index_type > &dof_indices) libmesh_override |
virtual void | add (const T a, SparseMatrix< T > &X) libmesh_override |
virtual T | operator() (const numeric_index_type i, const numeric_index_type j) const libmesh_override |
virtual Real | l1_norm () const libmesh_override |
virtual Real | linfty_norm () const libmesh_override |
virtual bool | closed () const libmesh_override |
virtual void | print_personal (std::ostream &os=libMesh::out) const libmesh_override |
virtual void | get_diagonal (NumericVector< T > &dest) const libmesh_override |
virtual void | get_transpose (SparseMatrix< T > &dest) const libmesh_override |
virtual bool | initialized () const |
void | attach_dof_map (const DofMap &dof_map) |
virtual bool | need_full_sparsity_pattern () const |
virtual void | update_sparsity_pattern (const SparsityPattern::Graph &) |
virtual void | zero_rows (std::vector< numeric_index_type > &rows, T diag_value=0.0) |
virtual void | flush () |
virtual void | add_block_matrix (const DenseMatrix< T > &dm, const std::vector< numeric_index_type > &brows, const std::vector< numeric_index_type > &bcols) |
virtual void | add_block_matrix (const DenseMatrix< T > &dm, const std::vector< numeric_index_type > &dof_indices) |
void | print (std::ostream &os=libMesh::out, const bool sparse=false) const |
template<> | |
void | print (std::ostream &os, const bool sparse) const |
virtual void | print_matlab (const std::string &="") const |
virtual void | create_submatrix (SparseMatrix< T > &submatrix, const std::vector< numeric_index_type > &rows, const std::vector< numeric_index_type > &cols) const |
virtual void | reinit_submatrix (SparseMatrix< T > &submatrix, const std::vector< numeric_index_type > &rows, const std::vector< numeric_index_type > &cols) const |
void | vector_mult (NumericVector< T > &dest, const NumericVector< T > &arg) const |
void | vector_mult_add (NumericVector< T > &dest, const NumericVector< T > &arg) 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< SparseMatrix< T > > | build (const Parallel::Communicator &comm, const SolverPackage solver_package=libMesh::default_solver_package()) |
static std::string | get_info () |
static void | print_info (std::ostream &out=libMesh::out) |
static unsigned int | n_objects () |
static void | enable_print_counter_info () |
static void | disable_print_counter_info () |
Protected Types | |
typedef std::map< std::string, std::pair< unsigned int, unsigned int > > | Counts |
Protected Member Functions | |
virtual void | _get_submatrix (SparseMatrix< T > &, const std::vector< numeric_index_type > &, const std::vector< numeric_index_type > &, const bool) const |
void | increment_constructor_count (const std::string &name) |
void | increment_destructor_count (const std::string &name) |
Protected Attributes | |
DofMap const * | _dof_map |
bool | _is_initialized |
const Parallel::Communicator & | _communicator |
Static Protected Attributes | |
static Counts | _counts |
static Threads::atomic< unsigned int > | _n_objects |
static Threads::spin_mutex | _mutex |
static bool | _enable_print_counter = true |
Private Attributes | |
DataType | _mat |
bool | _closed |
Friends | |
class | EigenSparseVector< T > |
class | EigenSparseLinearSolver< T > |
The EigenSparseMatrix class wraps a sparse matrix object from the Eigen library. All overridden virtual functions are documented in sparse_matrix.h.
Definition at line 54 of file eigen_sparse_matrix.h.
|
protectedinherited |
Data structure to log the information. The log is identified by the class name.
Definition at line 119 of file reference_counter.h.
typedef EigenSM libMesh::EigenSparseMatrix< T >::DataType |
Convenient typedefs
Definition at line 80 of file eigen_sparse_matrix.h.
typedef Eigen::Triplet<T,eigen_idx_type> libMesh::EigenSparseMatrix< T >::TripletType |
Definition at line 81 of file eigen_sparse_matrix.h.
libMesh::EigenSparseMatrix< T >::EigenSparseMatrix | ( | const Parallel::Communicator &comm | LIBMESH_CAN_DEFAULT_TO_COMMWORLD | ) |
Constructor; initializes the matrix to be empty, without any structure, i.e. the matrix is not usable at all. This constructor is therefore only useful for matrices which are members of a class. All other matrices should be created at a point in the data flow where all necessary information is available.
You have to initialize the matrix before usage with init
(...).
Definition at line 161 of file eigen_sparse_matrix.C.
libMesh::EigenSparseMatrix< T >::~EigenSparseMatrix | ( | ) |
Destructor. Free all memory, but do not release the memory of the sparsity structure.
Definition at line 170 of file eigen_sparse_matrix.C.
References libMesh::EigenSparseMatrix< T >::clear().
|
inlineprotectedvirtualinherited |
Protected implementation of the create_submatrix and reinit_submatrix routines.
Reimplemented in libMesh::PetscMatrix< T >.
Definition at line 411 of file sparse_matrix.h.
|
virtual |
Add value
to the element (i,j). Throws an error if the entry does not exist. Zero values can be "added" to non-existent entries.
Implements libMesh::SparseMatrix< T >.
Definition at line 247 of file eigen_sparse_matrix.C.
References libMesh::EigenSparseMatrix< T >::_mat, libMesh::SparseMatrix< T >::initialized(), libMesh::EigenSparseMatrix< T >::m(), libMesh::EigenSparseMatrix< T >::n(), and value.
Referenced by libMesh::EigenSparseMatrix< T >::close().
|
virtual |
Compute for scalar
a
, matrix X
.
Implements libMesh::SparseMatrix< T >.
Definition at line 270 of file eigen_sparse_matrix.C.
References libMesh::EigenSparseMatrix< T >::_mat, libMesh::SparseMatrix< T >::initialized(), libMesh::EigenSparseMatrix< T >::m(), libMesh::SparseMatrix< T >::m(), libMesh::EigenSparseMatrix< T >::n(), and libMesh::SparseMatrix< T >::n().
|
virtualinherited |
Add the full matrix dm
to the SparseMatrix. This is useful for adding an element matrix at assembly time. The matrix is assumed blocked, and brow
, bcol
correspond to the block row and column indices.
Reimplemented in libMesh::PetscMatrix< T >.
Definition at line 62 of file sparse_matrix.C.
References libMesh::SparseMatrix< T >::add_matrix(), libMesh::DenseMatrixBase< T >::m(), and libMesh::DenseMatrixBase< T >::n().
|
inlinevirtualinherited |
Same as add_block_matrix()
, but assumes the row and column maps are the same. Thus the matrix dm
must be square.
Reimplemented in libMesh::PetscMatrix< T >.
Definition at line 250 of file sparse_matrix.h.
|
virtual |
Add the full matrix dm
to the SparseMatrix. This is useful for adding an element matrix at assembly time.
Implements libMesh::SparseMatrix< T >.
Definition at line 121 of file eigen_sparse_matrix.C.
References libMesh::initialized(), libMesh::DenseMatrixBase< T >::m(), and libMesh::DenseMatrixBase< T >::n().
Referenced by libMesh::EigenSparseMatrix< T >::add_matrix(), and libMesh::EigenSparseMatrix< T >::close().
|
virtual |
Same as add_matrix
, but assumes the row and column maps are the same. Thus the matrix dm
must be square.
Implements libMesh::SparseMatrix< T >.
Definition at line 261 of file eigen_sparse_matrix.C.
References libMesh::EigenSparseMatrix< T >::add_matrix().
|
inlineinherited |
Get a pointer to the DofMap
to use.
Definition at line 106 of file sparse_matrix.h.
Referenced by libMesh::__libmesh_tao_hessian(), and libMesh::DofMap::attach_matrix().
|
staticinherited |
Builds a SparseMatrix<T>
using the linear solver package specified by solver_package
Definition at line 136 of file sparse_matrix.C.
References libMesh::ParallelObject::comm(), libMesh::EIGEN_SOLVERS, libMesh::LASPACK_SOLVERS, libMesh::libmesh_ignore(), libMesh::PETSC_SOLVERS, and libMesh::TRILINOS_SOLVERS.
Referenced by libMesh::ImplicitSystem::add_matrix(), libMesh::EigenSystem::init_data(), and libMesh::EigenSystem::init_matrices().
|
virtual |
Restores the SparseMatrix<T>
to a pristine state.
Implements libMesh::SparseMatrix< T >.
Definition at line 178 of file eigen_sparse_matrix.C.
References libMesh::EigenSparseMatrix< T >::_closed, libMesh::SparseMatrix< T >::_is_initialized, and libMesh::EigenSparseMatrix< T >::_mat.
Referenced by libMesh::EigenSparseMatrix< T >::~EigenSparseMatrix().
|
inlinevirtual |
Calls the SparseMatrix's internal assembly routines, ensuring that the values are consistent across processors.
Implements libMesh::SparseMatrix< T >.
Definition at line 97 of file eigen_sparse_matrix.h.
References libMesh::EigenSparseMatrix< T >::_closed, libMesh::EigenSparseMatrix< T >::add(), libMesh::EigenSparseMatrix< T >::add_matrix(), libMesh::EigenSparseMatrix< T >::l1_norm(), libMesh::EigenSparseMatrix< T >::linfty_norm(), libMesh::EigenSparseMatrix< T >::m(), libMesh::EigenSparseMatrix< T >::n(), libMesh::EigenSparseMatrix< T >::operator()(), libMesh::Real, libMesh::EigenSparseMatrix< T >::row_start(), libMesh::EigenSparseMatrix< T >::row_stop(), and value.
Referenced by libMesh::EigenSparseLinearSolver< T >::solve().
|
inlinevirtual |
true
if the matrix has been assembled. Implements libMesh::SparseMatrix< T >.
Definition at line 131 of file eigen_sparse_matrix.h.
References libMesh::EigenSparseMatrix< T >::_closed.
|
inlineinherited |
Parallel::Communicator
object used by this mesh. Definition at line 87 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_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_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::ParmetisPartitioner::_do_repartition(), libMesh::UniformRefinementEstimator::_estimate_error(), libMesh::BoundaryInfo::_find_id_maps(), libMesh::PetscLinearSolver< T >::_petsc_shell_matrix_get_diagonal(), libMesh::SlepcEigenSolver< T >::_petsc_shell_matrix_get_diagonal(), libMesh::PetscLinearSolver< T >::_petsc_shell_matrix_mult(), libMesh::SlepcEigenSolver< T >::_petsc_shell_matrix_mult(), libMesh::PetscLinearSolver< T >::_petsc_shell_matrix_mult_add(), libMesh::EquationSystems::_read_impl(), libMesh::MeshRefinement::_refine_elements(), libMesh::MeshRefinement::_smooth_flags(), libMesh::ImplicitSystem::add_matrix(), libMesh::System::add_vector(), libMesh::EigenSparseLinearSolver< T >::adjoint_solve(), libMesh::UnstructuredMesh::all_second_order(), libMesh::MeshTools::Modification::all_tri(), libMesh::LaplaceMeshSmoother::allgather_graph(), libMesh::FEMSystem::assemble_qoi(), libMesh::MeshCommunication::assign_global_indices(), libMesh::ParmetisPartitioner::assign_partitioning(), libMesh::DofMap::attach_matrix(), libMesh::Parallel::BinSorter< KeyType, IdxType >::binsort(), libMesh::Parallel::Sort< KeyType, IdxType >::binsort(), libMesh::MeshCommunication::broadcast(), libMesh::SparseMatrix< T >::build(), libMesh::MeshTools::Generation::build_extrusion(), libMesh::Parallel::Histogram< KeyType, IdxType >::build_histogram(), libMesh::PetscNonlinearSolver< T >::build_mat_null_space(), libMesh::BoundaryInfo::build_node_list_from_side_list(), libMesh::EquationSystems::build_parallel_solution_vector(), libMesh::MeshBase::cache_elem_dims(), libMesh::System::calculate_norm(), libMesh::DofMap::check_dirichlet_bcid_consistency(), libMesh::DistributedVector< T >::clone(), libMesh::EigenSparseVector< T >::clone(), libMesh::LaspackVector< T >::clone(), libMesh::EpetraVector< T >::clone(), libMesh::PetscVector< T >::clone(), libMesh::EpetraVector< T >::close(), libMesh::Parallel::Sort< KeyType, IdxType >::communicate_bins(), 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::Problem_Interface::computeF(), libMesh::Problem_Interface::computeJacobian(), libMesh::Problem_Interface::computePreconditioner(), libMesh::ExodusII_IO::copy_elemental_solution(), libMesh::MeshTools::correct_node_proc_ids(), libMesh::MeshTools::create_bounding_box(), 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::MeshRefinement::eliminate_unrefined_patches(), libMesh::EpetraVector< T >::EpetraVector(), libMesh::WeightedPatchRecoveryErrorEstimator::estimate_error(), libMesh::PatchRecoveryErrorEstimator::estimate_error(), libMesh::JumpErrorEstimator::estimate_error(), libMesh::AdjointRefinementEstimator::estimate_error(), libMesh::ExactErrorEstimator::estimate_error(), libMesh::MeshRefinement::flag_elements_by_elem_fraction(), libMesh::MeshRefinement::flag_elements_by_error_fraction(), libMesh::MeshRefinement::flag_elements_by_nelem_target(), libMesh::MeshCommunication::gather(), libMesh::MeshCommunication::gather_neighboring_elements(), libMesh::CondensedEigenSystem::get_eigenpair(), libMesh::DofMap::get_info(), libMesh::ImplicitSystem::get_linear_solver(), libMesh::EquationSystems::get_solution(), libMesh::LocationMap< T >::init(), libMesh::TopologyMap::init(), libMesh::TimeSolver::init(), libMesh::TaoOptimizationSolver< T >::init(), libMesh::PetscNonlinearSolver< T >::init(), libMesh::DistributedVector< T >::init(), libMesh::EpetraVector< T >::init(), libMesh::PetscVector< T >::init(), libMesh::SystemSubsetBySubdomain::init(), libMesh::EigenSystem::init_data(), libMesh::EigenSystem::init_matrices(), libMesh::ParmetisPartitioner::initialize(), libMesh::OptimizationSystem::initialize_equality_constraints_storage(), libMesh::OptimizationSystem::initialize_inequality_constraints_storage(), 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_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(), 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::DistributedVector< T >::max(), libMesh::FEMSystem::mesh_position_set(), libMesh::MeshSerializer::MeshSerializer(), libMesh::DistributedVector< T >::min(), libMesh::DistributedMesh::n_active_elem(), libMesh::MeshTools::n_active_levels(), libMesh::BoundaryInfo::n_boundary_conds(), 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::Partitioner::partition(), libMesh::LinearPartitioner::partition_range(), libMesh::MetisPartitioner::partition_range(), libMesh::Partitioner::partition_unpartitioned_elements(), libMesh::petsc_auto_fieldsplit(), libMesh::System::point_gradient(), libMesh::System::point_hessian(), libMesh::System::point_value(), libMesh::MeshBase::prepare_for_use(), libMesh::SparseMatrix< T >::print(), libMesh::Nemesis_IO::read(), libMesh::XdrIO::read(), libMesh::CheckpointIO::read_header(), libMesh::XdrIO::read_header(), libMesh::XdrIO::read_serialized_bc_names(), libMesh::XdrIO::read_serialized_bcs_helper(), libMesh::XdrIO::read_serialized_connectivity(), libMesh::XdrIO::read_serialized_nodes(), libMesh::XdrIO::read_serialized_nodesets(), libMesh::XdrIO::read_serialized_subdomain_names(), libMesh::MeshBase::recalculate_n_partitions(), libMesh::MeshCommunication::redistribute(), libMesh::MeshRefinement::refine_and_coarsen_elements(), libMesh::DistributedMesh::renumber_dof_objects(), libMesh::CheckpointIO::select_split_config(), libMesh::MeshCommunication::send_coarse_ghosts(), libMesh::Partitioner::set_node_processor_ids(), libMesh::DofMap::set_nonlocal_dof_objects(), libMesh::Partitioner::set_parent_processor_ids(), libMesh::PetscDiffSolver::setup_petsc_data(), libMesh::LaplaceMeshSmoother::smooth(), libMesh::Parallel::Sort< KeyType, IdxType >::sort(), libMesh::split_mesh(), libMesh::MeshBase::subdomain_ids(), libMesh::BoundaryInfo::sync(), libMesh::Parallel::sync_element_data_by_parent_id(), libMesh::Parallel::sync_node_data_by_element_id(), libMesh::MeshRefinement::test_level_one(), libMesh::MeshRefinement::test_unflagged(), libMesh::MeshTools::total_weight(), libMesh::MeshRefinement::uniformly_coarsen(), libMesh::NameBasedIO::write(), libMesh::XdrIO::write(), libMesh::XdrIO::write_serialized_bcs_helper(), libMesh::XdrIO::write_serialized_connectivity(), libMesh::XdrIO::write_serialized_nodes(), libMesh::XdrIO::write_serialized_nodesets(), libMesh::DistributedVector< T >::zero_clone(), libMesh::EigenSparseVector< T >::zero_clone(), libMesh::LaspackVector< T >::zero_clone(), libMesh::EpetraVector< T >::zero_clone(), and libMesh::PetscVector< T >::zero_clone().
|
inlinevirtualinherited |
This function creates a matrix called "submatrix" which is defined by the row and column indices given in the "rows" and "cols" entries. Currently this operation is only defined for the PetscMatrix type.
Definition at line 351 of file sparse_matrix.h.
|
staticinherited |
Definition at line 107 of file reference_counter.C.
References libMesh::ReferenceCounter::_enable_print_counter.
Referenced by libMesh::LibMeshInit::LibMeshInit(), and libMesh::ReferenceCounter::n_objects().
|
staticinherited |
Methods to enable/disable the reference counter output from print_info()
Definition at line 101 of file reference_counter.C.
References libMesh::ReferenceCounter::_enable_print_counter.
Referenced by libMesh::ReferenceCounter::n_objects().
|
inlinevirtualinherited |
For PETSc matrix , this function is similar to close but without shrinking memory. This is useful when we want to switch between ADD_VALUES and INSERT_VALUES. close should be called before using the matrix.
Reimplemented in libMesh::PetscMatrix< T >.
Definition at line 179 of file sparse_matrix.h.
|
virtual |
Copies the diagonal part of the matrix into dest
.
Implements libMesh::SparseMatrix< T >.
Definition at line 141 of file eigen_sparse_matrix.C.
References libMesh::EigenSparseVector< T >::_vec.
Referenced by libMesh::EigenSparseMatrix< T >::print_personal().
|
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 |
Copies the transpose of the matrix into dest
, which may be *this.
Implements libMesh::SparseMatrix< T >.
Definition at line 151 of file eigen_sparse_matrix.C.
References libMesh::EigenSparseMatrix< T >::_mat.
Referenced by libMesh::EigenSparseMatrix< T >::print_personal().
|
inlineprotectedinherited |
Increments the construction counter. Should be called in the constructor of any derived class that will be reference counted.
Definition at line 185 of file reference_counter.h.
References libMesh::ReferenceCounter::_counts, libMesh::Quality::name(), and libMesh::Threads::spin_mtx.
Referenced by libMesh::ReferenceCounter::n_objects(), and 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 198 of file reference_counter.h.
References libMesh::ReferenceCounter::_counts, libMesh::Quality::name(), and libMesh::Threads::spin_mtx.
Referenced by libMesh::ReferenceCounter::n_objects(), and libMesh::ReferenceCountedObject< RBParametrized >::~ReferenceCountedObject().
|
virtual |
Initialize SparseMatrix with the specified sizes.
m | The global number of rows. |
n | The global number of columns. |
m_l | The local number of rows. |
n_l | The local number of columns. |
nnz | The number of on-diagonal nonzeros per row (defaults to 30). |
noz | The number of off-diagonal nonzeros per row (defaults to 10). |
blocksize | Optional value indicating dense coupled blocks for systems with multiple variables all of the same type. |
Implements libMesh::SparseMatrix< T >.
|
virtual |
Initialize this matrix using the sparsity structure computed by dof_map
.
Implements libMesh::SparseMatrix< T >.
Definition at line 63 of file eigen_sparse_matrix.C.
References libMesh::libMeshPrivateData::_is_initialized, and libMesh::initialized().
|
inlinevirtualinherited |
true
if the matrix has been initialized, false
otherwise. Definition at line 101 of file sparse_matrix.h.
Referenced by libMesh::PetscMatrix< T >::_get_submatrix(), libMesh::EigenSparseMatrix< T >::add(), libMesh::LaspackMatrix< T >::add(), libMesh::ImplicitSystem::assemble(), libMesh::LaspackMatrix< T >::clear(), libMesh::ImplicitSystem::init_matrices(), libMesh::EigenSparseMatrix< T >::m(), libMesh::LaspackMatrix< T >::m(), libMesh::EigenSparseMatrix< T >::n(), libMesh::LaspackMatrix< T >::n(), libMesh::EigenSparseMatrix< T >::operator()(), libMesh::LaspackMatrix< T >::operator()(), libMesh::SparseMatrix< T >::print(), libMesh::EigenSparseMatrix< T >::set(), and libMesh::LaspackMatrix< T >::set().
|
virtual |
This is the natural matrix norm that is compatible with the -norm for vectors, i.e.
. (cf. Haemmerlin-Hoffmann : Numerische Mathematik)
Implements libMesh::SparseMatrix< T >.
Definition at line 298 of file eigen_sparse_matrix.C.
References libMesh::EigenSparseMatrix< T >::_mat, std::abs(), libMesh::EigenSparseMatrix< T >::m(), and libMesh::EigenSparseMatrix< T >::n().
Referenced by libMesh::EigenSparseMatrix< T >::close().
|
virtual |
This is the natural matrix norm that is compatible to the -norm of vectors, i.e.
. (cf. Haemmerlin-Hoffmann : Numerische Mathematik)
Implements libMesh::SparseMatrix< T >.
Definition at line 321 of file eigen_sparse_matrix.C.
References libMesh::EigenSparseMatrix< T >::_mat, std::abs(), libMesh::EigenSparseMatrix< T >::m(), std::max(), and libMesh::Real.
Referenced by libMesh::EigenSparseMatrix< T >::close().
|
virtual |
Implements libMesh::SparseMatrix< T >.
Definition at line 197 of file eigen_sparse_matrix.C.
References libMesh::EigenSparseMatrix< T >::_mat, and libMesh::SparseMatrix< T >::initialized().
Referenced by libMesh::EigenSparseMatrix< T >::add(), libMesh::EigenSparseMatrix< T >::close(), libMesh::EigenSparseMatrix< T >::l1_norm(), libMesh::EigenSparseMatrix< T >::linfty_norm(), libMesh::EigenSparseMatrix< T >::operator()(), libMesh::EigenSparseMatrix< T >::row_stop(), and libMesh::EigenSparseMatrix< T >::set().
|
virtual |
Implements libMesh::SparseMatrix< T >.
Definition at line 207 of file eigen_sparse_matrix.C.
References libMesh::EigenSparseMatrix< T >::_mat, and libMesh::SparseMatrix< T >::initialized().
Referenced by libMesh::EigenSparseMatrix< T >::add(), libMesh::EigenSparseMatrix< T >::close(), libMesh::EigenSparseMatrix< T >::l1_norm(), libMesh::EigenSparseMatrix< T >::operator()(), and libMesh::EigenSparseMatrix< T >::set().
|
inlinestaticinherited |
Prints the number of outstanding (created, but not yet destroyed) objects.
Definition at line 85 of file reference_counter.h.
References libMesh::ReferenceCounter::_n_objects, libMesh::ReferenceCounter::disable_print_counter_info(), libMesh::ReferenceCounter::enable_print_counter_info(), libMesh::ReferenceCounter::increment_constructor_count(), libMesh::ReferenceCounter::increment_destructor_count(), and libMesh::Quality::name().
Referenced by libMesh::System::hide_output(), and libMesh::LibMeshInit::LibMeshInit().
|
inlineinherited |
Definition at line 93 of file parallel_object.h.
References libMesh::ParallelObject::_communicator, and libMesh::Parallel::Communicator::size().
Referenced by libMesh::ParmetisPartitioner::_do_repartition(), libMesh::BoundaryInfo::_find_id_maps(), libMesh::DistributedMesh::add_elem(), libMesh::DistributedMesh::add_node(), libMesh::LaplaceMeshSmoother::allgather_graph(), libMesh::FEMSystem::assembly(), libMesh::ParmetisPartitioner::assign_partitioning(), libMesh::AztecLinearSolver< T >::AztecLinearSolver(), libMesh::MeshCommunication::broadcast(), libMesh::BoundaryInfo::build_node_list_from_side_list(), libMesh::DistributedMesh::clear(), libMesh::Nemesis_IO_Helper::compute_border_node_ids(), libMesh::Nemesis_IO_Helper::construct_nemesis_filename(), libMesh::MeshTools::correct_node_proc_ids(), 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::DistributedMesh::DistributedMesh(), libMesh::EnsightIO::EnsightIO(), libMesh::MeshCommunication::gather(), libMesh::MeshCommunication::gather_neighboring_elements(), libMesh::MeshBase::get_info(), libMesh::EquationSystems::get_solution(), libMesh::DistributedVector< T >::init(), libMesh::SystemSubsetBySubdomain::init(), libMesh::ParmetisPartitioner::initialize(), libMesh::Nemesis_IO_Helper::initialize(), libMesh::DistributedMesh::insert_elem(), 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::n_active_elem_on_proc(), libMesh::MeshBase::n_elem_on_proc(), libMesh::MeshBase::n_nodes_on_proc(), libMesh::SparsityPattern::Build::parallel_sync(), libMesh::Partitioner::partition(), libMesh::MeshBase::partition(), libMesh::Partitioner::partition_unpartitioned_elements(), libMesh::PetscLinearSolver< T >::PetscLinearSolver(), libMesh::System::point_gradient(), libMesh::System::point_hessian(), libMesh::System::point_value(), libMesh::SparseMatrix< T >::print(), libMesh::NameBasedIO::read(), libMesh::Nemesis_IO::read(), libMesh::CheckpointIO::read(), libMesh::CheckpointIO::read_connectivity(), libMesh::XdrIO::read_header(), libMesh::CheckpointIO::read_nodes(), libMesh::MeshCommunication::redistribute(), libMesh::DistributedMesh::renumber_dof_objects(), libMesh::Partitioner::repartition(), libMesh::MeshCommunication::send_coarse_ghosts(), libMesh::Partitioner::set_node_processor_ids(), libMesh::DofMap::set_nonlocal_dof_objects(), libMesh::Parallel::Sort< KeyType, IdxType >::sort(), libMesh::MeshRefinement::uniformly_coarsen(), libMesh::DistributedMesh::update_parallel_id_counts(), libMesh::GMVIO::write_binary(), libMesh::GMVIO::write_discontinuous_gmv(), libMesh::XdrIO::write_serialized_bcs_helper(), libMesh::XdrIO::write_serialized_connectivity(), libMesh::XdrIO::write_serialized_nodes(), and libMesh::XdrIO::write_serialized_nodesets().
|
inlinevirtualinherited |
true
if this sparse matrix format needs to be fed the graph of the sparse matrix.This is true for LaspackMatrix
, but not PetscMatrix
. In the case where the full graph is not required, we can efficiently approximate it to provide a good estimate of the required size of the sparse matrix.
Reimplemented in libMesh::EpetraMatrix< T >, and libMesh::LaspackMatrix< T >.
Definition at line 118 of file sparse_matrix.h.
Referenced by libMesh::DofMap::attach_matrix().
|
virtual |
(i,j).Implements libMesh::SparseMatrix< T >.
Definition at line 285 of file eigen_sparse_matrix.C.
References libMesh::EigenSparseMatrix< T >::_mat, libMesh::SparseMatrix< T >::initialized(), libMesh::EigenSparseMatrix< T >::m(), and libMesh::EigenSparseMatrix< T >::n().
Referenced by libMesh::EigenSparseMatrix< T >::close().
|
inherited |
Definition at line 102 of file sparse_matrix.C.
References libMesh::SparseMatrix< T >::m(), and libMesh::SparseMatrix< T >::n().
|
inherited |
Print the contents of the matrix to the screen in a uniform style, regardless of matrix/solver package being used.
Definition at line 206 of file sparse_matrix.C.
References libMesh::SparseMatrix< T >::_dof_map, libMesh::ParallelObject::comm(), libMesh::DofMap::end_dof(), libMesh::DofMap::first_dof(), libMesh::SparseMatrix< T >::initialized(), libMesh::SparseMatrix< T >::m(), libMesh::SparseMatrix< T >::n(), libMesh::ParallelObject::n_processors(), libMesh::ParallelObject::processor_id(), libMesh::Parallel::Communicator::receive(), and libMesh::Parallel::Communicator::send().
Referenced by libMesh::EigenSparseMatrix< T >::print_personal(), and libMesh::LaspackMatrix< T >::print_personal().
|
staticinherited |
Prints the reference information, by default to libMesh::out
.
Definition at line 88 of file reference_counter.C.
References libMesh::ReferenceCounter::_enable_print_counter, and libMesh::ReferenceCounter::get_info().
Referenced by libMesh::LibMeshInit::LibMeshInit().
|
inlinevirtualinherited |
Print the contents of the matrix in Matlab's sparse matrix format. Optionally prints the matrix to the file named name
. If name
is not specified it is dumped to the screen.
Reimplemented in libMesh::PetscMatrix< T >.
Definition at line 341 of file sparse_matrix.h.
|
inlinevirtual |
Print the contents of the matrix to the screen in a package-personalized style, if available.
Implements libMesh::SparseMatrix< T >.
Definition at line 133 of file eigen_sparse_matrix.h.
References libMesh::EigenSparseMatrix< T >::get_diagonal(), libMesh::EigenSparseMatrix< T >::get_transpose(), and libMesh::SparseMatrix< T >::print().
|
inlineinherited |
Definition at line 99 of file parallel_object.h.
References libMesh::ParallelObject::_communicator, and libMesh::Parallel::Communicator::rank().
Referenced by libMesh::BoundaryInfo::_find_id_maps(), libMesh::EquationSystems::_read_impl(), libMesh::DistributedMesh::add_elem(), libMesh::BoundaryInfo::add_elements(), libMesh::DofMap::add_neighbors_to_send_list(), libMesh::DistributedMesh::add_node(), libMesh::MeshRefinement::add_node(), libMesh::MeshTools::Modification::all_tri(), libMesh::FEMSystem::assembly(), libMesh::ParmetisPartitioner::assign_partitioning(), libMesh::MeshCommunication::broadcast(), libMesh::EquationSystems::build_discontinuous_solution_vector(), libMesh::Nemesis_IO_Helper::build_element_and_node_maps(), libMesh::ParmetisPartitioner::build_graph(), libMesh::InfElemBuilder::build_inf_elem(), libMesh::BoundaryInfo::build_node_list_from_side_list(), libMesh::DofMap::build_sparsity(), 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::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::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::EnsightIO::EnsightIO(), libMesh::MeshFunction::find_element(), libMesh::MeshFunction::find_elements(), libMesh::UnstructuredMesh::find_neighbors(), libMesh::MeshCommunication::gather(), libMesh::MeshCommunication::gather_neighboring_elements(), 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::MeshBase::get_info(), 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::Nemesis_IO_Helper::get_node_cmap(), libMesh::Nemesis_IO_Helper::get_node_map(), libMesh::Nemesis_IO_Helper::get_ns_param_global(), libMesh::EquationSystems::get_solution(), libMesh::Nemesis_IO_Helper::get_ss_param_global(), libMesh::SparsityPattern::Build::handle_vi_vj(), libMesh::DistributedVector< T >::init(), libMesh::SystemSubsetBySubdomain::init(), libMesh::ParmetisPartitioner::initialize(), 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::MeshTools::libmesh_assert_parallel_consistent_procids< Elem >(), libMesh::MeshTools::libmesh_assert_parallel_consistent_procids< Node >(), libMesh::MeshTools::libmesh_assert_valid_neighbors(), libMesh::DistributedMesh::libmesh_assert_valid_parallel_object_ids(), libMesh::DofMap::local_variable_indices(), libMesh::MeshRefinement::make_coarsening_compatible(), libMesh::MeshBase::n_active_local_elem(), libMesh::BoundaryInfo::n_boundary_conds(), libMesh::BoundaryInfo::n_edge_conds(), 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::WeightedPatchRecoveryErrorEstimator::EstimateError::operator()(), libMesh::SparsityPattern::Build::operator()(), libMesh::PatchRecoveryErrorEstimator::EstimateError::operator()(), libMesh::SparsityPattern::Build::parallel_sync(), libMesh::MetisPartitioner::partition_range(), libMesh::System::point_gradient(), libMesh::System::point_hessian(), libMesh::System::point_value(), libMesh::SparseMatrix< T >::print(), libMesh::NumericVector< T >::print_global(), 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::ExodusII_IO_Helper::read_node_num_map(), libMesh::XdrIO::read_serialized_bc_names(), libMesh::XdrIO::read_serialized_bcs_helper(), libMesh::XdrIO::read_serialized_connectivity(), libMesh::XdrIO::read_serialized_nodes(), libMesh::XdrIO::read_serialized_nodesets(), libMesh::XdrIO::read_serialized_subdomain_names(), libMesh::MeshCommunication::redistribute(), libMesh::DistributedMesh::renumber_dof_objects(), libMesh::CheckpointIO::select_split_config(), libMesh::MeshCommunication::send_coarse_ghosts(), libMesh::Partitioner::set_node_processor_ids(), libMesh::DofMap::set_nonlocal_dof_objects(), libMesh::LaplaceMeshSmoother::smooth(), 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::MeshTools::weight(), 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_elements(), libMesh::ExodusII_IO::write_global_data(), libMesh::ExodusII_IO_Helper::write_global_values(), libMesh::ExodusII_IO::write_information_records(), libMesh::ExodusII_IO_Helper::write_information_records(), libMesh::ExodusII_IO_Helper::write_nodal_coordinates(), 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::XdrIO::write_serialized_bc_names(), libMesh::XdrIO::write_serialized_bcs_helper(), libMesh::XdrIO::write_serialized_connectivity(), libMesh::XdrIO::write_serialized_nodes(), libMesh::XdrIO::write_serialized_nodesets(), libMesh::XdrIO::write_serialized_subdomain_names(), 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().
|
inlinevirtualinherited |
This function is similar to the one above, but it allows you to reuse the existing sparsity pattern of "submatrix" instead of reallocating it again. This should hopefully be more efficient if you are frequently extracting submatrices of the same size.
Definition at line 367 of file sparse_matrix.h.
|
virtual |
Implements libMesh::SparseMatrix< T >.
Definition at line 217 of file eigen_sparse_matrix.C.
Referenced by libMesh::EigenSparseMatrix< T >::close().
|
virtual |
Implements libMesh::SparseMatrix< T >.
Definition at line 225 of file eigen_sparse_matrix.C.
References libMesh::EigenSparseMatrix< T >::m().
Referenced by libMesh::EigenSparseMatrix< T >::close().
|
virtual |
Set the element (i,j) to
value
. Throws an error if the entry does not exist. Zero values can be "stored" in non-existent fields.
Implements libMesh::SparseMatrix< T >.
Definition at line 233 of file eigen_sparse_matrix.C.
References libMesh::EigenSparseMatrix< T >::_mat, libMesh::SparseMatrix< T >::initialized(), libMesh::EigenSparseMatrix< T >::m(), libMesh::EigenSparseMatrix< T >::n(), and value.
|
inlinevirtualinherited |
Updates the matrix sparsity pattern. When your SparseMatrix<T>
implementation does not need this data, simply do not override this method.
Reimplemented in libMesh::EpetraMatrix< T >, and libMesh::LaspackMatrix< T >.
Definition at line 126 of file sparse_matrix.h.
Referenced by libMesh::DofMap::attach_matrix().
|
inherited |
Multiplies the matrix by the NumericVector arg
and stores the result in NumericVector dest
.
Definition at line 176 of file sparse_matrix.C.
References libMesh::SparseMatrix< T >::vector_mult_add(), and libMesh::NumericVector< T >::zero().
Referenced by libMesh::ImplicitSystem::qoi_parameter_hessian(), and libMesh::ImplicitSystem::qoi_parameter_hessian_vector_product().
|
inherited |
Multiplies the matrix by the NumericVector arg
and adds the result to the NumericVector dest
.
Definition at line 186 of file sparse_matrix.C.
References libMesh::NumericVector< T >::add_vector().
Referenced by libMesh::SparseMatrix< T >::vector_mult(), and libMesh::ImplicitSystem::weighted_sensitivity_adjoint_solve().
|
virtual |
Set all entries to 0.
Implements libMesh::SparseMatrix< T >.
Definition at line 189 of file eigen_sparse_matrix.C.
References libMesh::EigenSparseMatrix< T >::_mat.
|
virtualinherited |
Sets all row entries to 0 then puts diag_value
in the diagonal entry.
Reimplemented in libMesh::PetscMatrix< T >.
Definition at line 197 of file sparse_matrix.C.
|
friend |
Definition at line 155 of file eigen_sparse_matrix.h.
|
friend |
Make other Eigen datatypes friends
Definition at line 154 of file eigen_sparse_matrix.h.
|
private |
Flag indicating if the matrix has been closed yet.
Definition at line 149 of file eigen_sparse_matrix.h.
Referenced by libMesh::EigenSparseMatrix< T >::clear(), libMesh::EigenSparseMatrix< T >::close(), and libMesh::EigenSparseMatrix< T >::closed().
|
protectedinherited |
Definition at line 105 of file parallel_object.h.
Referenced by libMesh::EquationSystems::build_parallel_solution_vector(), libMesh::ParallelObject::comm(), libMesh::EquationSystems::get_solution(), libMesh::ParallelObject::n_processors(), libMesh::ParallelObject::operator=(), and libMesh::ParallelObject::processor_id().
|
staticprotectedinherited |
Actually holds the data.
Definition at line 124 of file reference_counter.h.
Referenced by libMesh::ReferenceCounter::get_info(), libMesh::ReferenceCounter::increment_constructor_count(), and libMesh::ReferenceCounter::increment_destructor_count().
|
protectedinherited |
The DofMap
object associated with this object.
Definition at line 422 of file sparse_matrix.h.
Referenced by libMesh::SparseMatrix< T >::print().
|
staticprotectedinherited |
Flag to control whether reference count information is printed when print_info is called.
Definition at line 143 of file reference_counter.h.
Referenced by libMesh::ReferenceCounter::disable_print_counter_info(), libMesh::ReferenceCounter::enable_print_counter_info(), and libMesh::ReferenceCounter::print_info().
|
protectedinherited |
Flag indicating whether or not the matrix has been initialized.
Definition at line 427 of file sparse_matrix.h.
Referenced by libMesh::PetscMatrix< T >::_get_submatrix(), libMesh::EigenSparseMatrix< T >::clear(), libMesh::LaspackMatrix< T >::clear(), and libMesh::PetscMatrix< T >::get_transpose().
|
private |
Actual Eigen::SparseMatrix<> we are wrapping.
Definition at line 144 of file eigen_sparse_matrix.h.
Referenced by libMesh::EigenSparseMatrix< T >::add(), libMesh::EigenSparseMatrix< T >::clear(), libMesh::EigenSparseMatrix< T >::get_transpose(), libMesh::EigenSparseMatrix< T >::l1_norm(), libMesh::EigenSparseMatrix< T >::linfty_norm(), libMesh::EigenSparseMatrix< T >::m(), libMesh::EigenSparseMatrix< T >::n(), libMesh::EigenSparseMatrix< T >::operator()(), libMesh::EigenSparseMatrix< T >::set(), libMesh::EigenSparseLinearSolver< T >::solve(), and libMesh::EigenSparseMatrix< T >::zero().
|
staticprotectedinherited |
Mutual exclusion object to enable thread-safe reference counting.
Definition at line 137 of file reference_counter.h.
|
staticprotectedinherited |
The number of objects. Print the reference count information when the number returns to 0.
Definition at line 132 of file reference_counter.h.
Referenced by libMesh::ReferenceCounter::n_objects(), libMesh::ReferenceCounter::ReferenceCounter(), and libMesh::ReferenceCounter::~ReferenceCounter().