libMesh
|
#include <static_condensation.h>
Classes | |
struct | MatrixData |
Data stored on a per-element basis used to compute element Schur complements and their applications to vectors. More... | |
Public Member Functions | |
StaticCondensation (const MeshBase &mesh, System &system, const DofMap &full_dof_map, StaticCondensationDofMap &reduced_dof_map) | |
virtual | ~StaticCondensation () |
virtual SparseMatrix< Number > & | operator= (const SparseMatrix< Number > &) override |
This looks like a copy assignment operator, but note that, unlike normal copy assignment operators, it is pure virtual. More... | |
virtual SolverPackage | solver_package () override |
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) override |
Initialize SparseMatrix with the specified sizes. More... | |
virtual void | init (const ParallelType type) override |
Initialize this matrix using the sparsity structure computed by dof_map . More... | |
virtual bool | initialized () const override |
virtual void | clear () noexcept override |
Restores the SparseMatrix<T> to a pristine state. More... | |
virtual void | zero () override |
Set all entries to 0. More... | |
virtual std::unique_ptr< SparseMatrix< Number > > | zero_clone () const override |
virtual std::unique_ptr< SparseMatrix< Number > > | clone () const override |
virtual void | close () override |
Calls the SparseMatrix's internal assembly routines, ensuring that the values are consistent across processors. More... | |
virtual numeric_index_type | m () const override |
virtual numeric_index_type | n () const override |
virtual numeric_index_type | row_start () const override |
virtual numeric_index_type | row_stop () const override |
virtual numeric_index_type | col_start () const override |
virtual numeric_index_type | col_stop () const override |
virtual void | set (const numeric_index_type i, const numeric_index_type j, const Number value) override |
Set the element (i,j) to value . More... | |
virtual void | add (const numeric_index_type i, const numeric_index_type j, const Number value) override |
Add value to the element (i,j). More... | |
virtual void | add_matrix (const DenseMatrix< Number > &dm, const std::vector< numeric_index_type > &rows, const std::vector< numeric_index_type > &cols) override |
Add the full matrix dm to the SparseMatrix. More... | |
virtual void | add_matrix (const DenseMatrix< Number > &dm, const std::vector< numeric_index_type > &dof_indices) override |
Same as add_matrix , but assumes the row and column maps are the same. More... | |
virtual void | add (const Number a, const SparseMatrix< Number > &X) override |
Compute \( A \leftarrow A + a*X \) for scalar a , matrix X . More... | |
virtual Number | operator() (const numeric_index_type i, const numeric_index_type j) const override |
virtual Real | l1_norm () const override |
virtual Real | linfty_norm () const override |
virtual bool | closed () const override |
virtual void | print_personal (std::ostream &os=libMesh::out) const override |
Print the contents of the matrix to the screen in a package-personalized style, if available. More... | |
virtual void | get_diagonal (NumericVector< Number > &dest) const override |
Copies the diagonal part of the matrix into dest . More... | |
virtual void | get_transpose (SparseMatrix< Number > &dest) const override |
Copies the transpose of the matrix into dest , which may be *this. More... | |
virtual void | get_row (numeric_index_type i, std::vector< numeric_index_type > &indices, std::vector< Number > &values) const override |
Get a row from the matrix. More... | |
void | init () |
Size the element matrices. More... | |
void | setup () |
A no-op to be consistent with shimming from the StaticCondenstionPreconditioner . More... | |
void | apply (const NumericVector< Number > &full_rhs, NumericVector< Number > &full_sol) |
Perform our three stages, forward_elimination() , a solve() on the condensed system, and finally a backwards_substitution() More... | |
const SparseMatrix< Number > & | get_condensed_mat () const |
void | set_current_elem (const Elem &elem) |
Set the current element. More... | |
StaticCondensationPreconditioner & | get_preconditioner () |
Get the preconditioning wrapper. More... | |
LinearSolver< Number > & | reduced_system_solver () |
virtual bool | require_sparsity_pattern () const override |
void | uncondensed_dofs_only () |
Sets whether this matrix represents uncondensed dofs only. More... | |
void | dont_condense_vars (const std::unordered_set< unsigned int > &vars) |
Add vars to the list of variables not to condense. More... | |
StaticCondensation (const MeshBase &, const System &, const DofMap &full_dof_map, StaticCondensationDofMap &reduced_dof_map) | |
const std::unordered_set< unsigned int > & | uncondensed_vars () const |
StaticCondensationPreconditioner & | get_preconditioner () |
virtual SparseMatrix< Number > & | operator= (const SparseMatrix< Number > &) override |
This looks like a copy assignment operator, but note that, unlike normal copy assignment operators, it is pure virtual. More... | |
virtual SolverPackage | solver_package () override |
virtual void | init (const numeric_index_type, const numeric_index_type, const numeric_index_type, const numeric_index_type, const numeric_index_type=30, const numeric_index_type=10, const numeric_index_type=1) override |
Initialize SparseMatrix with the specified sizes. More... | |
virtual void | init (ParallelType) override |
Initialize this matrix using the sparsity structure computed by dof_map . More... | |
virtual void | clear () override |
Restores the SparseMatrix<T> to a pristine state. More... | |
virtual void | zero () override |
Set all entries to 0. More... | |
virtual std::unique_ptr< SparseMatrix< Number > > | zero_clone () const override |
virtual std::unique_ptr< SparseMatrix< Number > > | clone () const override |
virtual void | close () override |
Calls the SparseMatrix's internal assembly routines, ensuring that the values are consistent across processors. More... | |
virtual numeric_index_type | m () const override |
virtual numeric_index_type | n () const override |
virtual numeric_index_type | row_start () const override |
virtual numeric_index_type | row_stop () const override |
virtual numeric_index_type | col_start () const override |
virtual numeric_index_type | col_stop () const override |
virtual void | set (const numeric_index_type, const numeric_index_type, const Number) override |
Set the element (i,j) to value . More... | |
virtual void | add (const numeric_index_type, const numeric_index_type, const Number) override |
Add value to the element (i,j). More... | |
virtual void | add_matrix (const DenseMatrix< Number > &, const std::vector< numeric_index_type > &, const std::vector< numeric_index_type > &) override |
Add the full matrix dm to the SparseMatrix. More... | |
virtual void | add_matrix (const DenseMatrix< Number > &, const std::vector< numeric_index_type > &) override |
Same as add_matrix , but assumes the row and column maps are the same. More... | |
virtual void | add (const Number, const SparseMatrix< Number > &) override |
Compute \( A \leftarrow A + a*X \) for scalar a , matrix X . More... | |
virtual Number | operator() (const numeric_index_type, const numeric_index_type) const override |
virtual Real | l1_norm () const override |
virtual Real | linfty_norm () const override |
virtual bool | closed () const override |
virtual void | print_personal (std::ostream &=libMesh::out) const override |
Print the contents of the matrix to the screen in a package-personalized style, if available. More... | |
virtual void | get_diagonal (NumericVector< Number > &) const override |
Copies the diagonal part of the matrix into dest . More... | |
virtual void | get_transpose (SparseMatrix< Number > &) const override |
Copies the transpose of the matrix into dest , which may be *this. More... | |
virtual void | get_row (numeric_index_type, std::vector< numeric_index_type > &, std::vector< Number > &) const override |
Get a row from the matrix. More... | |
void | init () |
void | setup () |
void | apply (const NumericVector< Number > &, NumericVector< Number > &) |
void | attach_dof_map (const DofMap &dof_map) |
Set a pointer to the DofMap to use. More... | |
void | attach_sparsity_pattern (const SparsityPattern::Build &sp) |
Set a pointer to a sparsity pattern to use. More... | |
virtual bool | need_full_sparsity_pattern () const |
virtual void | update_sparsity_pattern (const SparsityPattern::Graph &) |
Updates the matrix sparsity pattern. More... | |
virtual void | zero_rows (std::vector< numeric_index_type > &rows, Number diag_value=0.0) |
Sets all row entries to 0 then puts diag_value in the diagonal entry. More... | |
virtual void | flush () |
For PETSc matrix , this function is similar to close but without shrinking memory. More... | |
virtual numeric_index_type | local_m () const |
Get the number of rows owned by this process. More... | |
virtual numeric_index_type | local_n () const |
Get the number of columns owned by this process. More... | |
virtual void | add_block_matrix (const DenseMatrix< Number > &dm, const std::vector< numeric_index_type > &brows, const std::vector< numeric_index_type > &bcols) |
Add the full matrix dm to the SparseMatrix. More... | |
virtual void | add_block_matrix (const DenseMatrix< Number > &dm, const std::vector< numeric_index_type > &dof_indices) |
Same as add_block_matrix() , but assumes the row and column maps are the same. More... | |
virtual void | matrix_matrix_mult (SparseMatrix< Number > &, SparseMatrix< Number > &, bool) |
Compute Y = A*X for matrix X . More... | |
virtual void | add_sparse_matrix (const SparseMatrix< Number > &, const std::map< numeric_index_type, numeric_index_type > &, const std::map< numeric_index_type, numeric_index_type > &, const Number) |
Add scalar* spm to the rows and cols of this matrix (A): A(rows[i], cols[j]) += scalar * spm(i,j) More... | |
Real | l1_norm_diff (const SparseMatrix< Number > &other_mat) const |
virtual std::size_t | n_nonzeros () const |
void | print (std::ostream &os=libMesh::out, const bool sparse=false) const |
Print the contents of the matrix to the screen in a uniform style, regardless of matrix/solver package being used. More... | |
void | print (std::ostream &os, const bool sparse) const |
virtual void | print_matlab (const std::string &="") const |
Print the contents of the matrix in Matlab's sparse matrix format. More... | |
virtual void | print_petsc_binary (const std::string &filename) |
Write the contents of the matrix to a file in PETSc's binary sparse matrix format. More... | |
virtual void | print_petsc_hdf5 (const std::string &filename) |
Write the contents of the matrix to a file in PETSc's HDF5 sparse matrix format. More... | |
virtual void | read (const std::string &filename) |
Read the contents of the matrix from a file, with the file format inferred from the extension of filename . More... | |
virtual void | read_matlab (const std::string &filename) |
Read the contents of the matrix from the Matlab-script sparse matrix format used by PETSc. More... | |
virtual void | read_petsc_binary (const std::string &filename) |
Read the contents of the matrix from a file in PETSc's binary sparse matrix format. More... | |
virtual void | read_petsc_hdf5 (const std::string &filename) |
Read the contents of the matrix from a file in PETSc's HDF5 sparse matrix format. More... | |
virtual void | create_submatrix (SparseMatrix< Number > &submatrix, const std::vector< numeric_index_type > &rows, const std::vector< numeric_index_type > &cols) const |
This function creates a matrix called "submatrix" which is defined by the row and column indices given in the "rows" and "cols" entries. More... | |
virtual void | create_submatrix_nosort (SparseMatrix< Number > &, const std::vector< numeric_index_type > &, const std::vector< numeric_index_type > &) const |
Similar to the above function, this function creates a submatrix which is defined by the indices given in the rows and cols vectors. More... | |
virtual void | reinit_submatrix (SparseMatrix< Number > &submatrix, const std::vector< numeric_index_type > &rows, const std::vector< numeric_index_type > &cols) const |
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. More... | |
void | vector_mult (NumericVector< Number > &dest, const NumericVector< Number > &arg) const |
Multiplies the matrix by the NumericVector arg and stores the result in NumericVector dest . More... | |
void | vector_mult_add (NumericVector< Number > &dest, const NumericVector< Number > &arg) const |
Multiplies the matrix by the NumericVector arg and adds the result to the NumericVector dest . More... | |
virtual void | scale (const Number scale) |
Scales all elements of this matrix by scale . More... | |
virtual bool | supports_hash_table () const |
void | use_hash_table (bool use_hash) |
Sets whether to use hash table assembly. More... | |
bool | use_hash_table () const |
virtual void | restore_original_nonzero_pattern () |
Reset the memory storage of the matrix. More... | |
const Parallel::Communicator & | comm () const |
processor_id_type | n_processors () const |
processor_id_type | processor_id () const |
Mat | mat () |
Mat | mat () const |
void | set_destroy_mat_on_exit (bool destroy=true) |
If set to false, we don't delete the Mat on destruction and allow instead for PETSc to manage it. More... | |
void | swap (PetscMatrixBase< T > &) |
Swaps the internal data pointers of two PetscMatrices, no actual values are swapped. More... | |
void | set_context () |
Set the context (ourself) for _mat . More... | |
virtual numeric_index_type | local_m () const final |
Get the number of rows owned by this process. More... | |
virtual numeric_index_type | local_n () const final |
Get the number of columns owned by this process. More... | |
void | attach_dof_map (const DofMap &dof_map) |
Set a pointer to the DofMap to use. More... | |
void | attach_sparsity_pattern (const SparsityPattern::Build &sp) |
Set a pointer to a sparsity pattern to use. More... | |
virtual bool | need_full_sparsity_pattern () const |
virtual void | update_sparsity_pattern (const SparsityPattern::Graph &) |
Updates the matrix sparsity pattern. More... | |
virtual void | zero_rows (std::vector< numeric_index_type > &rows, T diag_value=0.0) |
Sets all row entries to 0 then puts diag_value in the diagonal entry. More... | |
virtual void | flush () |
For PETSc matrix , this function is similar to close but without shrinking memory. More... | |
virtual void | set (const numeric_index_type i, const numeric_index_type j, const T value)=0 |
Set the element (i,j) to value . More... | |
virtual void | add (const numeric_index_type i, const numeric_index_type j, const T value)=0 |
Add value to the element (i,j). More... | |
virtual void | add (const T a, const SparseMatrix< T > &X)=0 |
Compute \( A \leftarrow A + a*X \) for scalar a , matrix X . More... | |
virtual void | add_matrix (const DenseMatrix< T > &dm, const std::vector< numeric_index_type > &rows, const std::vector< numeric_index_type > &cols)=0 |
Add the full matrix dm to the SparseMatrix. More... | |
virtual void | add_matrix (const DenseMatrix< T > &dm, const std::vector< numeric_index_type > &dof_indices)=0 |
Same as add_matrix , but assumes the row and column maps are the same. More... | |
virtual void | add_block_matrix (const DenseMatrix< T > &dm, const std::vector< numeric_index_type > &brows, const std::vector< numeric_index_type > &bcols) |
Add the full matrix dm to the SparseMatrix. More... | |
virtual void | add_block_matrix (const DenseMatrix< T > &dm, const std::vector< numeric_index_type > &dof_indices) |
Same as add_block_matrix() , but assumes the row and column maps are the same. More... | |
virtual void | matrix_matrix_mult (SparseMatrix< T > &, SparseMatrix< T > &, bool) |
Compute Y = A*X for matrix X . More... | |
virtual void | add_sparse_matrix (const SparseMatrix< T > &, const std::map< numeric_index_type, numeric_index_type > &, const std::map< numeric_index_type, numeric_index_type > &, const T) |
Add scalar* spm to the rows and cols of this matrix (A): A(rows[i], cols[j]) += scalar * spm(i,j) More... | |
Real | l1_norm_diff (const SparseMatrix< T > &other_mat) const |
virtual std::size_t | n_nonzeros () const |
void | print (std::ostream &os=libMesh::out, const bool sparse=false) const |
Print the contents of the matrix to the screen in a uniform style, regardless of matrix/solver package being used. More... | |
virtual void | print_matlab (const std::string &="") const |
Print the contents of the matrix in Matlab's sparse matrix format. More... | |
virtual void | print_petsc_binary (const std::string &filename) |
Write the contents of the matrix to a file in PETSc's binary sparse matrix format. More... | |
virtual void | print_petsc_hdf5 (const std::string &filename) |
Write the contents of the matrix to a file in PETSc's HDF5 sparse matrix format. More... | |
virtual void | read (const std::string &filename) |
Read the contents of the matrix from a file, with the file format inferred from the extension of filename . More... | |
virtual void | read_matlab (const std::string &filename) |
Read the contents of the matrix from the Matlab-script sparse matrix format used by PETSc. More... | |
virtual void | read_petsc_binary (const std::string &filename) |
Read the contents of the matrix from a file in PETSc's binary sparse matrix format. More... | |
virtual void | read_petsc_hdf5 (const std::string &filename) |
Read the contents of the matrix from a file in PETSc's HDF5 sparse matrix format. More... | |
virtual void | create_submatrix (SparseMatrix< T > &submatrix, const std::vector< numeric_index_type > &rows, const std::vector< numeric_index_type > &cols) const |
This function creates a matrix called "submatrix" which is defined by the row and column indices given in the "rows" and "cols" entries. More... | |
virtual void | create_submatrix_nosort (SparseMatrix< T > &, const std::vector< numeric_index_type > &, const std::vector< numeric_index_type > &) const |
Similar to the above function, this function creates a submatrix which is defined by the indices given in the rows and cols vectors. More... | |
virtual void | reinit_submatrix (SparseMatrix< T > &submatrix, const std::vector< numeric_index_type > &rows, const std::vector< numeric_index_type > &cols) const |
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. More... | |
void | vector_mult (NumericVector< T > &dest, const NumericVector< T > &arg) const |
Multiplies the matrix by the NumericVector arg and stores the result in NumericVector dest . More... | |
void | vector_mult_add (NumericVector< T > &dest, const NumericVector< T > &arg) const |
Multiplies the matrix by the NumericVector arg and adds the result to the NumericVector dest . More... | |
virtual void | get_diagonal (NumericVector< T > &dest) const =0 |
Copies the diagonal part of the matrix into dest . More... | |
virtual void | get_transpose (SparseMatrix< T > &dest) const =0 |
Copies the transpose of the matrix into dest , which may be *this. More... | |
virtual void | get_row (numeric_index_type i, std::vector< numeric_index_type > &indices, std::vector< T > &values) const =0 |
Get a row from the matrix. More... | |
virtual void | scale (const T scale) |
Scales all elements of this matrix by scale . More... | |
virtual bool | supports_hash_table () const |
void | use_hash_table (bool use_hash) |
Sets whether to use hash table assembly. More... | |
bool | use_hash_table () const |
virtual void | restore_original_nonzero_pattern () |
Reset the memory storage of the matrix. More... | |
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< Number > > | build (const Parallel::Communicator &comm, const SolverPackage solver_package=libMesh::default_solver_package(), const MatrixBuildType matrix_build_type=MatrixBuildType::AUTOMATIC) |
Builds a SparseMatrix<T> 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_stream=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 () |
static PetscMatrixBase< T > * | get_context (Mat mat, const TIMPI::Communicator &comm) |
static std::unique_ptr< SparseMatrix< T > > | build (const Parallel::Communicator &comm, const SolverPackage solver_package=libMesh::default_solver_package(), const MatrixBuildType matrix_build_type=MatrixBuildType::AUTOMATIC) |
Builds a SparseMatrix<T> 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_stream=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... | |
typedef std::map< std::string, std::pair< unsigned int, unsigned int > > | Counts |
Data structure to log the information. More... | |
Protected Member Functions | |
virtual void | _get_submatrix (SparseMatrix< Number > &, const std::vector< numeric_index_type > &, const std::vector< numeric_index_type > &, const bool) const |
Protected implementation of the create_submatrix and reinit_submatrix routines. More... | |
void | increment_constructor_count (const std::string &name) noexcept |
Increments the construction counter. More... | |
void | increment_destructor_count (const std::string &name) noexcept |
Increments the destruction counter. More... | |
virtual void | _get_submatrix (SparseMatrix< T > &, const std::vector< numeric_index_type > &, const std::vector< numeric_index_type > &, const bool) const |
Protected implementation of the create_submatrix and reinit_submatrix routines. More... | |
void | increment_constructor_count (const std::string &name) noexcept |
Increments the construction counter. More... | |
void | increment_destructor_count (const std::string &name) noexcept |
Increments the destruction counter. More... | |
Protected Attributes | |
DofMap const * | _dof_map |
The DofMap object associated with this object. More... | |
SparsityPattern::Build const * | _sp |
The sparsity pattern associated with this object. More... | |
bool | _is_initialized |
Flag indicating whether or not the matrix has been initialized. More... | |
bool | _use_hash_table |
Flag indicating whether the matrix is assembled using a hash table. More... | |
const Parallel::Communicator & | _communicator |
Mat | _mat |
PETSc matrix datatype to store values. More... | |
bool | _destroy_mat_on_exit |
This boolean value should only be set to false for the constructor which takes a PETSc Mat object. More... | |
DofMap const * | _dof_map |
The DofMap object associated with this object. More... | |
SparsityPattern::Build const * | _sp |
The sparsity pattern associated with this object. More... | |
bool | _is_initialized |
Flag indicating whether or not the matrix has been initialized. More... | |
bool | _use_hash_table |
Flag indicating whether the matrix is assembled using a hash table. 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... | |
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... | |
Private Member Functions | |
void | forward_elimination (const NumericVector< Number > &full_rhs) |
Takes an incoming "full" RHS from the solver, where full means the union of uncondensed and condennsed dofs, and condenses it down into the condensed _reduced_rhs data member using element Schur complements. More... | |
void | backwards_substitution (const NumericVector< Number > &full_rhs, NumericVector< Number > &full_sol) |
After performing the solve with the _reduced_rhs and Schur complement matrix (_reduced_sys_mat ) to determine the _reduced_sol , we use the uncondensed full_rhs along with the _reduced_sol to back substitute into the full_sol , which is the final output data of the static condensation preconditioner application. More... | |
Static Private Member Functions | |
static void | set_local_vectors (const NumericVector< Number > &global_vector, const std::vector< dof_id_type > &elem_dof_indices, std::vector< Number > &elem_dof_values_vec, EigenVector &elem_dof_values) |
Retrieves the degree of freedom values from global_vector corresponding to elem_dof_indices , filling both elem_dof_values_vec and elem_dof_values . More... | |
Private Attributes | |
std::unordered_map< dof_id_type, MatrixData > | _elem_to_matrix_data |
A map from element ID to Schur complement data. More... | |
const MeshBase & | _mesh |
System & | _system |
const DofMap & | _full_dof_map |
StaticCondensationDofMap & | _reduced_dof_map |
std::unique_ptr< SparseMatrix< Number > > | _reduced_sys_mat |
global sparse matrix for the uncondensed degrees of freedom More... | |
std::unique_ptr< NumericVector< Number > > | _reduced_sol |
solution for the uncondensed degrees of freedom More... | |
std::unique_ptr< NumericVector< Number > > | _reduced_rhs |
RHS corresponding to the uncondensed degrees of freedom. More... | |
std::unique_ptr< LinearSolver< Number > > | _reduced_solver |
The solver for the uncondensed degrees of freedom. More... | |
std::unique_ptr< NumericVector< Number > > | _ghosted_full_sol |
This is a ghosted representation of the full (uncondensed + condensed) solution. Note that. More... | |
dof_id_type | _current_elem_id |
The current element ID. More... | |
DenseMatrix< Number > | _size_one_mat |
Helper data member for adding individual matrix elements. More... | |
std::unique_ptr< StaticCondensationPreconditioner > | _scp |
Preconditioner object which will call back to us for the preconditioning action. More... | |
bool | _sc_is_initialized |
Whether our object has been initialized. More... | |
bool | _have_cached_values |
Whether we have cached values via add_XXX() More... | |
ParallelType | _parallel_type |
The parallel type to use for the reduced matrix. More... | |
bool | _uncondensed_dofs_only |
whether this matrix represents uncondensed dofs only. More... | |
Definition at line 60 of file static_condensation.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.
|
protectedinherited |
Data structure to log the information.
The log is identified by the class name.
Definition at line 119 of file reference_counter.h.
libMesh::StaticCondensation::StaticCondensation | ( | const MeshBase & | mesh, |
System & | system, | ||
const DofMap & | full_dof_map, | ||
StaticCondensationDofMap & | reduced_dof_map | ||
) |
Definition at line 39 of file static_condensation.C.
References _scp, _size_one_mat, and libMesh::DenseMatrix< T >::resize().
|
virtualdefault |
libMesh::StaticCondensation::StaticCondensation | ( | const MeshBase & | , |
const System & | , | ||
const DofMap & | full_dof_map, | ||
StaticCondensationDofMap & | reduced_dof_map | ||
) |
Definition at line 489 of file static_condensation.C.
|
inlineprotectedvirtualinherited |
Protected implementation of the create_submatrix and reinit_submatrix routines.
Definition at line 629 of file sparse_matrix.h.
|
inlineprotectedvirtualinherited |
Protected implementation of the create_submatrix and reinit_submatrix routines.
Reimplemented in libMesh::PetscMatrix< T >.
Definition at line 629 of file sparse_matrix.h.
Referenced by libMesh::SparseMatrix< ValOut >::create_submatrix(), and libMesh::SparseMatrix< ValOut >::reinit_submatrix().
|
overridevirtual |
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< Number >.
Definition at line 270 of file static_condensation.C.
References _size_one_mat, add_matrix(), and value.
|
overridevirtual |
Compute \( A \leftarrow A + a*X \) for scalar a
, matrix X
.
Implements libMesh::SparseMatrix< Number >.
Definition at line 345 of file static_condensation.C.
|
pure virtualinherited |
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.
Implemented in libMesh::StaticCondensation, libMesh::PetscMatrix< T >, libMesh::EpetraMatrix< T >, libMesh::DiagonalMatrix< T >, libMesh::LaspackMatrix< T >, libMesh::EigenSparseMatrix< T >, libMesh::StaticCondensation, libMesh::PetscMFFDMatrix< T >, libMesh::PetscMFFDMatrix< Number >, and libMesh::LumpedMassMatrix< T >.
Referenced by add_M_C_K_helmholtz(), libMesh::RBConstruction::add_scaled_Aq(), libMesh::TransientRBConstruction::add_scaled_mass_matrix(), assemble_shell(), libMesh::NewmarkSystem::compute_matrix(), libMesh::RBConstruction::compute_residual_dual_norm_slow(), AssembleOptimization::hessian(), libMesh::HDGProblem::jacobian(), libMesh::RBSCMConstruction::load_matrix_B(), LinearElasticityWithContact::residual_and_jacobian(), libMesh::ClawSystem::solve_conservation_law(), SystemsTest::testProjectMatrix1D(), SystemsTest::testProjectMatrix2D(), SystemsTest::testProjectMatrix3D(), libMesh::TransientRBConstruction::truth_assembly(), and libMesh::RBConstruction::truth_assembly().
|
pure virtualinherited |
Compute \( A \leftarrow A + a*X \) for scalar a
, matrix X
.
Implemented in libMesh::StaticCondensation, libMesh::PetscMatrix< T >, libMesh::EpetraMatrix< T >, libMesh::LaspackMatrix< T >, libMesh::DiagonalMatrix< T >, libMesh::EigenSparseMatrix< T >, libMesh::StaticCondensation, libMesh::PetscMFFDMatrix< T >, libMesh::PetscMFFDMatrix< Number >, and libMesh::LumpedMassMatrix< T >.
|
inlineoverridevirtual |
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< Number >.
Definition at line 364 of file static_condensation.h.
|
inlineoverridevirtual |
Compute \( A \leftarrow A + a*X \) for scalar a
, matrix X
.
Implements libMesh::SparseMatrix< Number >.
Definition at line 379 of file static_condensation.h.
|
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 91 of file sparse_matrix.C.
Referenced by libMesh::SparseMatrix< ValOut >::add_block_matrix().
|
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.
Definition at line 91 of file sparse_matrix.C.
|
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 337 of file sparse_matrix.h.
|
inlinevirtualinherited |
Same as add_block_matrix()
, but assumes the row and column maps are the same.
Thus the matrix dm
must be square.
Definition at line 337 of file sparse_matrix.h.
|
overridevirtual |
Add the full matrix dm
to the SparseMatrix.
This is useful for adding an element matrix at assembly time.
Implements libMesh::SparseMatrix< Number >.
Definition at line 278 of file static_condensation.C.
References _current_elem_id, libMesh::StaticCondensationDofMap::_elem_to_dof_data, _elem_to_matrix_data, _have_cached_values, _reduced_dof_map, libMesh::DofObject::invalid_id, libMesh::libmesh_assert(), libMesh::DenseMatrixBase< T >::m(), libMesh::make_range(), libMesh::PetscMatrixBase< T >::mat(), and libMesh::DenseMatrixBase< T >::n().
Referenced by add(), and add_matrix().
|
overridevirtual |
Same as add_matrix
, but assumes the row and column maps are the same.
Thus the matrix dm
must be square.
Implements libMesh::SparseMatrix< Number >.
Definition at line 339 of file static_condensation.C.
References add_matrix().
|
pure virtualinherited |
Add the full matrix dm
to the SparseMatrix.
This is useful for adding an element matrix at assembly time.
Implemented in libMesh::StaticCondensation, libMesh::PetscMatrix< T >, libMesh::EpetraMatrix< T >, libMesh::DiagonalMatrix< T >, libMesh::LaspackMatrix< T >, libMesh::EigenSparseMatrix< T >, libMesh::StaticCondensation, libMesh::PetscMFFDMatrix< T >, and libMesh::PetscMFFDMatrix< Number >.
Referenced by libMesh::HDGProblem::add_matrix(), libMesh::RBConstruction::add_scaled_matrix_and_vector(), assemble(), LinearElasticity::assemble(), assemble_1D(), AssembleOptimization::assemble_A_and_F(), assemble_biharmonic(), assemble_divgrad(), assemble_elasticity(), assemble_ellipticdg(), assemble_func(), assemble_graddiv(), assemble_helmholtz(), assemble_laplace(), assemble_mass(), assemble_matrices(), assemble_matrix_and_rhs(), assemble_poisson(), assemble_SchroedingerEquation(), assemble_shell(), assemble_stokes(), assemble_wave(), assembly_with_dg_fem_context(), compute_jacobian(), fe_assembly(), LaplaceYoung::jacobian(), LargeDeformationElasticity::jacobian(), periodic_bc_test_poisson(), Biharmonic::JR::residual_and_jacobian(), LinearElasticityWithContact::residual_and_jacobian(), and OverlappingCouplingGhostingTest::run_sparsity_pattern_test().
|
pure virtualinherited |
Same as add_matrix
, but assumes the row and column maps are the same.
Thus the matrix dm
must be square.
Implemented in libMesh::StaticCondensation, libMesh::PetscMatrix< T >, libMesh::EpetraMatrix< T >, libMesh::DiagonalMatrix< T >, libMesh::LaspackMatrix< T >, libMesh::EigenSparseMatrix< T >, libMesh::StaticCondensation, libMesh::PetscMFFDMatrix< T >, and libMesh::PetscMFFDMatrix< Number >.
|
inlineoverridevirtual |
Add the full matrix dm
to the SparseMatrix.
This is useful for adding an element matrix at assembly time.
Implements libMesh::SparseMatrix< Number >.
Definition at line 368 of file static_condensation.h.
|
inlineoverridevirtual |
Same as add_matrix
, but assumes the row and column maps are the same.
Thus the matrix dm
must be square.
Implements libMesh::SparseMatrix< Number >.
Definition at line 374 of file static_condensation.h.
|
inlinevirtualinherited |
Add scalar*
spm
to the rows and cols of this matrix (A): A(rows[i], cols[j]) += scalar * spm(i,j)
Reimplemented in libMesh::PetscMatrix< T >.
Definition at line 356 of file sparse_matrix.h.
|
inlinevirtualinherited |
Add scalar*
spm
to the rows and cols of this matrix (A): A(rows[i], cols[j]) += scalar * spm(i,j)
Definition at line 356 of file sparse_matrix.h.
void libMesh::StaticCondensation::apply | ( | const NumericVector< Number > & | full_rhs, |
NumericVector< Number > & | full_sol | ||
) |
Perform our three stages, forward_elimination()
, a solve()
on the condensed system, and finally a backwards_substitution()
Definition at line 457 of file static_condensation.C.
References _ghosted_full_sol, libMesh::StaticCondensationDofMap::_local_uncondensed_dofs, _reduced_dof_map, _reduced_rhs, _reduced_sol, _reduced_solver, _reduced_sys_mat, backwards_substitution(), forward_elimination(), libMesh::NumericVector< T >::get_subvector(), libMesh::NumericVector< T >::restore_subvector(), and libMesh::NumericVector< T >::zero().
Referenced by libMesh::StaticCondensationPreconditioner::apply().
|
inline |
Definition at line 404 of file static_condensation.h.
|
inherited |
Set a pointer to the DofMap
to use.
If a separate sparsity pattern is not being used, use the one from the DofMap.
The lifetime of dof_map
must exceed the lifetime of this
.
Definition at line 72 of file sparse_matrix.C.
Referenced by libMesh::__libmesh_tao_hessian(), DMlibMeshJacobian(), libMesh::libmesh_petsc_snes_jacobian(), and libMesh::DofMap::update_sparsity_pattern().
|
inherited |
Set a pointer to the DofMap
to use.
If a separate sparsity pattern is not being used, use the one from the DofMap.
The lifetime of dof_map
must exceed the lifetime of this
.
Definition at line 72 of file sparse_matrix.C.
|
inherited |
Set a pointer to a sparsity pattern to use.
Useful in cases where a matrix requires a wider (or for efficiency narrower) pattern than most matrices in the system, or in cases where no system sparsity pattern is being calculated by the DofMap.
The lifetime of sp
must exceed the lifetime of this
.
Definition at line 82 of file sparse_matrix.C.
Referenced by libMesh::DofMap::update_sparsity_pattern().
|
inherited |
Set a pointer to a sparsity pattern to use.
Useful in cases where a matrix requires a wider (or for efficiency narrower) pattern than most matrices in the system, or in cases where no system sparsity pattern is being calculated by the DofMap.
The lifetime of sp
must exceed the lifetime of this
.
Definition at line 82 of file sparse_matrix.C.
|
private |
After performing the solve with the _reduced_rhs
and Schur complement matrix (_reduced_sys_mat
) to determine the _reduced_sol
, we use the uncondensed full_rhs
along with the _reduced_sol
to back substitute into the full_sol
, which is the final output data of the static condensation preconditioner application.
Definition at line 419 of file static_condensation.C.
References libMesh::StaticCondensationDofMap::_elem_to_dof_data, _elem_to_matrix_data, _ghosted_full_sol, _mesh, _reduced_dof_map, libMesh::NumericVector< T >::close(), libMesh::NumericVector< T >::insert(), libMesh::libmesh_assert(), and set_local_vectors().
Referenced by apply().
|
staticinherited |
Builds a SparseMatrix<T>
using the linear solver package specified by solver_package
.
Definition at line 165 of file sparse_matrix.C.
Referenced by libMesh::CondensedEigenSystem::add_matrices(), libMesh::System::add_matrix(), libMesh::TransientRBConstruction::allocate_data_structures(), libMesh::RBConstruction::allocate_data_structures(), libMesh::CondensedEigenSystem::copy_super_to_sub(), init(), main(), libMesh::DofMap::process_mesh_constraint_rows(), ConstraintOperatorTest::test1DCoarseningNewNodes(), ConstraintOperatorTest::test1DCoarseningOperator(), ConstraintOperatorTest::testCoreform(), ConnectedComponentsTest::testEdge(), SystemsTest::testProjectMatrix1D(), SystemsTest::testProjectMatrix2D(), and SystemsTest::testProjectMatrix3D().
|
staticinherited |
Builds a SparseMatrix<T>
using the linear solver package specified by solver_package
.
Definition at line 165 of file sparse_matrix.C.
|
overridevirtualnoexcept |
Restores the SparseMatrix<T>
to a pristine state.
Implements libMesh::SparseMatrix< Number >.
Definition at line 75 of file static_condensation.C.
References _current_elem_id, _elem_to_matrix_data, _have_cached_values, _reduced_rhs, _reduced_sol, _reduced_solver, _reduced_sys_mat, _sc_is_initialized, libMesh::PetscMatrixBase< T >::clear(), and libMesh::DofObject::invalid_id.
Referenced by libMesh::StaticCondensationPreconditioner::clear().
|
inlineoverridevirtual |
Restores the SparseMatrix<T>
to a pristine state.
Implements libMesh::SparseMatrix< Number >.
Definition at line 343 of file static_condensation.h.
|
overridevirtual |
Implements libMesh::SparseMatrix< Number >.
Definition at line 70 of file static_condensation.C.
|
inlineoverridevirtual |
Implements libMesh::SparseMatrix< Number >.
Definition at line 349 of file static_condensation.h.
|
overridevirtual |
Calls the SparseMatrix's internal assembly routines, ensuring that the values are consistent across processors.
Implements libMesh::SparseMatrix< Number >.
Definition at line 185 of file static_condensation.C.
References libMesh::ParallelObject::_communicator, libMesh::StaticCondensationDofMap::_elem_to_dof_data, _elem_to_matrix_data, _have_cached_values, _reduced_dof_map, _reduced_sys_mat, _uncondensed_dofs_only, closed(), libMesh::make_range(), TIMPI::Communicator::max(), TIMPI::Communicator::min(), and libMesh::DenseMatrix< T >::resize().
|
inlineoverridevirtual |
Calls the SparseMatrix's internal assembly routines, ensuring that the values are consistent across processors.
Implements libMesh::SparseMatrix< Number >.
Definition at line 353 of file static_condensation.h.
|
overridevirtual |
true
if the matrix has been assembled. Implements libMesh::SparseMatrix< Number >.
Definition at line 229 of file static_condensation.C.
References _have_cached_values, and _reduced_sys_mat.
Referenced by close(), and setup().
|
inlineoverridevirtual |
true
if the matrix has been assembled. Implements libMesh::SparseMatrix< Number >.
Definition at line 389 of file static_condensation.h.
|
inlineoverridevirtual |
Implements libMesh::SparseMatrix< Number >.
Definition at line 107 of file static_condensation.h.
References row_start().
|
inlineoverridevirtual |
Implements libMesh::SparseMatrix< Number >.
Definition at line 358 of file static_condensation.h.
|
inlineoverridevirtual |
Implements libMesh::SparseMatrix< Number >.
Definition at line 109 of file static_condensation.h.
References row_stop().
|
inlineoverridevirtual |
Implements libMesh::SparseMatrix< Number >.
Definition at line 359 of file static_condensation.h.
|
inlineinherited |
Parallel::Communicator
object used by this mesh. Definition at line 97 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::Partitioner::_find_global_index_by_pid_map(), 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::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::RBEIMEvaluation::add_interpolation_data(), libMesh::CondensedEigenSystem::add_matrices(), libMesh::EigenSystem::add_matrices(), libMesh::System::add_matrix(), libMesh::RBConstruction::add_scaled_matrix_and_vector(), libMesh::System::add_variable(), libMesh::System::add_variables(), libMesh::System::add_vector(), 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::AdvectionSystem::assemble_claw_rhs(), libMesh::FEMSystem::assemble_qoi(), libMesh::Nemesis_IO::assert_symmetric_cmaps(), libMesh::MeshCommunication::assign_global_indices(), libMesh::Partitioner::assign_partitioning(), libMesh::MeshTools::Generation::build_extrusion(), libMesh::Partitioner::build_graph(), 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::MeshBase::cache_elem_data(), 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::DofMap::computed_sparsity_already(), libMesh::Problem_Interface::computeF(), libMesh::Problem_Interface::computeJacobian(), libMesh::Problem_Interface::computePreconditioner(), libMesh::ContinuationSystem::ContinuationSystem(), libMesh::MeshBase::copy_constraint_rows(), libMesh::ExodusII_IO::copy_elemental_solution(), libMesh::ExodusII_IO::copy_nodal_solution(), libMesh::ExodusII_IO::copy_scalar_solution(), libMesh::CondensedEigenSystem::copy_super_to_sub(), 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::PetscMatrix< T >::create_submatrix_nosort(), create_wrapped_function(), libMesh::MeshCommunication::delete_remote_elements(), libMesh::RBEIMEvaluation::distribute_bfs(), DMlibMeshFunction(), DMlibMeshJacobian(), DMlibMeshSetSystem_libMesh(), DMVariableBounds_libMesh(), libMesh::DTKSolutionTransfer::DTKSolutionTransfer(), libMesh::MeshRefinement::eliminate_unrefined_patches(), libMesh::RBEIMConstruction::enrich_eim_approximation_on_interiors(), libMesh::RBEIMConstruction::enrich_eim_approximation_on_nodes(), libMesh::RBEIMConstruction::enrich_eim_approximation_on_sides(), libMesh::TransientRBConstruction::enrich_RB_space(), libMesh::EpetraVector< T >::EpetraVector(), AssembleOptimization::equality_constraints(), libMesh::PatchRecoveryErrorEstimator::estimate_error(), libMesh::WeightedPatchRecoveryErrorEstimator::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_error_tolerance(), libMesh::MeshRefinement::flag_elements_by_mean_stddev(), libMesh::MeshRefinement::flag_elements_by_nelem_target(), libMesh::RBEIMEvaluation::gather_bfs(), libMesh::DofMap::gather_constraints(), libMesh::MeshfreeInterpolation::gather_remote_data(), libMesh::CondensedEigenSystem::get_eigenpair(), libMesh::RBEIMEvaluation::get_eim_basis_function_node_value(), libMesh::RBEIMEvaluation::get_eim_basis_function_side_value(), libMesh::RBEIMEvaluation::get_eim_basis_function_value(), libMesh::MeshBase::get_info(), libMesh::System::get_info(), libMesh::DofMap::get_info(), libMesh::RBEIMEvaluation::get_interior_basis_functions_as_vecs(), libMesh::ImplicitSystem::get_linear_solver(), libMesh::RBEIMConstruction::get_max_abs_value(), libMesh::RBEIMConstruction::get_node_max_abs_value(), libMesh::RBEIMEvaluation::get_parametrized_function_node_value(), libMesh::RBEIMEvaluation::get_parametrized_function_side_value(), libMesh::RBEIMEvaluation::get_parametrized_function_value(), libMesh::RBEIMConstruction::get_random_point(), AssembleOptimization::inequality_constraints(), AssembleOptimization::inequality_constraints_jacobian(), libMesh::LocationMap< T >::init(), libMesh::TimeSolver::init(), init(), libMesh::SystemSubsetBySubdomain::init(), libMesh::PetscDMWrapper::init_and_attach_petscdm(), libMesh::AdvectionSystem::init_data(), libMesh::ClawSystem::init_data(), libMesh::PetscDMWrapper::init_petscdm(), libMesh::ExodusII_IO_Helper::initialize(), libMesh::OptimizationSystem::initialize_equality_constraints_storage(), libMesh::OptimizationSystem::initialize_inequality_constraints_storage(), libMesh::RBEIMConstruction::initialize_parametrized_functions_in_training_set(), libMesh::RBEIMConstruction::inner_product(), 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_equal_connectivity(), libMesh::MeshTools::libmesh_assert_equal_points(), 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_constraint_rows(), 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_linesearch_shellfunc(), libMesh::libmesh_petsc_preconditioner_apply(), libMesh::libmesh_petsc_recalculate_monitor(), libMesh::libmesh_petsc_snes_fd_residual(), libMesh::libmesh_petsc_snes_jacobian(), libMesh::libmesh_petsc_snes_mffd_interface(), libMesh::libmesh_petsc_snes_mffd_residual(), libMesh::libmesh_petsc_snes_postcheck(), libMesh::libmesh_petsc_snes_precheck(), 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(), libMesh::LinearImplicitSystem::LinearImplicitSystem(), 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_bcids_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(), libMesh::TriangulatorInterface::MeshedHole::MeshedHole(), LinearElasticityWithContact::move_mesh(), libMesh::DistributedMesh::n_active_elem(), libMesh::MeshTools::n_active_levels(), libMesh::BoundaryInfo::n_boundary_conds(), libMesh::MeshTools::n_connected_components(), libMesh::DofMap::n_constrained_dofs(), libMesh::MeshBase::n_constraint_rows(), libMesh::DofMap::n_dofs(), libMesh::DofMap::n_dofs_per_processor(), libMesh::BoundaryInfo::n_edge_conds(), libMesh::CondensedEigenSystem::n_global_non_condensed_dofs(), libMesh::MeshTools::n_levels(), MixedOrderTest::n_neighbor_links(), libMesh::BoundaryInfo::n_nodeset_conds(), libMesh::SparsityPattern::Build::n_nonzeros(), libMesh::MeshTools::n_p_levels(), libMesh::BoundaryInfo::n_shellface_conds(), libMesh::RBEIMEvaluation::node_distribute_bfs(), libMesh::RBEIMEvaluation::node_gather_bfs(), libMesh::RBEIMConstruction::node_inner_product(), libMesh::MeshBase::operator==(), 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::BoundaryInfo::parallel_sync_node_ids(), libMesh::BoundaryInfo::parallel_sync_side_ids(), libMesh::MeshTools::paranoid_n_levels(), libMesh::Partitioner::partition(), 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::MeshBase::print_constraint_rows(), libMesh::DofMap::print_dof_constraints(), libMesh::DofMap::process_mesh_constraint_rows(), libMesh::Partitioner::processor_pairs_to_interface_nodes(), libMesh::InterMeshProjection::project_system_vectors(), FEMParameters::read(), libMesh::Nemesis_IO::read(), libMesh::XdrIO::read(), libMesh::EquationSystems::read(), libMesh::ExodusII_IO::read_header(), libMesh::CheckpointIO::read_header(), libMesh::XdrIO::read_header(), libMesh::System::read_header(), libMesh::RBEIMEvaluation::read_in_interior_basis_functions(), libMesh::RBEIMEvaluation::read_in_node_basis_functions(), libMesh::RBEIMEvaluation::read_in_side_basis_functions(), 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::Nemesis_IO_Helper::read_var_names_impl(), libMesh::MeshBase::recalculate_n_partitions(), libMesh::MeshRefinement::refine_and_coarsen_elements(), libMesh::SimplexRefiner::refine_via_edges(), libMesh::StaticCondensationDofMap::reinit(), libMesh::DistributedMesh::renumber_dof_objects(), libMesh::DistributedMesh::renumber_nodes_and_elements(), LinearElasticityWithContact::residual_and_jacobian(), OverlappingAlgebraicGhostingTest::run_ghosting_test(), OverlappingCouplingGhostingTest::run_sparsity_pattern_test(), scale_mesh_and_plot(), libMesh::DofMap::scatter_constraints(), libMesh::CheckpointIO::select_split_config(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::send_and_insert_dof_values(), libMesh::TransientRBConstruction::set_error_temporal_data(), libMesh::Partitioner::set_interface_node_processor_ids_BFS(), libMesh::Partitioner::set_interface_node_processor_ids_linear(), libMesh::Partitioner::set_interface_node_processor_ids_petscpartitioner(), libMesh::Partitioner::set_node_processor_ids(), libMesh::DofMap::set_nonlocal_dof_objects(), libMesh::Partitioner::set_parent_processor_ids(), libMesh::PetscDMWrapper::set_point_range_in_section(), libMesh::PetscDiffSolver::setup_petsc_data(), libMesh::RBEIMEvaluation::side_distribute_bfs(), libMesh::RBEIMEvaluation::side_gather_bfs(), libMesh::RBEIMConstruction::side_inner_product(), libMesh::Partitioner::single_partition(), libMesh::LaplaceMeshSmoother::smooth(), libMesh::VariationalMeshSmoother::smooth(), libMesh::ClawSystem::solve_conservation_law(), libMesh::split_mesh(), libMesh::RBEIMConstruction::store_eim_solutions_for_training_set(), libMesh::MeshBase::subdomain_ids(), libMesh::BoundaryInfo::sync(), ConstraintOperatorTest::test1DCoarseningNewNodes(), ConstraintOperatorTest::test1DCoarseningOperator(), libMesh::MeshRefinement::test_level_one(), MeshfunctionDFEM::test_mesh_function_dfem(), MeshfunctionDFEM::test_mesh_function_dfem_grad(), MeshFunctionTest::test_p_level(), libMesh::MeshRefinement::test_unflagged(), DofMapTest::testBadElemFECombo(), SystemsTest::testBlockRestrictedVarNDofs(), BoundaryInfoTest::testBoundaryOnChildrenErrors(), VolumeTest::testC0PolygonMethods(), VolumeTest::testC0PolyhedronMethods(), ConstraintOperatorTest::testCoreform(), ConnectedComponentsTest::testEdge(), MeshInputTest::testExodusIGASidesets(), MeshTriangulationTest::testFoundCenters(), PointLocatorTest::testLocator(), BoundaryInfoTest::testMesh(), PointLocatorTest::testPlanar(), MeshTriangulationTest::testPoly2TriRefinementBase(), SystemsTest::testProjectCubeWithMeshFunction(), BoundaryInfoTest::testRenumber(), CheckpointIOTest::testSplitter(), MeshInputTest::testTetgenIO(), MeshTriangulationTest::testTriangulatorInterp(), MeshTriangulationTest::testTriangulatorMeshedHoles(), MeshTriangulationTest::testTriangulatorRoundHole(), libMesh::MeshTools::total_weight(), libMesh::RBConstruction::train_reduced_basis_with_POD(), libMesh::MeshFunctionSolutionTransfer::transfer(), libMesh::MeshfreeSolutionTransfer::transfer(), libMesh::Poly2TriTriangulator::triangulate(), libMesh::TransientRBConstruction::truth_assembly(), libMesh::RBConstruction::truth_assembly(), libMesh::MeshRefinement::uniformly_coarsen(), update_current_local_solution(), libMesh::TransientRBConstruction::update_RB_initial_condition_all_N(), libMesh::TransientRBConstruction::update_RB_system_matrices(), libMesh::RBConstruction::update_RB_system_matrices(), libMesh::TransientRBConstruction::update_residual_terms(), libMesh::RBConstruction::update_residual_terms(), libMesh::MeshTools::volume(), libMesh::STLIO::write(), libMesh::NameBasedIO::write(), libMesh::XdrIO::write(), libMesh::VTKIO::write_nodal_data(), libMesh::RBEIMEvaluation::write_out_interior_basis_functions(), libMesh::RBEIMEvaluation::write_out_node_basis_functions(), libMesh::RBEIMEvaluation::write_out_side_basis_functions(), 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().
|
inlineinherited |
Parallel::Communicator
object used by this mesh. Definition at line 97 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::Partitioner::_find_global_index_by_pid_map(), 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::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::RBEIMEvaluation::add_interpolation_data(), libMesh::CondensedEigenSystem::add_matrices(), libMesh::EigenSystem::add_matrices(), libMesh::System::add_matrix(), libMesh::RBConstruction::add_scaled_matrix_and_vector(), libMesh::System::add_variable(), libMesh::System::add_variables(), libMesh::System::add_vector(), 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::AdvectionSystem::assemble_claw_rhs(), libMesh::FEMSystem::assemble_qoi(), libMesh::Nemesis_IO::assert_symmetric_cmaps(), libMesh::MeshCommunication::assign_global_indices(), libMesh::Partitioner::assign_partitioning(), libMesh::MeshTools::Generation::build_extrusion(), libMesh::Partitioner::build_graph(), 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::MeshBase::cache_elem_data(), 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::DofMap::computed_sparsity_already(), libMesh::Problem_Interface::computeF(), libMesh::Problem_Interface::computeJacobian(), libMesh::Problem_Interface::computePreconditioner(), libMesh::ContinuationSystem::ContinuationSystem(), libMesh::MeshBase::copy_constraint_rows(), libMesh::ExodusII_IO::copy_elemental_solution(), libMesh::ExodusII_IO::copy_nodal_solution(), libMesh::ExodusII_IO::copy_scalar_solution(), libMesh::CondensedEigenSystem::copy_super_to_sub(), 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::PetscMatrix< T >::create_submatrix_nosort(), create_wrapped_function(), libMesh::MeshCommunication::delete_remote_elements(), libMesh::RBEIMEvaluation::distribute_bfs(), DMlibMeshFunction(), DMlibMeshJacobian(), DMlibMeshSetSystem_libMesh(), DMVariableBounds_libMesh(), libMesh::DTKSolutionTransfer::DTKSolutionTransfer(), libMesh::MeshRefinement::eliminate_unrefined_patches(), libMesh::RBEIMConstruction::enrich_eim_approximation_on_interiors(), libMesh::RBEIMConstruction::enrich_eim_approximation_on_nodes(), libMesh::RBEIMConstruction::enrich_eim_approximation_on_sides(), libMesh::TransientRBConstruction::enrich_RB_space(), libMesh::EpetraVector< T >::EpetraVector(), AssembleOptimization::equality_constraints(), libMesh::PatchRecoveryErrorEstimator::estimate_error(), libMesh::WeightedPatchRecoveryErrorEstimator::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_error_tolerance(), libMesh::MeshRefinement::flag_elements_by_mean_stddev(), libMesh::MeshRefinement::flag_elements_by_nelem_target(), libMesh::RBEIMEvaluation::gather_bfs(), libMesh::DofMap::gather_constraints(), libMesh::MeshfreeInterpolation::gather_remote_data(), libMesh::CondensedEigenSystem::get_eigenpair(), libMesh::RBEIMEvaluation::get_eim_basis_function_node_value(), libMesh::RBEIMEvaluation::get_eim_basis_function_side_value(), libMesh::RBEIMEvaluation::get_eim_basis_function_value(), libMesh::MeshBase::get_info(), libMesh::System::get_info(), libMesh::DofMap::get_info(), libMesh::RBEIMEvaluation::get_interior_basis_functions_as_vecs(), libMesh::ImplicitSystem::get_linear_solver(), libMesh::RBEIMConstruction::get_max_abs_value(), libMesh::RBEIMConstruction::get_node_max_abs_value(), libMesh::RBEIMEvaluation::get_parametrized_function_node_value(), libMesh::RBEIMEvaluation::get_parametrized_function_side_value(), libMesh::RBEIMEvaluation::get_parametrized_function_value(), libMesh::RBEIMConstruction::get_random_point(), AssembleOptimization::inequality_constraints(), AssembleOptimization::inequality_constraints_jacobian(), libMesh::LocationMap< T >::init(), libMesh::TimeSolver::init(), init(), libMesh::SystemSubsetBySubdomain::init(), libMesh::PetscDMWrapper::init_and_attach_petscdm(), libMesh::AdvectionSystem::init_data(), libMesh::ClawSystem::init_data(), libMesh::PetscDMWrapper::init_petscdm(), libMesh::ExodusII_IO_Helper::initialize(), libMesh::OptimizationSystem::initialize_equality_constraints_storage(), libMesh::OptimizationSystem::initialize_inequality_constraints_storage(), libMesh::RBEIMConstruction::initialize_parametrized_functions_in_training_set(), libMesh::RBEIMConstruction::inner_product(), 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_equal_connectivity(), libMesh::MeshTools::libmesh_assert_equal_points(), 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_constraint_rows(), 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_linesearch_shellfunc(), libMesh::libmesh_petsc_preconditioner_apply(), libMesh::libmesh_petsc_recalculate_monitor(), libMesh::libmesh_petsc_snes_fd_residual(), libMesh::libmesh_petsc_snes_jacobian(), libMesh::libmesh_petsc_snes_mffd_interface(), libMesh::libmesh_petsc_snes_mffd_residual(), libMesh::libmesh_petsc_snes_postcheck(), libMesh::libmesh_petsc_snes_precheck(), 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(), libMesh::LinearImplicitSystem::LinearImplicitSystem(), 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_bcids_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(), libMesh::TriangulatorInterface::MeshedHole::MeshedHole(), LinearElasticityWithContact::move_mesh(), libMesh::DistributedMesh::n_active_elem(), libMesh::MeshTools::n_active_levels(), libMesh::BoundaryInfo::n_boundary_conds(), libMesh::MeshTools::n_connected_components(), libMesh::DofMap::n_constrained_dofs(), libMesh::MeshBase::n_constraint_rows(), libMesh::DofMap::n_dofs(), libMesh::DofMap::n_dofs_per_processor(), libMesh::BoundaryInfo::n_edge_conds(), libMesh::CondensedEigenSystem::n_global_non_condensed_dofs(), libMesh::MeshTools::n_levels(), MixedOrderTest::n_neighbor_links(), libMesh::BoundaryInfo::n_nodeset_conds(), libMesh::SparsityPattern::Build::n_nonzeros(), libMesh::MeshTools::n_p_levels(), libMesh::BoundaryInfo::n_shellface_conds(), libMesh::RBEIMEvaluation::node_distribute_bfs(), libMesh::RBEIMEvaluation::node_gather_bfs(), libMesh::RBEIMConstruction::node_inner_product(), libMesh::MeshBase::operator==(), 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::BoundaryInfo::parallel_sync_node_ids(), libMesh::BoundaryInfo::parallel_sync_side_ids(), libMesh::MeshTools::paranoid_n_levels(), libMesh::Partitioner::partition(), 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::MeshBase::print_constraint_rows(), libMesh::DofMap::print_dof_constraints(), libMesh::DofMap::process_mesh_constraint_rows(), libMesh::Partitioner::processor_pairs_to_interface_nodes(), libMesh::InterMeshProjection::project_system_vectors(), FEMParameters::read(), libMesh::Nemesis_IO::read(), libMesh::XdrIO::read(), libMesh::EquationSystems::read(), libMesh::ExodusII_IO::read_header(), libMesh::CheckpointIO::read_header(), libMesh::XdrIO::read_header(), libMesh::System::read_header(), libMesh::RBEIMEvaluation::read_in_interior_basis_functions(), libMesh::RBEIMEvaluation::read_in_node_basis_functions(), libMesh::RBEIMEvaluation::read_in_side_basis_functions(), 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::Nemesis_IO_Helper::read_var_names_impl(), libMesh::MeshBase::recalculate_n_partitions(), libMesh::MeshRefinement::refine_and_coarsen_elements(), libMesh::SimplexRefiner::refine_via_edges(), libMesh::StaticCondensationDofMap::reinit(), libMesh::DistributedMesh::renumber_dof_objects(), libMesh::DistributedMesh::renumber_nodes_and_elements(), LinearElasticityWithContact::residual_and_jacobian(), OverlappingAlgebraicGhostingTest::run_ghosting_test(), OverlappingCouplingGhostingTest::run_sparsity_pattern_test(), scale_mesh_and_plot(), libMesh::DofMap::scatter_constraints(), libMesh::CheckpointIO::select_split_config(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::send_and_insert_dof_values(), libMesh::TransientRBConstruction::set_error_temporal_data(), libMesh::Partitioner::set_interface_node_processor_ids_BFS(), libMesh::Partitioner::set_interface_node_processor_ids_linear(), libMesh::Partitioner::set_interface_node_processor_ids_petscpartitioner(), libMesh::Partitioner::set_node_processor_ids(), libMesh::DofMap::set_nonlocal_dof_objects(), libMesh::Partitioner::set_parent_processor_ids(), libMesh::PetscDMWrapper::set_point_range_in_section(), libMesh::PetscDiffSolver::setup_petsc_data(), libMesh::RBEIMEvaluation::side_distribute_bfs(), libMesh::RBEIMEvaluation::side_gather_bfs(), libMesh::RBEIMConstruction::side_inner_product(), libMesh::Partitioner::single_partition(), libMesh::LaplaceMeshSmoother::smooth(), libMesh::VariationalMeshSmoother::smooth(), libMesh::ClawSystem::solve_conservation_law(), libMesh::split_mesh(), libMesh::RBEIMConstruction::store_eim_solutions_for_training_set(), libMesh::MeshBase::subdomain_ids(), libMesh::BoundaryInfo::sync(), ConstraintOperatorTest::test1DCoarseningNewNodes(), ConstraintOperatorTest::test1DCoarseningOperator(), libMesh::MeshRefinement::test_level_one(), MeshfunctionDFEM::test_mesh_function_dfem(), MeshfunctionDFEM::test_mesh_function_dfem_grad(), MeshFunctionTest::test_p_level(), libMesh::MeshRefinement::test_unflagged(), DofMapTest::testBadElemFECombo(), SystemsTest::testBlockRestrictedVarNDofs(), BoundaryInfoTest::testBoundaryOnChildrenErrors(), VolumeTest::testC0PolygonMethods(), VolumeTest::testC0PolyhedronMethods(), ConstraintOperatorTest::testCoreform(), ConnectedComponentsTest::testEdge(), MeshInputTest::testExodusIGASidesets(), MeshTriangulationTest::testFoundCenters(), PointLocatorTest::testLocator(), BoundaryInfoTest::testMesh(), PointLocatorTest::testPlanar(), MeshTriangulationTest::testPoly2TriRefinementBase(), SystemsTest::testProjectCubeWithMeshFunction(), BoundaryInfoTest::testRenumber(), CheckpointIOTest::testSplitter(), MeshInputTest::testTetgenIO(), MeshTriangulationTest::testTriangulatorInterp(), MeshTriangulationTest::testTriangulatorMeshedHoles(), MeshTriangulationTest::testTriangulatorRoundHole(), libMesh::MeshTools::total_weight(), libMesh::RBConstruction::train_reduced_basis_with_POD(), libMesh::MeshFunctionSolutionTransfer::transfer(), libMesh::MeshfreeSolutionTransfer::transfer(), libMesh::Poly2TriTriangulator::triangulate(), libMesh::TransientRBConstruction::truth_assembly(), libMesh::RBConstruction::truth_assembly(), libMesh::MeshRefinement::uniformly_coarsen(), update_current_local_solution(), libMesh::TransientRBConstruction::update_RB_initial_condition_all_N(), libMesh::TransientRBConstruction::update_RB_system_matrices(), libMesh::RBConstruction::update_RB_system_matrices(), libMesh::TransientRBConstruction::update_residual_terms(), libMesh::RBConstruction::update_residual_terms(), libMesh::MeshTools::volume(), libMesh::STLIO::write(), libMesh::NameBasedIO::write(), libMesh::XdrIO::write(), libMesh::VTKIO::write_nodal_data(), libMesh::RBEIMEvaluation::write_out_interior_basis_functions(), libMesh::RBEIMEvaluation::write_out_node_basis_functions(), libMesh::RBEIMEvaluation::write_out_side_basis_functions(), 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().
|
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 PetscMatrixBase subclasses. Note: The rows
and cols
vectors need to be sorted; Use the nosort version below if rows
and cols
vectors are not sorted; The rows
and cols
only contain indices that are owned by this processor.
Definition at line 509 of file sparse_matrix.h.
Referenced by libMesh::CondensedEigenSystem::copy_super_to_sub(), libMesh::libmesh_petsc_DMCreateInterpolation(), and libMesh::CondensedEigenSystem::solve().
|
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 PetscMatrixBase subclasses. Note: The rows
and cols
vectors need to be sorted; Use the nosort version below if rows
and cols
vectors are not sorted; The rows
and cols
only contain indices that are owned by this processor.
Definition at line 509 of file sparse_matrix.h.
|
inlinevirtualinherited |
Similar to the above function, this function creates a submatrix
which is defined by the indices given in the rows
and cols
vectors.
Note: Both rows
and cols
can be unsorted; Use the above function for better efficiency if your indices are sorted; rows
and cols
can contain indices that are owned by other processors.
Reimplemented in libMesh::PetscMatrix< T >.
Definition at line 527 of file sparse_matrix.h.
|
inlinevirtualinherited |
Similar to the above function, this function creates a submatrix
which is defined by the indices given in the rows
and cols
vectors.
Note: Both rows
and cols
can be unsorted; Use the above function for better efficiency if your indices are sorted; rows
and cols
can contain indices that are owned by other processors.
Definition at line 527 of file sparse_matrix.h.
|
staticinherited |
Definition at line 100 of file reference_counter.C.
References libMesh::ReferenceCounter::_enable_print_counter.
|
staticinherited |
Definition at line 100 of file reference_counter.C.
References libMesh::ReferenceCounter::_enable_print_counter.
void libMesh::StaticCondensation::dont_condense_vars | ( | const std::unordered_set< unsigned int > & | vars | ) |
Add vars
to the list of variables not to condense.
This can be useful when some variable's equation is discretized with a DG method or if including the variable in the condensed block diagonal would result in it being singular
Definition at line 477 of file static_condensation.C.
References _reduced_dof_map, and libMesh::StaticCondensationDofMap::dont_condense_vars().
Referenced by main().
|
staticinherited |
Methods to enable/disable the reference counter output from print_info()
Definition at line 94 of file reference_counter.C.
References libMesh::ReferenceCounter::_enable_print_counter.
|
staticinherited |
Methods to enable/disable the reference counter output from print_info()
Definition at line 94 of file reference_counter.C.
References libMesh::ReferenceCounter::_enable_print_counter.
|
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 244 of file sparse_matrix.h.
|
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.
Definition at line 244 of file sparse_matrix.h.
|
private |
Takes an incoming "full" RHS from the solver, where full means the union of uncondensed and condennsed dofs, and condenses it down into the condensed _reduced_rhs
data member using element Schur complements.
Definition at line 383 of file static_condensation.C.
References libMesh::StaticCondensationDofMap::_elem_to_dof_data, _elem_to_matrix_data, libMesh::StaticCondensationDofMap::_local_uncondensed_dofs, _mesh, _reduced_dof_map, _reduced_rhs, libMesh::NumericVector< T >::create_subvector(), libMesh::libmesh_assert(), and set_local_vectors().
Referenced by apply().
|
inline |
Definition at line 290 of file static_condensation.h.
References _reduced_sys_mat, and libMesh::libmesh_assert().
|
staticinherited |
mat
if it exists, else a nullptr
Definition at line 116 of file petsc_matrix_base.C.
Referenced by DMlibMeshJacobian(), form_matrixA(), and libMesh::libmesh_petsc_snes_jacobian().
|
overridevirtual |
Copies the diagonal part of the matrix into dest
.
Implements libMesh::SparseMatrix< Number >.
Definition at line 361 of file static_condensation.C.
|
inlineoverridevirtual |
Copies the diagonal part of the matrix into dest
.
Implements libMesh::SparseMatrix< Number >.
Definition at line 394 of file static_condensation.h.
|
pure virtualinherited |
Copies the diagonal part of the matrix into dest
.
Implemented in libMesh::StaticCondensation, libMesh::PetscMatrix< T >, libMesh::EpetraMatrix< T >, libMesh::LaspackMatrix< T >, libMesh::DiagonalMatrix< T >, libMesh::EigenSparseMatrix< T >, libMesh::StaticCondensation, libMesh::PetscMFFDMatrix< T >, and libMesh::PetscMFFDMatrix< Number >.
Referenced by libMesh::LumpedMassMatrix< T >::add(), and libMesh::DiagonalMatrix< T >::add().
|
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().
|
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().
|
inline |
Get the preconditioning wrapper.
Definition at line 175 of file static_condensation.h.
References _scp.
Referenced by libMesh::ImplicitSystem::setup_static_condensation_preconditioner().
|
inline |
Definition at line 326 of file static_condensation.h.
|
overridevirtual |
Get a row from the matrix.
i | The matrix row to get |
indices | A container that will be filled with the column indices corresponding to (possibly) non-zero values |
values | A container holding the column values |
Implements libMesh::SparseMatrix< Number >.
Definition at line 365 of file static_condensation.C.
|
inlineoverridevirtual |
Get a row from the matrix.
i | The matrix row to get |
indices | A container that will be filled with the column indices corresponding to (possibly) non-zero values |
values | A container holding the column values |
Implements libMesh::SparseMatrix< Number >.
Definition at line 396 of file static_condensation.h.
|
pure virtualinherited |
Get a row from the matrix.
i | The matrix row to get |
indices | A container that will be filled with the column indices corresponding to (possibly) non-zero values |
values | A container holding the column values |
Implemented in libMesh::StaticCondensation, libMesh::PetscMatrix< T >, libMesh::EpetraMatrix< T >, libMesh::LaspackMatrix< T >, libMesh::DiagonalMatrix< T >, libMesh::EigenSparseMatrix< T >, libMesh::StaticCondensation, libMesh::PetscMFFDMatrix< T >, and libMesh::PetscMFFDMatrix< Number >.
Referenced by libMesh::MeshBase::copy_constraint_rows().
|
overridevirtual |
Copies the transpose of the matrix into dest
, which may be *this.
Implements libMesh::SparseMatrix< Number >.
Definition at line 363 of file static_condensation.C.
|
inlineoverridevirtual |
Copies the transpose of the matrix into dest
, which may be *this.
Implements libMesh::SparseMatrix< Number >.
Definition at line 395 of file static_condensation.h.
|
pure virtualinherited |
Copies the transpose of the matrix into dest
, which may be *this.
Implemented in libMesh::StaticCondensation, libMesh::PetscMatrix< T >, libMesh::EpetraMatrix< T >, libMesh::LaspackMatrix< T >, libMesh::DiagonalMatrix< T >, libMesh::EigenSparseMatrix< T >, libMesh::StaticCondensation, libMesh::PetscMFFDMatrix< T >, and libMesh::PetscMFFDMatrix< Number >.
Referenced by libMesh::EigenSparseLinearSolver< T >::adjoint_solve(), libMesh::LinearSolver< Number >::adjoint_solve(), and libMesh::ImplicitSystem::weighted_sensitivity_adjoint_solve().
|
inlineprotectednoexceptinherited |
Increments the construction counter.
Should be called in the constructor of any derived class that will be reference counted.
Definition at line 183 of file reference_counter.h.
References libMesh::err, libMesh::BasicOStreamProxy< charT, traits >::get(), libMesh::Quality::name(), and libMesh::Threads::spin_mtx.
Referenced by libMesh::ReferenceCountedObject< RBParametrized >::ReferenceCountedObject().
|
inlineprotectednoexceptinherited |
Increments the construction counter.
Should be called in the constructor of any derived class that will be reference counted.
Definition at line 183 of file reference_counter.h.
References libMesh::err, libMesh::BasicOStreamProxy< charT, traits >::get(), libMesh::Quality::name(), and libMesh::Threads::spin_mtx.
Referenced by libMesh::ReferenceCountedObject< RBParametrized >::ReferenceCountedObject().
|
inlineprotectednoexceptinherited |
Increments the destruction counter.
Should be called in the destructor of any derived class that will be reference counted.
Definition at line 207 of file reference_counter.h.
References libMesh::err, libMesh::BasicOStreamProxy< charT, traits >::get(), libMesh::Quality::name(), and libMesh::Threads::spin_mtx.
Referenced by libMesh::ReferenceCountedObject< RBParametrized >::~ReferenceCountedObject().
|
inlineprotectednoexceptinherited |
Increments the destruction counter.
Should be called in the destructor of any derived class that will be reference counted.
Definition at line 207 of file reference_counter.h.
References libMesh::err, libMesh::BasicOStreamProxy< charT, traits >::get(), libMesh::Quality::name(), and libMesh::Threads::spin_mtx.
Referenced by libMesh::ReferenceCountedObject< RBParametrized >::~ReferenceCountedObject().
|
overridevirtual |
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. |
Reimplemented from libMesh::PetscMatrixShellMatrix< T >.
Definition at line 89 of file static_condensation.C.
References _parallel_type, libMesh::PetscMatrixShellMatrix< T >::init(), init(), initialized(), m(), n(), libMesh::ParallelObject::n_processors(), libMesh::PARALLEL, and libMesh::SERIAL.
Referenced by libMesh::StaticCondensationPreconditioner::init().
|
overridevirtual |
Initialize this matrix using the sparsity structure computed by dof_map
.
type | The serial/parallel/ghosted type of the matrix |
Reimplemented from libMesh::PetscMatrixShellMatrix< T >.
Definition at line 105 of file static_condensation.C.
References _parallel_type, libMesh::PetscMatrixShellMatrix< T >::init(), init(), and initialized().
void libMesh::StaticCondensation::init | ( | ) |
Size the element matrices.
Definition at line 120 of file static_condensation.C.
References libMesh::StaticCondensationDofMap::_elem_to_dof_data, _elem_to_matrix_data, _ghosted_full_sol, _parallel_type, _reduced_dof_map, libMesh::StaticCondensationDofMap::_reduced_nnz, libMesh::StaticCondensationDofMap::_reduced_noz, _reduced_rhs, _reduced_solver, libMesh::StaticCondensationDofMap::_reduced_sp, _reduced_sys_mat, _sc_is_initialized, libMesh::SparseMatrix< Number >::_sp, _system, libMesh::LinearSolver< T >::build(), libMesh::SparseMatrix< T >::build(), libMesh::NumericVector< T >::build(), libMesh::ParallelObject::comm(), libMesh::System::current_local_solution, libMesh::SparsityPattern::Build::get_n_nz(), libMesh::SparsityPattern::Build::get_n_oz(), initialized(), libMesh::StaticCondensationDofMap::initialized(), libMesh::INVALID_PARALLELIZATION, libMesh::libmesh_assert(), n(), libMesh::DofMapBase::n_dofs(), libMesh::DofMapBase::n_local_dofs(), libMesh::System::name(), libMesh::PARALLEL, and libMesh::SERIAL.
Referenced by init().
|
inlineoverridevirtual |
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. |
Reimplemented from libMesh::PetscMatrixShellMatrix< T >.
Definition at line 332 of file static_condensation.h.
|
inlineoverridevirtual |
Initialize this matrix using the sparsity structure computed by dof_map
.
type | The serial/parallel/ghosted type of the matrix |
Reimplemented from libMesh::PetscMatrixShellMatrix< T >.
Definition at line 342 of file static_condensation.h.
|
inline |
Definition at line 402 of file static_condensation.h.
|
overridevirtual |
true
if the matrix has been initialized, false
otherwise. Reimplemented from libMesh::SparseMatrix< Number >.
Definition at line 115 of file static_condensation.C.
References _sc_is_initialized, and libMesh::SparseMatrix< T >::initialized().
Referenced by init(), and libMesh::StaticCondensationPreconditioner::initialized().
|
overridevirtual |
This is the natural matrix norm that is compatible with the \( \ell_1 \)-norm for vectors, i.e. \( |Mv|_1 \leq |M|_1 |v|_1 \). (cf. Haemmerlin-Hoffmann : Numerische Mathematik)
Implements libMesh::SparseMatrix< Number >.
Definition at line 355 of file static_condensation.C.
|
inlineoverridevirtual |
This is the natural matrix norm that is compatible with the \( \ell_1 \)-norm for vectors, i.e. \( |Mv|_1 \leq |M|_1 |v|_1 \). (cf. Haemmerlin-Hoffmann : Numerische Mathematik)
Implements libMesh::SparseMatrix< Number >.
Definition at line 387 of file static_condensation.h.
|
inherited |
this
and other_mat
Definition at line 879 of file sparse_matrix.C.
|
inherited |
this
and other_mat
Definition at line 879 of file sparse_matrix.C.
|
overridevirtual |
\( |M|_{\infty} = \max_{i} \sum_{j} |M_{ij}| \)
This is the natural matrix norm that is compatible to the \( \ell_{\infty} \)-norm of vectors, i.e. \( |Mv|_{\infty} \leq |M|_{\infty} |v|_{\infty} \). (cf. Haemmerlin-Hoffmann : Numerische Mathematik)
Implements libMesh::SparseMatrix< Number >.
Definition at line 357 of file static_condensation.C.
|
inlineoverridevirtual |
\( |M|_{\infty} = \max_{i} \sum_{j} |M_{ij}| \)
This is the natural matrix norm that is compatible to the \( \ell_{\infty} \)-norm of vectors, i.e. \( |Mv|_{\infty} \leq |M|_{\infty} |v|_{\infty} \). (cf. Haemmerlin-Hoffmann : Numerische Mathematik)
Implements libMesh::SparseMatrix< Number >.
Definition at line 388 of file static_condensation.h.
|
finalvirtualinherited |
Get the number of rows owned by this process.
Reimplemented from libMesh::SparseMatrix< T >.
Definition at line 142 of file petsc_matrix_base.C.
|
inlinevirtualinherited |
Get the number of rows owned by this process.
Reimplemented in libMesh::PetscMatrixBase< Number >.
Definition at line 254 of file sparse_matrix.h.
|
finalvirtualinherited |
Get the number of columns owned by this process.
Reimplemented from libMesh::SparseMatrix< T >.
Definition at line 166 of file petsc_matrix_base.C.
|
inlinevirtualinherited |
Get the number of columns owned by this process.
Reimplemented in libMesh::PetscMatrixBase< Number >.
Definition at line 259 of file sparse_matrix.h.
|
overridevirtual |
Implements libMesh::SparseMatrix< Number >.
Definition at line 249 of file static_condensation.C.
References _full_dof_map, and libMesh::DofMap::n_dofs().
Referenced by init(), and n().
|
inlineoverridevirtual |
Implements libMesh::SparseMatrix< Number >.
Definition at line 354 of file static_condensation.h.
|
inlineinherited |
Definition at line 120 of file petsc_matrix_base.h.
Referenced by add_matrix(), libMesh::PetscLinearSolver< Number >::init(), libMesh::libmesh_petsc_DMCreateInterpolation(), libMesh::libmesh_petsc_DMCreateRestriction(), libMesh::PetscDiffSolver::solve(), libMesh::TaoOptimizationSolver< T >::solve(), libMesh::PetscNonlinearSolver< Number >::solve(), and libMesh::PetscLinearSolver< Number >::solve_common().
|
inlineinherited |
Definition at line 121 of file petsc_matrix_base.h.
|
inlinevirtualinherited |
Compute Y = A*X for matrix X
.
Definition at line 349 of file sparse_matrix.h.
|
inlinevirtualinherited |
Compute Y = A*X for matrix X
.
Reimplemented in libMesh::PetscMatrix< T >.
Definition at line 349 of file sparse_matrix.h.
|
inlineoverridevirtual |
Implements libMesh::SparseMatrix< Number >.
Definition at line 101 of file static_condensation.h.
References m().
Referenced by init().
|
inlineoverridevirtual |
Implements libMesh::SparseMatrix< Number >.
Definition at line 355 of file static_condensation.h.
|
virtualinherited |
Definition at line 238 of file sparse_matrix.C.
Referenced by libMesh::SparseMatrix< ValOut >::n_nonzeros().
|
virtualinherited |
Definition at line 238 of file sparse_matrix.C.
|
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.
Referenced by libMesh::LibMeshInit::~LibMeshInit().
|
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.
Referenced by libMesh::LibMeshInit::~LibMeshInit().
|
inlineinherited |
Definition at line 103 of file parallel_object.h.
References libMesh::ParallelObject::_communicator, libMesh::libmesh_assert(), and TIMPI::Communicator::size().
Referenced by libMesh::Partitioner::_find_global_index_by_pid_map(), 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::System::add_vector(), libMesh::LaplaceMeshSmoother::allgather_graph(), libMesh::DofMap::allgather_recursive_constraints(), libMesh::FEMSystem::assembly(), libMesh::Nemesis_IO::assert_symmetric_cmaps(), libMesh::Partitioner::assign_partitioning(), libMesh::AztecLinearSolver< T >::AztecLinearSolver(), libMesh::Partitioner::build_graph(), libMesh::EquationSystems::build_parallel_elemental_solution_vector(), libMesh::DistributedMesh::clear(), libMesh::DistributedMesh::clear_elems(), libMesh::Nemesis_IO_Helper::compute_border_node_ids(), libMesh::Nemesis_IO_Helper::construct_nemesis_filename(), libMesh::UnstructuredMesh::copy_nodes_and_elements(), libMesh::ExodusII_IO::copy_scalar_solution(), libMesh::Nemesis_IO::copy_scalar_solution(), libMesh::UnstructuredMesh::create_pid_mesh(), libMesh::MeshTools::create_processor_bounding_box(), libMesh::DofMap::distribute_dofs(), libMesh::DofMap::distribute_scalar_dofs(), libMesh::DistributedMesh::DistributedMesh(), libMesh::EnsightIO::EnsightIO(), libMesh::RBEIMEvaluation::gather_bfs(), libMesh::MeshBase::get_info(), init(), libMesh::SystemSubsetBySubdomain::init(), libMesh::PetscDMWrapper::init_petscdm(), libMesh::Nemesis_IO_Helper::initialize(), libMesh::ExodusII_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::n_active_elem_on_proc(), libMesh::DofMap::n_dofs_per_processor(), libMesh::MeshBase::n_elem_on_proc(), libMesh::MeshBase::n_nodes_on_proc(), libMesh::RBEIMEvaluation::node_gather_bfs(), libMesh::Partitioner::partition(), libMesh::MeshBase::partition(), libMesh::Partitioner::partition_unpartitioned_elements(), libMesh::System::point_gradient(), libMesh::System::point_hessian(), libMesh::System::point_value(), libMesh::DofMap::prepare_send_list(), libMesh::MeshBase::print_constraint_rows(), 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(), libMesh::Partitioner::repartition(), OverlappingFunctorTest::run_partitioner_test(), libMesh::DofMap::scatter_constraints(), libMesh::DistributedMesh::set_next_unique_id(), libMesh::DofMap::set_nonlocal_dof_objects(), libMesh::PetscDMWrapper::set_point_range_in_section(), WriteVecAndScalar::setupTests(), libMesh::RBEIMEvaluation::side_gather_bfs(), DistributedMeshTest::testRemoteElemError(), CheckpointIOTest::testSplitter(), libMesh::MeshRefinement::uniformly_coarsen(), libMesh::DistributedMesh::update_parallel_id_counts(), libMesh::GMVIO::write_binary(), libMesh::GMVIO::write_discontinuous_gmv(), libMesh::ExodusII_IO_Helper::write_nodal_coordinates(), libMesh::VTKIO::write_nodal_data(), libMesh::ExodusII_IO::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().
|
inlineinherited |
Definition at line 103 of file parallel_object.h.
References libMesh::ParallelObject::_communicator, libMesh::libmesh_assert(), and TIMPI::Communicator::size().
Referenced by libMesh::Partitioner::_find_global_index_by_pid_map(), 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::System::add_vector(), libMesh::LaplaceMeshSmoother::allgather_graph(), libMesh::DofMap::allgather_recursive_constraints(), libMesh::FEMSystem::assembly(), libMesh::Nemesis_IO::assert_symmetric_cmaps(), libMesh::Partitioner::assign_partitioning(), libMesh::AztecLinearSolver< T >::AztecLinearSolver(), libMesh::Partitioner::build_graph(), libMesh::EquationSystems::build_parallel_elemental_solution_vector(), libMesh::DistributedMesh::clear(), libMesh::DistributedMesh::clear_elems(), libMesh::Nemesis_IO_Helper::compute_border_node_ids(), libMesh::Nemesis_IO_Helper::construct_nemesis_filename(), libMesh::UnstructuredMesh::copy_nodes_and_elements(), libMesh::ExodusII_IO::copy_scalar_solution(), libMesh::Nemesis_IO::copy_scalar_solution(), libMesh::UnstructuredMesh::create_pid_mesh(), libMesh::MeshTools::create_processor_bounding_box(), libMesh::DofMap::distribute_dofs(), libMesh::DofMap::distribute_scalar_dofs(), libMesh::DistributedMesh::DistributedMesh(), libMesh::EnsightIO::EnsightIO(), libMesh::RBEIMEvaluation::gather_bfs(), libMesh::MeshBase::get_info(), init(), libMesh::SystemSubsetBySubdomain::init(), libMesh::PetscDMWrapper::init_petscdm(), libMesh::Nemesis_IO_Helper::initialize(), libMesh::ExodusII_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::n_active_elem_on_proc(), libMesh::DofMap::n_dofs_per_processor(), libMesh::MeshBase::n_elem_on_proc(), libMesh::MeshBase::n_nodes_on_proc(), libMesh::RBEIMEvaluation::node_gather_bfs(), libMesh::Partitioner::partition(), libMesh::MeshBase::partition(), libMesh::Partitioner::partition_unpartitioned_elements(), libMesh::System::point_gradient(), libMesh::System::point_hessian(), libMesh::System::point_value(), libMesh::DofMap::prepare_send_list(), libMesh::MeshBase::print_constraint_rows(), 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(), libMesh::Partitioner::repartition(), OverlappingFunctorTest::run_partitioner_test(), libMesh::DofMap::scatter_constraints(), libMesh::DistributedMesh::set_next_unique_id(), libMesh::DofMap::set_nonlocal_dof_objects(), libMesh::PetscDMWrapper::set_point_range_in_section(), WriteVecAndScalar::setupTests(), libMesh::RBEIMEvaluation::side_gather_bfs(), DistributedMeshTest::testRemoteElemError(), CheckpointIOTest::testSplitter(), libMesh::MeshRefinement::uniformly_coarsen(), libMesh::DistributedMesh::update_parallel_id_counts(), libMesh::GMVIO::write_binary(), libMesh::GMVIO::write_discontinuous_gmv(), libMesh::ExodusII_IO_Helper::write_nodal_coordinates(), libMesh::VTKIO::write_nodal_data(), libMesh::ExodusII_IO::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().
|
inlinevirtualinherited |
true
if this sparse matrix format needs to be fed the graph of the sparse matrix.This is true for LaspackMatrix
, but not PetscMatrixBase
subclasses. 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 162 of file sparse_matrix.h.
Referenced by libMesh::DofMap::attach_matrix(), and libMesh::DofMap::update_sparsity_pattern().
|
inlinevirtualinherited |
true
if this sparse matrix format needs to be fed the graph of the sparse matrix.This is true for LaspackMatrix
, but not PetscMatrixBase
subclasses. 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.
Definition at line 162 of file sparse_matrix.h.
|
overridevirtual |
(i,j).Implements libMesh::SparseMatrix< Number >.
Definition at line 350 of file static_condensation.C.
|
inlineoverridevirtual |
(i,j).Implements libMesh::SparseMatrix< Number >.
Definition at line 383 of file static_condensation.h.
|
overridevirtual |
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 SparseMatrix active in the library at a single time.
Reimplemented from libMesh::SparseMatrix< Number >.
Definition at line 60 of file static_condensation.C.
|
inlineoverridevirtual |
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 SparseMatrix active in the library at a single time.
Reimplemented from libMesh::SparseMatrix< Number >.
Definition at line 327 of file static_condensation.h.
|
inherited |
Definition at line 131 of file sparse_matrix.C.
|
inherited |
Print the contents of the matrix to the screen in a uniform style, regardless of matrix/solver package being used.
Definition at line 247 of file sparse_matrix.C.
|
inherited |
Print the contents of the matrix to the screen in a uniform style, regardless of matrix/solver package being used.
Definition at line 247 of file sparse_matrix.C.
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 81 of file reference_counter.C.
References libMesh::ReferenceCounter::_enable_print_counter, and libMesh::ReferenceCounter::get_info().
Referenced by libMesh::LibMeshInit::~LibMeshInit().
|
staticinherited |
Prints the reference information, by default to libMesh::out
.
Definition at line 81 of file reference_counter.C.
References libMesh::ReferenceCounter::_enable_print_counter, and libMesh::ReferenceCounter::get_info().
Referenced by libMesh::LibMeshInit::~LibMeshInit().
|
virtualinherited |
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 370 of file sparse_matrix.C.
|
virtualinherited |
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.
Definition at line 370 of file sparse_matrix.C.
|
overridevirtual |
Print the contents of the matrix to the screen in a package-personalized style, if available.
Implements libMesh::SparseMatrix< Number >.
Definition at line 359 of file static_condensation.C.
|
inlineoverridevirtual |
Print the contents of the matrix to the screen in a package-personalized style, if available.
Implements libMesh::SparseMatrix< Number >.
Definition at line 390 of file static_condensation.h.
|
virtualinherited |
Write the contents of the matrix to a file in PETSc's binary sparse matrix format.
Reimplemented in libMesh::PetscMatrix< T >.
Definition at line 493 of file sparse_matrix.C.
|
virtualinherited |
Write the contents of the matrix to a file in PETSc's binary sparse matrix format.
Definition at line 493 of file sparse_matrix.C.
|
virtualinherited |
Write the contents of the matrix to a file in PETSc's HDF5 sparse matrix format.
Definition at line 502 of file sparse_matrix.C.
|
virtualinherited |
Write the contents of the matrix to a file in PETSc's HDF5 sparse matrix format.
Reimplemented in libMesh::PetscMatrix< T >.
Definition at line 502 of file sparse_matrix.C.
|
inlineinherited |
Definition at line 114 of file parallel_object.h.
References libMesh::ParallelObject::_communicator, and TIMPI::Communicator::rank().
Referenced by libMesh::BoundaryInfo::_find_id_maps(), 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::MeshTools::Modification::all_tri(), libMesh::DofMap::allgather_recursive_constraints(), libMesh::FEMSystem::assembly(), libMesh::Nemesis_IO::assert_symmetric_cmaps(), libMesh::Partitioner::assign_partitioning(), libMesh::Nemesis_IO_Helper::build_element_and_node_maps(), libMesh::Partitioner::build_graph(), libMesh::InfElemBuilder::build_inf_elem(), libMesh::BoundaryInfo::build_node_list_from_side_list(), libMesh::EquationSystems::build_parallel_elemental_solution_vector(), libMesh::EquationSystems::build_parallel_solution_vector(), libMesh::MeshFunction::check_found_elem(), libMesh::DistributedMesh::clear(), libMesh::DistributedMesh::clear_elems(), 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_elemental_solution(), libMesh::ExodusII_IO::copy_nodal_solution(), libMesh::ExodusII_IO::copy_scalar_solution(), libMesh::Nemesis_IO::copy_scalar_solution(), libMesh::MeshTools::correct_node_proc_ids(), libMesh::ExodusII_IO_Helper::create(), libMesh::DistributedMesh::delete_elem(), libMesh::MeshCommunication::delete_remote_elements(), libMesh::DofMap::distribute_dofs(), libMesh::DofMap::distribute_scalar_dofs(), libMesh::DistributedMesh::DistributedMesh(), libMesh::DofMapBase::end_dof(), libMesh::DofMapBase::end_old_dof(), libMesh::EnsightIO::EnsightIO(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::SubFunctor::find_dofs_to_send(), libMesh::UnstructuredMesh::find_neighbors(), libMesh::DofMapBase::first_dof(), libMesh::DofMapBase::first_old_dof(), libMesh::RBEIMEvaluation::gather_bfs(), 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::RBEIMEvaluation::get_interior_basis_functions_as_vecs(), libMesh::Nemesis_IO_Helper::get_loadbal_param(), libMesh::DofMap::get_local_constraints(), libMesh::MeshBase::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::LaplaceMeshSmoother::init(), libMesh::SystemSubsetBySubdomain::init(), 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::TransientRBEvaluation::legacy_write_offline_data_to_files(), libMesh::RBSCMEvaluation::legacy_write_offline_data_to_files(), libMesh::RBEvaluation::legacy_write_offline_data_to_files(), 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::TriangulatorInterface::MeshedHole::MeshedHole(), libMesh::MeshBase::n_active_local_elem(), libMesh::BoundaryInfo::n_boundary_conds(), libMesh::MeshTools::n_connected_components(), libMesh::MeshBase::n_constraint_rows(), libMesh::BoundaryInfo::n_edge_conds(), libMesh::DofMapBase::n_local_dofs(), libMesh::MeshBase::n_local_elem(), libMesh::MeshBase::n_local_nodes(), libMesh::BoundaryInfo::n_nodeset_conds(), libMesh::BoundaryInfo::n_shellface_conds(), libMesh::RBEIMEvaluation::node_gather_bfs(), libMesh::DistributedMesh::own_node(), libMesh::BoundaryInfo::parallel_sync_node_ids(), libMesh::BoundaryInfo::parallel_sync_side_ids(), libMesh::System::point_gradient(), libMesh::System::point_hessian(), libMesh::System::point_value(), libMesh::MeshBase::print_constraint_rows(), libMesh::DofMap::print_dof_constraints(), libMesh::DofMap::process_mesh_constraint_rows(), 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::EquationSystems::read(), libMesh::ExodusII_IO_Helper::read_elem_num_map(), libMesh::ExodusII_IO_Helper::read_global_values(), libMesh::ExodusII_IO::read_header(), libMesh::CheckpointIO::read_header(), libMesh::XdrIO::read_header(), libMesh::System::read_header(), libMesh::System::read_legacy_data(), libMesh::DynaIO::read_mesh(), 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::Nemesis_IO_Helper::read_var_names_impl(), libMesh::SimplexRefiner::refine_via_edges(), libMesh::StaticCondensationDofMap::reinit(), libMesh::DistributedMesh::renumber_dof_objects(), libMesh::DistributedMesh::renumber_nodes_and_elements(), libMesh::DofMap::scatter_constraints(), libMesh::CheckpointIO::select_split_config(), libMesh::DistributedMesh::set_next_unique_id(), libMesh::DofMap::set_nonlocal_dof_objects(), libMesh::PetscDMWrapper::set_point_range_in_section(), libMesh::RBEIMEvaluation::side_gather_bfs(), ExodusTest< elem_type >::test_read_gold(), ExodusTest< elem_type >::test_write(), MeshInputTest::testAbaqusRead(), MeshInputTest::testBadGmsh(), MeshInputTest::testCopyElementSolutionImpl(), MeshInputTest::testCopyElementVectorImpl(), MeshInputTest::testCopyNodalSolutionImpl(), DefaultCouplingTest::testCoupling(), PointNeighborCouplingTest::testCoupling(), MeshInputTest::testDynaFileMappings(), MeshInputTest::testDynaNoSplines(), MeshInputTest::testDynaReadElem(), MeshInputTest::testDynaReadPatch(), MeshInputTest::testExodusFileMappings(), MeshInputTest::testExodusIGASidesets(), MeshInputTest::testExodusWriteElementDataFromDiscontinuousNodalData(), MeshInputTest::testGmshBCIDOverlap(), MeshInputTest::testGoodGmsh(), MeshInputTest::testGoodSTL(), MeshInputTest::testGoodSTLBinary(), MeshInputTest::testLowOrderEdgeBlocks(), SystemsTest::testProjectMatrix3D(), BoundaryInfoTest::testShellFaceConstraints(), MeshInputTest::testSingleElementImpl(), WriteVecAndScalar::testSolution(), CheckpointIOTest::testSplitter(), MeshInputTest::testTetgenIO(), libMesh::MeshTools::total_weight(), libMesh::NetGenMeshInterface::triangulate(), libMesh::MeshRefinement::uniformly_coarsen(), libMesh::DistributedMesh::update_parallel_id_counts(), libMesh::DTKAdapter::update_variable_values(), libMesh::MeshTools::volume(), libMesh::STLIO::write(), 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_Helper::write_elemset_data(), libMesh::ExodusII_IO_Helper::write_elemsets(), 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::UCDIO::write_nodal_data(), libMesh::VTKIO::write_nodal_data(), libMesh::ExodusII_IO::write_nodal_data(), libMesh::ExodusII_IO::write_nodal_data_common(), libMesh::ExodusII_IO::write_nodal_data_discontinuous(), libMesh::ExodusII_IO_Helper::write_nodal_values(), libMesh::ExodusII_IO_Helper::write_nodeset_data(), libMesh::Nemesis_IO_Helper::write_nodesets(), libMesh::ExodusII_IO_Helper::write_nodesets(), libMesh::RBEIMEvaluation::write_out_interior_basis_functions(), libMesh::RBEIMEvaluation::write_out_node_basis_functions(), libMesh::RBEIMEvaluation::write_out_side_basis_functions(), 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().
|
inlineinherited |
Definition at line 114 of file parallel_object.h.
References libMesh::ParallelObject::_communicator, and TIMPI::Communicator::rank().
Referenced by libMesh::BoundaryInfo::_find_id_maps(), 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::MeshTools::Modification::all_tri(), libMesh::DofMap::allgather_recursive_constraints(), libMesh::FEMSystem::assembly(), libMesh::Nemesis_IO::assert_symmetric_cmaps(), libMesh::Partitioner::assign_partitioning(), libMesh::Nemesis_IO_Helper::build_element_and_node_maps(), libMesh::Partitioner::build_graph(), libMesh::InfElemBuilder::build_inf_elem(), libMesh::BoundaryInfo::build_node_list_from_side_list(), libMesh::EquationSystems::build_parallel_elemental_solution_vector(), libMesh::EquationSystems::build_parallel_solution_vector(), libMesh::MeshFunction::check_found_elem(), libMesh::DistributedMesh::clear(), libMesh::DistributedMesh::clear_elems(), 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_elemental_solution(), libMesh::ExodusII_IO::copy_nodal_solution(), libMesh::ExodusII_IO::copy_scalar_solution(), libMesh::Nemesis_IO::copy_scalar_solution(), libMesh::MeshTools::correct_node_proc_ids(), libMesh::ExodusII_IO_Helper::create(), libMesh::DistributedMesh::delete_elem(), libMesh::MeshCommunication::delete_remote_elements(), libMesh::DofMap::distribute_dofs(), libMesh::DofMap::distribute_scalar_dofs(), libMesh::DistributedMesh::DistributedMesh(), libMesh::DofMapBase::end_dof(), libMesh::DofMapBase::end_old_dof(), libMesh::EnsightIO::EnsightIO(), libMesh::GenericProjector< FFunctor, GFunctor, FValue, ProjectionAction >::SubFunctor::find_dofs_to_send(), libMesh::UnstructuredMesh::find_neighbors(), libMesh::DofMapBase::first_dof(), libMesh::DofMapBase::first_old_dof(), libMesh::RBEIMEvaluation::gather_bfs(), 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::RBEIMEvaluation::get_interior_basis_functions_as_vecs(), libMesh::Nemesis_IO_Helper::get_loadbal_param(), libMesh::DofMap::get_local_constraints(), libMesh::MeshBase::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::LaplaceMeshSmoother::init(), libMesh::SystemSubsetBySubdomain::init(), 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::TransientRBEvaluation::legacy_write_offline_data_to_files(), libMesh::RBSCMEvaluation::legacy_write_offline_data_to_files(), libMesh::RBEvaluation::legacy_write_offline_data_to_files(), 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::TriangulatorInterface::MeshedHole::MeshedHole(), libMesh::MeshBase::n_active_local_elem(), libMesh::BoundaryInfo::n_boundary_conds(), libMesh::MeshTools::n_connected_components(), libMesh::MeshBase::n_constraint_rows(), libMesh::BoundaryInfo::n_edge_conds(), libMesh::DofMapBase::n_local_dofs(), libMesh::MeshBase::n_local_elem(), libMesh::MeshBase::n_local_nodes(), libMesh::BoundaryInfo::n_nodeset_conds(), libMesh::BoundaryInfo::n_shellface_conds(), libMesh::RBEIMEvaluation::node_gather_bfs(), libMesh::DistributedMesh::own_node(), libMesh::BoundaryInfo::parallel_sync_node_ids(), libMesh::BoundaryInfo::parallel_sync_side_ids(), libMesh::System::point_gradient(), libMesh::System::point_hessian(), libMesh::System::point_value(), libMesh::MeshBase::print_constraint_rows(), libMesh::DofMap::print_dof_constraints(), libMesh::DofMap::process_mesh_constraint_rows(), 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::EquationSystems::read(), libMesh::ExodusII_IO_Helper::read_elem_num_map(), libMesh::ExodusII_IO_Helper::read_global_values(), libMesh::ExodusII_IO::read_header(), libMesh::CheckpointIO::read_header(), libMesh::XdrIO::read_header(), libMesh::System::read_header(), libMesh::System::read_legacy_data(), libMesh::DynaIO::read_mesh(), 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::Nemesis_IO_Helper::read_var_names_impl(), libMesh::SimplexRefiner::refine_via_edges(), libMesh::StaticCondensationDofMap::reinit(), libMesh::DistributedMesh::renumber_dof_objects(), libMesh::DistributedMesh::renumber_nodes_and_elements(), libMesh::DofMap::scatter_constraints(), libMesh::CheckpointIO::select_split_config(), libMesh::DistributedMesh::set_next_unique_id(), libMesh::DofMap::set_nonlocal_dof_objects(), libMesh::PetscDMWrapper::set_point_range_in_section(), libMesh::RBEIMEvaluation::side_gather_bfs(), ExodusTest< elem_type >::test_read_gold(), ExodusTest< elem_type >::test_write(), MeshInputTest::testAbaqusRead(), MeshInputTest::testBadGmsh(), MeshInputTest::testCopyElementSolutionImpl(), MeshInputTest::testCopyElementVectorImpl(), MeshInputTest::testCopyNodalSolutionImpl(), DefaultCouplingTest::testCoupling(), PointNeighborCouplingTest::testCoupling(), MeshInputTest::testDynaFileMappings(), MeshInputTest::testDynaNoSplines(), MeshInputTest::testDynaReadElem(), MeshInputTest::testDynaReadPatch(), MeshInputTest::testExodusFileMappings(), MeshInputTest::testExodusIGASidesets(), MeshInputTest::testExodusWriteElementDataFromDiscontinuousNodalData(), MeshInputTest::testGmshBCIDOverlap(), MeshInputTest::testGoodGmsh(), MeshInputTest::testGoodSTL(), MeshInputTest::testGoodSTLBinary(), MeshInputTest::testLowOrderEdgeBlocks(), SystemsTest::testProjectMatrix3D(), BoundaryInfoTest::testShellFaceConstraints(), MeshInputTest::testSingleElementImpl(), WriteVecAndScalar::testSolution(), CheckpointIOTest::testSplitter(), MeshInputTest::testTetgenIO(), libMesh::MeshTools::total_weight(), libMesh::NetGenMeshInterface::triangulate(), libMesh::MeshRefinement::uniformly_coarsen(), libMesh::DistributedMesh::update_parallel_id_counts(), libMesh::DTKAdapter::update_variable_values(), libMesh::MeshTools::volume(), libMesh::STLIO::write(), 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_Helper::write_elemset_data(), libMesh::ExodusII_IO_Helper::write_elemsets(), 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::UCDIO::write_nodal_data(), libMesh::VTKIO::write_nodal_data(), libMesh::ExodusII_IO::write_nodal_data(), libMesh::ExodusII_IO::write_nodal_data_common(), libMesh::ExodusII_IO::write_nodal_data_discontinuous(), libMesh::ExodusII_IO_Helper::write_nodal_values(), libMesh::ExodusII_IO_Helper::write_nodeset_data(), libMesh::Nemesis_IO_Helper::write_nodesets(), libMesh::ExodusII_IO_Helper::write_nodesets(), libMesh::RBEIMEvaluation::write_out_interior_basis_functions(), libMesh::RBEIMEvaluation::write_out_node_basis_functions(), libMesh::RBEIMEvaluation::write_out_side_basis_functions(), 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().
|
virtualinherited |
Read the contents of the matrix from a file, with the file format inferred from the extension of filename
.
Definition at line 511 of file sparse_matrix.C.
|
virtualinherited |
Read the contents of the matrix from a file, with the file format inferred from the extension of filename
.
Definition at line 511 of file sparse_matrix.C.
|
virtualinherited |
Read the contents of the matrix from the Matlab-script sparse matrix format used by PETSc.
If the size and sparsity of the matrix in filename
appears consistent with the existing sparsity of this
then the existing parallel decomposition and sparsity will be retained. If not, then this
will be initialized with the sparsity from the file, linearly partitioned onto the number of processors available.
Definition at line 567 of file sparse_matrix.C.
|
virtualinherited |
Read the contents of the matrix from the Matlab-script sparse matrix format used by PETSc.
If the size and sparsity of the matrix in filename
appears consistent with the existing sparsity of this
then the existing parallel decomposition and sparsity will be retained. If not, then this
will be initialized with the sparsity from the file, linearly partitioned onto the number of processors available.
Definition at line 567 of file sparse_matrix.C.
Referenced by ConstraintOperatorTest::test1DCoarseningNewNodes().
|
virtualinherited |
Read the contents of the matrix from a file in PETSc's binary sparse matrix format.
Definition at line 849 of file sparse_matrix.C.
|
virtualinherited |
Read the contents of the matrix from a file in PETSc's binary sparse matrix format.
Reimplemented in libMesh::PetscMatrix< T >.
Definition at line 849 of file sparse_matrix.C.
|
virtualinherited |
Read the contents of the matrix from a file in PETSc's HDF5 sparse matrix format.
Definition at line 858 of file sparse_matrix.C.
|
virtualinherited |
Read the contents of the matrix from a file in PETSc's HDF5 sparse matrix format.
Reimplemented in libMesh::PetscMatrix< T >.
Definition at line 858 of file sparse_matrix.C.
|
inline |
Definition at line 296 of file static_condensation.h.
References _reduced_solver.
|
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 540 of file sparse_matrix.h.
|
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 540 of file sparse_matrix.h.
|
inlineoverridevirtual |
DofMap
Reimplemented from libMesh::PetscMatrixShellMatrix< T >.
Definition at line 182 of file static_condensation.h.
|
inlinevirtualinherited |
Reset the memory storage of the matrix.
Unlike clear()
, this does not destroy the matrix but rather will reset the matrix to use the original preallocation or when using hash table matrix assembly (see use_hash_table()
) will reset (clear) the hash table used for assembly. In the words of the MatResetPreallocation
documentation in PETSc, 'current values in the matrix are lost in this call', so a user can expect to have back their original sparsity pattern in a zeroed state
Definition at line 619 of file sparse_matrix.h.
|
inlinevirtualinherited |
Reset the memory storage of the matrix.
Unlike clear()
, this does not destroy the matrix but rather will reset the matrix to use the original preallocation or when using hash table matrix assembly (see use_hash_table()
) will reset (clear) the hash table used for assembly. In the words of the MatResetPreallocation
documentation in PETSc, 'current values in the matrix are lost in this call', so a user can expect to have back their original sparsity pattern in a zeroed state
Reimplemented in libMesh::PetscMatrix< T >, and libMesh::DiagonalMatrix< T >.
Definition at line 619 of file sparse_matrix.h.
|
overridevirtual |
Implements libMesh::SparseMatrix< Number >.
Definition at line 251 of file static_condensation.C.
References _full_dof_map, and libMesh::DofMapBase::first_dof().
Referenced by col_start().
|
inlineoverridevirtual |
Implements libMesh::SparseMatrix< Number >.
Definition at line 356 of file static_condensation.h.
|
overridevirtual |
Implements libMesh::SparseMatrix< Number >.
Definition at line 253 of file static_condensation.C.
References _full_dof_map, and libMesh::DofMapBase::end_dof().
Referenced by col_stop().
|
inlineoverridevirtual |
Implements libMesh::SparseMatrix< Number >.
Definition at line 357 of file static_condensation.h.
|
virtualinherited |
Scales all elements of this matrix by scale
.
Definition at line 867 of file sparse_matrix.C.
|
virtualinherited |
Scales all elements of this matrix by scale
.
Reimplemented in libMesh::PetscMatrix< T >.
Definition at line 867 of file sparse_matrix.C.
|
overridevirtual |
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< Number >.
Definition at line 255 of file static_condensation.C.
References _reduced_dof_map, _reduced_sys_mat, and libMesh::StaticCondensationDofMap::get_reduced_from_global_constraint_dof().
|
pure virtualinherited |
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.
Implemented in libMesh::StaticCondensation, libMesh::PetscMatrix< T >, libMesh::EpetraMatrix< T >, libMesh::DiagonalMatrix< T >, libMesh::LaspackMatrix< T >, libMesh::EigenSparseMatrix< T >, libMesh::StaticCondensation, libMesh::PetscMFFDMatrix< T >, libMesh::PetscMFFDMatrix< Number >, and libMesh::LumpedMassMatrix< T >.
Referenced by AssembleOptimization::equality_constraints_jacobian(), AssembleOptimization::inequality_constraints_jacobian(), libMesh::MatrixFillAction< ValIn, ValOut >::insert(), libMesh::System::projection_matrix(), ConstraintOperatorTest::test1DCoarseningOperator(), SystemsTest::testProjectMatrix1D(), SystemsTest::testProjectMatrix2D(), and SystemsTest::testProjectMatrix3D().
|
inlineoverridevirtual |
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< Number >.
Definition at line 360 of file static_condensation.h.
|
inherited |
Set the context (ourself) for _mat
.
Definition at line 105 of file petsc_matrix_base.C.
void libMesh::StaticCondensation::set_current_elem | ( | const Elem & | elem | ) |
Set the current element.
This enables fast lookups of local indices from global indices
Definition at line 264 of file static_condensation.C.
References _current_elem_id, libMesh::DofObject::id(), libMesh::Threads::in_threads, libMesh::libmesh_assert(), and libMesh::n_threads().
Referenced by libMesh::HDGProblem::jacobian().
|
inherited |
If set to false, we don't delete the Mat on destruction and allow instead for PETSc
to manage it.
Definition at line 91 of file petsc_matrix_base.C.
|
staticprivate |
Retrieves the degree of freedom values from global_vector
corresponding to elem_dof_indices
, filling both elem_dof_values_vec
and elem_dof_values
.
Definition at line 372 of file static_condensation.C.
References libMesh::NumericVector< T >::get(), and libMesh::index_range().
Referenced by backwards_substitution(), and forward_elimination().
void libMesh::StaticCondensation::setup | ( | ) |
A no-op to be consistent with shimming from the StaticCondenstionPreconditioner
.
"setup" should take place at the end of matrix assembly, e.g. during a call to close()
Definition at line 247 of file static_condensation.C.
References closed(), and libMesh::libmesh_assert().
Referenced by libMesh::StaticCondensationPreconditioner::setup().
|
inline |
Definition at line 403 of file static_condensation.h.
|
overridevirtual |
Implements libMesh::SparseMatrix< Number >.
Definition at line 475 of file static_condensation.C.
References libMesh::default_solver_package().
|
inlineoverridevirtual |
Implements libMesh::SparseMatrix< Number >.
Definition at line 331 of file static_condensation.h.
|
inlinevirtualinherited |
Definition at line 594 of file sparse_matrix.h.
|
inlinevirtualinherited |
Reimplemented in libMesh::PetscMatrix< T >.
Definition at line 594 of file sparse_matrix.h.
|
inherited |
Swaps the internal data pointers of two PetscMatrices, no actual values are swapped.
Definition at line 98 of file petsc_matrix_base.C.
Referenced by DMlibMeshJacobian().
|
inline |
Sets whether this matrix represents uncondensed dofs only.
In that case when building the Schur complement we won't attempt to invert zero element matrices corresponding to the condensed dofs
Definition at line 188 of file static_condensation.h.
References _uncondensed_dofs_only.
|
inline |
Definition at line 325 of file static_condensation.h.
|
inlinevirtualinherited |
Updates the matrix sparsity pattern.
When your SparseMatrix<T>
implementation does not need this data, simply do not override this method.
Definition at line 175 of file sparse_matrix.h.
|
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 175 of file sparse_matrix.h.
Referenced by libMesh::DofMap::update_sparsity_pattern().
|
inherited |
Sets whether to use hash table assembly.
This will error if the passed-in value is true and the matrix type does not support hash tables. Hash table or hash map assembly means storing maps from i-j locations in the matrix to values. Because it is a hash map as opposed to a contiguous array of data, no preallocation is required to use it
Definition at line 667 of file sparse_matrix.h.
Referenced by PetscMatrixTest::testPetscCopyFromHash().
|
inherited |
Sets whether to use hash table assembly.
This will error if the passed-in value is true and the matrix type does not support hash tables. Hash table or hash map assembly means storing maps from i-j locations in the matrix to values. Because it is a hash map as opposed to a contiguous array of data, no preallocation is required to use it
Definition at line 667 of file sparse_matrix.h.
|
inlineinherited |
Definition at line 609 of file sparse_matrix.h.
|
inlineinherited |
Definition at line 609 of file sparse_matrix.h.
Referenced by libMesh::SparseMatrix< ValOut >::require_sparsity_pattern().
|
inherited |
Multiplies the matrix by the NumericVector arg
and stores the result in NumericVector dest
.
Definition at line 209 of file sparse_matrix.C.
|
inherited |
Multiplies the matrix by the NumericVector arg
and stores the result in NumericVector dest
.
Definition at line 209 of file sparse_matrix.C.
Referenced by libMesh::TransientRBConstruction::add_IC_to_RB_space(), libMesh::RBSCMConstruction::Aq_inner_product(), libMesh::AdvectionSystem::assemble_claw_rhs(), libMesh::RBSCMConstruction::B_inner_product(), libMesh::RBConstruction::compute_Fq_representor_innerprods(), libMesh::RBConstruction::compute_output_dual_innerprods(), libMesh::RBConstruction::compute_residual_dual_norm_slow(), libMesh::TransientRBConstruction::enrich_RB_space(), libMesh::RBConstruction::enrich_RB_space(), AssembleOptimization::gradient(), libMesh::TransientRBConstruction::mass_matrix_scaled_matvec(), AssembleOptimization::objective(), libMesh::RBConstruction::print_basis_function_orthogonality(), libMesh::ImplicitSystem::qoi_parameter_hessian(), libMesh::ImplicitSystem::qoi_parameter_hessian_vector_product(), libMesh::TransientRBConstruction::set_error_temporal_data(), libMesh::RBConstruction::train_reduced_basis_with_POD(), libMesh::TransientRBConstruction::truth_assembly(), libMesh::RBConstruction::truth_solve(), libMesh::TransientRBConstruction::update_RB_system_matrices(), libMesh::RBConstruction::update_RB_system_matrices(), libMesh::TransientRBConstruction::update_residual_terms(), and libMesh::RBConstruction::update_residual_terms().
|
inherited |
Multiplies the matrix by the NumericVector arg
and adds the result to the NumericVector dest
.
Definition at line 219 of file sparse_matrix.C.
Referenced by libMesh::ImplicitSystem::weighted_sensitivity_adjoint_solve().
|
inherited |
Multiplies the matrix by the NumericVector arg
and adds the result to the NumericVector dest
.
Definition at line 219 of file sparse_matrix.C.
|
overridevirtual |
Set all entries to 0.
Implements libMesh::SparseMatrix< Number >.
Definition at line 234 of file static_condensation.C.
References _elem_to_matrix_data, _reduced_sys_mat, and libMesh::libmesh_ignore().
Referenced by libMesh::StaticCondensationPreconditioner::zero().
|
inlineoverridevirtual |
Set all entries to 0.
Implements libMesh::SparseMatrix< Number >.
Definition at line 344 of file static_condensation.h.
|
overridevirtual |
Implements libMesh::SparseMatrix< Number >.
Definition at line 65 of file static_condensation.C.
|
inlineoverridevirtual |
Implements libMesh::SparseMatrix< Number >.
Definition at line 345 of file static_condensation.h.
|
virtualinherited |
Sets all row entries to 0 then puts diag_value
in the diagonal entry.
Definition at line 230 of file sparse_matrix.C.
|
virtualinherited |
Sets all row entries to 0 then puts diag_value
in the diagonal entry.
Reimplemented in libMesh::DiagonalMatrix< T >, and libMesh::PetscMatrix< T >.
Definition at line 230 of file sparse_matrix.C.
|
protectedinherited |
Definition at line 120 of file parallel_object.h.
Referenced by libMesh::EquationSystems::build_parallel_elemental_solution_vector(), libMesh::EquationSystems::build_parallel_solution_vector(), close(), libMesh::ParallelObject::comm(), libMesh::CondensedEigenSystem::initialize_condensed_matrices(), libMesh::ParallelObject::n_processors(), libMesh::ParallelObject::operator=(), libMesh::ParallelObject::processor_id(), libMesh::BoundaryInfo::regenerate_id_sets(), and libMesh::StaticCondensationDofMap::reinit().
|
protectedinherited |
Definition at line 120 of file parallel_object.h.
Referenced by libMesh::EquationSystems::build_parallel_elemental_solution_vector(), libMesh::EquationSystems::build_parallel_solution_vector(), close(), libMesh::ParallelObject::comm(), libMesh::CondensedEigenSystem::initialize_condensed_matrices(), libMesh::ParallelObject::n_processors(), libMesh::ParallelObject::operator=(), libMesh::ParallelObject::processor_id(), libMesh::BoundaryInfo::regenerate_id_sets(), and libMesh::StaticCondensationDofMap::reinit().
|
staticprotectedinherited |
Actually holds the data.
Definition at line 124 of file reference_counter.h.
Referenced by libMesh::ReferenceCounter::get_info().
|
staticprotectedinherited |
Actually holds the data.
Definition at line 124 of file reference_counter.h.
Referenced by libMesh::ReferenceCounter::get_info().
|
private |
The current element ID.
This is one half of a key, along with the global index, that maps to a local index
Definition at line 267 of file static_condensation.h.
Referenced by add_matrix(), clear(), and set_current_elem().
|
protectedinherited |
This boolean value should only be set to false
for the constructor which takes a PETSc Mat object.
Definition at line 186 of file petsc_matrix_base.h.
Referenced by libMesh::PetscMatrixBase< Number >::swap().
|
protectedinherited |
The DofMap
object associated with this object.
May be queried for degree-of-freedom counts on processors.
Definition at line 641 of file sparse_matrix.h.
|
protectedinherited |
The DofMap
object associated with this object.
May be queried for degree-of-freedom counts on processors.
Definition at line 641 of file sparse_matrix.h.
|
private |
A map from element ID to Schur complement data.
Definition at line 243 of file static_condensation.h.
Referenced by add_matrix(), backwards_substitution(), clear(), close(), forward_elimination(), init(), and zero().
|
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().
|
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().
|
private |
Definition at line 247 of file static_condensation.h.
Referenced by m(), row_start(), and row_stop().
|
private |
This is a ghosted representation of the full (uncondensed + condensed) solution. Note that.
Definition at line 263 of file static_condensation.h.
Referenced by apply(), backwards_substitution(), and init().
|
private |
Whether we have cached values via add_XXX()
Definition at line 279 of file static_condensation.h.
Referenced by add_matrix(), clear(), close(), and closed().
|
protectedinherited |
Flag indicating whether or not the matrix has been initialized.
Definition at line 653 of file sparse_matrix.h.
|
protectedinherited |
Flag indicating whether or not the matrix has been initialized.
Definition at line 653 of file sparse_matrix.h.
Referenced by libMesh::PetscMatrix< T >::_get_submatrix(), libMesh::PetscMatrix< T >::create_submatrix_nosort(), libMesh::EpetraMatrix< T >::EpetraMatrix(), libMesh::PetscMatrix< T >::get_transpose(), and libMesh::SparseMatrix< ValOut >::initialized().
|
protectedinherited |
PETSc matrix datatype to store values.
Definition at line 180 of file petsc_matrix_base.h.
Referenced by libMesh::PetscMatrix< T >::_get_submatrix(), libMesh::PetscMatrix< T >::add(), libMesh::PetscMatrix< T >::create_submatrix_nosort(), libMesh::PetscMatrix< T >::get_transpose(), libMesh::PetscMatrixBase< Number >::mat(), libMesh::PetscMatrix< T >::operator=(), and libMesh::PetscMatrixBase< Number >::swap().
|
private |
Definition at line 245 of file static_condensation.h.
Referenced by backwards_substitution(), and forward_elimination().
|
staticprotectedinherited |
Mutual exclusion object to enable thread-safe reference counting.
Definition at line 137 of file reference_counter.h.
|
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().
|
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().
|
private |
The parallel type to use for the reduced matrix.
Definition at line 282 of file static_condensation.h.
Referenced by init().
|
private |
Definition at line 248 of file static_condensation.h.
Referenced by add_matrix(), apply(), backwards_substitution(), close(), dont_condense_vars(), forward_elimination(), init(), and set().
|
private |
RHS corresponding to the uncondensed degrees of freedom.
This is constructed by applying the element Schur complements to an incoming RHS which contains both condensed and uncondensed degrees of freedom
Definition at line 257 of file static_condensation.h.
Referenced by apply(), clear(), forward_elimination(), and init().
|
private |
solution for the uncondensed degrees of freedom
Definition at line 253 of file static_condensation.h.
|
private |
The solver for the uncondensed degrees of freedom.
Definition at line 259 of file static_condensation.h.
Referenced by apply(), clear(), init(), and reduced_system_solver().
|
private |
global sparse matrix for the uncondensed degrees of freedom
Definition at line 251 of file static_condensation.h.
Referenced by apply(), clear(), close(), closed(), get_condensed_mat(), init(), set(), and zero().
|
private |
Whether our object has been initialized.
Definition at line 276 of file static_condensation.h.
Referenced by clear(), init(), and initialized().
|
private |
Preconditioner object which will call back to us for the preconditioning action.
Definition at line 273 of file static_condensation.h.
Referenced by get_preconditioner(), and StaticCondensation().
|
private |
Helper data member for adding individual matrix elements.
Definition at line 270 of file static_condensation.h.
Referenced by add(), and StaticCondensation().
|
protectedinherited |
The sparsity
pattern associated with this object.
Should be queried for entry counts (or with need_full_sparsity_pattern, patterns) when needed.
Definition at line 648 of file sparse_matrix.h.
|
protectedinherited |
The sparsity
pattern associated with this object.
Should be queried for entry counts (or with need_full_sparsity_pattern, patterns) when needed.
Definition at line 648 of file sparse_matrix.h.
Referenced by init().
|
private |
Definition at line 246 of file static_condensation.h.
Referenced by init().
|
private |
whether this matrix represents uncondensed dofs only.
In that case when building the Schur complement we won't attempt to invert zero element matrices corresponding to the condensed dofs
Definition at line 287 of file static_condensation.h.
Referenced by close(), and uncondensed_dofs_only().
|
protectedinherited |
Flag indicating whether the matrix is assembled using a hash table.
Definition at line 658 of file sparse_matrix.h.
|
protectedinherited |
Flag indicating whether the matrix is assembled using a hash table.
Definition at line 658 of file sparse_matrix.h.
Referenced by libMesh::SparseMatrix< ValOut >::use_hash_table().