/home/runner/work/DiFfRG_current/DiFfRG_current/DiFfRG/include/DiFfRG/discretization/common/la_policy.hh File Reference#

DiFfRG: /home/runner/work/DiFfRG_current/DiFfRG_current/DiFfRG/include/DiFfRG/discretization/common/la_policy.hh File Reference
DiFfRG
Discretization Framework for functional Renormalization Group flows
la_policy.hh File Reference
#include <deal.II/base/index_set.h>
#include <deal.II/lac/dynamic_sparsity_pattern.h>
#include <deal.II/lac/full_matrix.h>
#include <deal.II/lac/sparsity_tools.h>
#include <DiFfRG/common/linear_algebra.hh>
#include <DiFfRG/common/mpi.hh>
#include <DiFfRG/discretization/common/solution_view.hh>
#include <vector>

Go to the source code of this file.

Namespaces

namespace  DiFfRG
 

Functions

template<typename VectorType >
void DiFfRG::reinit_la_vector (VectorType &vec, const dealii::IndexSet &locally_owned, MPI_Comm comm)
 Size a vector to the rank's share of the rows.
 
template<typename SparseMatrixType >
void DiFfRG::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.
 
template<typename SparseMatrixType >
void DiFfRG::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.
 
template<typename VectorType >
dealii::IndexSet DiFfRG::restrict_to_owned (const dealii::IndexSet &global_set, const dealii::IndexSet &locally_owned)
 Restrict a global index set to what this rank may write.
 
dealii::IndexSet DiFfRG::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.
 
template<typename VectorType >
void DiFfRG::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.
 
template<typename VectorType >
void DiFfRG::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.
 
template<typename BlockVectorType >
void DiFfRG::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.
 
template<typename VectorType , typename Fn >
void DiFfRG::compute_variables_into (VectorType &dst, VectorType &scratch, Fn &&compute)
 Run a model's variables computation and land the result in the distributed block.
 
template<typename VectorType >
void DiFfRG::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.
 
template<typename VectorType , typename NumberType >
void DiFfRG::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.