/home/runner/work/DiFfRG_current/DiFfRG_current/DiFfRG/include/DiFfRG/discretization/common/la_policy.hh Source File#
|
DiFfRG
Discretization Framework for functional Renormalization Group flows
|
la_policy.hh
Go to the documentation of this file.
50 void finalize_la_sparsity(dealii::DynamicSparsityPattern &dsp, get_type::SparsityPattern<SparseMatrixType> &pattern,
92 void reinit_la_matrix(SparseMatrixType &matrix, const get_type::SparsityPattern<SparseMatrixType> &pattern,
114 dealii::IndexSet restrict_to_owned(const dealii::IndexSet &global_set, const dealii::IndexSet &locally_owned)
131 inline dealii::IndexSet variables_owner_set(const dealii::types::global_dof_index n_vars, MPI_Comm comm)
147 void reinit_variables_view(SolutionView<VectorType> &view, const dealii::types::global_dof_index n_vars,
157 void reinit_la_variables_vector(VectorType &vec, const dealii::types::global_dof_index n_vars, MPI_Comm comm)
235 void reinit_local_variables_vector(VectorType &vec, const dealii::types::global_dof_index n_vars)
261 void dense_vmult_variables(const dealii::FullMatrix<NumberType> &matrix, VectorType &dst, const VectorType &src,
A read-only, fully-replicated view of the solution.
Definition solution_view.hh:48
void reinit(const dealii::IndexSet &, const dealii::IndexSet &, MPI_Comm)
Establish the layout. No-op for the serial policy.
Definition solution_view.hh:58
All compile-time knowledge about which linear algebra types DiFfRG uses.
uint rank(MPI_Comm comm)
void bcast(MPI_Comm comm, void *data, size_t bytes, uint root=0)
Broadcast raw bytes from root to all ranks.
typename internal::_SparsityPattern< SparseMatrixType >::value SparsityPattern
Definition linear_algebra.hh:155
Definition complex_math.hh:10
constexpr bool is_distributed_la
Whether a linear algebra type distributes its rows across MPI ranks.
Definition linear_algebra.hh:188
void reinit_variables_view(SolutionView< VectorType > &view, const dealii::types::global_dof_index n_vars, MPI_Comm comm)
Establish the layout of a fully-replicated view of the extra-variables block.
Definition la_policy.hh:147
void dense_vmult_variables(const dealii::FullMatrix< NumberType > &matrix, VectorType &dst, const VectorType &src, MPI_Comm comm)
Apply a dense matrix to the extra-variables block.
Definition la_policy.hh:261
void reinit_la_variables_vector(VectorType &vec, const dealii::types::global_dof_index n_vars, MPI_Comm comm)
Size a standalone vector holding only the extra variables.
Definition la_policy.hh:157
void reinit_local_variables_vector(VectorType &vec, const dealii::types::global_dof_index n_vars)
Size a process-local vector holding every extra variable on every rank.
Definition la_policy.hh:235
dealii::IndexSet restrict_to_owned(const dealii::IndexSet &global_set, const dealii::IndexSet &locally_owned)
Restrict a global index set to what this rank may write.
Definition la_policy.hh:114
void compute_variables_into(VectorType &dst, VectorType &scratch, Fn &&compute)
Run a model's variables computation and land the result in the distributed block.
Definition la_policy.hh:215
void reinit_la_matrix(SparseMatrixType &matrix, const get_type::SparsityPattern< SparseMatrixType > &pattern, const dealii::IndexSet &locally_owned, MPI_Comm comm)
Size a matrix from a finalized sparsity pattern.
Definition la_policy.hh:92
dealii::IndexSet variables_owner_set(const dealii::types::global_dof_index n_vars, MPI_Comm comm)
The ownership set for the extra-variables block: everything on rank 0, nothing elsewhere.
Definition la_policy.hh:131
void reinit_la_vector(VectorType &vec, const dealii::IndexSet &locally_owned, MPI_Comm comm)
Size a vector to the rank's share of the rows.
Definition la_policy.hh:27
void finalize_la_sparsity(dealii::DynamicSparsityPattern &dsp, get_type::SparsityPattern< SparseMatrixType > &pattern, const dealii::IndexSet &locally_owned, const dealii::IndexSet &locally_relevant, MPI_Comm comm)
Turn a freshly built DynamicSparsityPattern into the pattern type the matrix wants.
Definition la_policy.hh:50
void reinit_la_block_vector(BlockVectorType &vec, const std::vector< uint > &block_structure, const dealii::IndexSet &locally_owned, MPI_Comm comm)
Size a block vector: block 0 is the FE dofs, block 1 (if present) the extra variables.
Definition la_policy.hh:183
Generated by