include/meltpooldg/core/scratch_data.hpp Source File
|
Developer Documentation
|
scratch_data.hpp
Go to the documentation of this file.
Definition conditional_ostream.hpp:7
Container for shared scratch data between operations/operators.
Definition scratch_data.hpp:61
dealii::MatrixFree< dim, number, VectorizedArrayType > matrix_free
Definition scratch_data.hpp:667
bool is_FE_Q_iso_Q_1(const unsigned int dof_idx, const unsigned int component=0) const
Check whether a given component uses FE_Q_iso_Q1.
Definition scratch_data.cpp:581
dealii::Utilities::MPI::RemotePointEvaluation< dim, dim > & get_remote_point_evaluation(const unsigned int dof_idx) const
Access the RemotePointEvaluation object for a given DoF index.
Definition scratch_data.cpp:615
std::pair< unsigned int, unsigned int > get_face_range_category(const std::pair< unsigned, unsigned > &face_range) const
Get the face range category for a given face range.
Definition scratch_data.cpp:566
unsigned int attach_dof_handler(const dealii::DoFHandler< dim, spacedim > &dof_handler)
Attach a DoFHandler and return its index.
Definition scratch_data.cpp:85
const ConditionalOStream get_pcout(const unsigned int level=1) const
Get a ConditionalOStream associated with a given verbosity level.
Definition scratch_data.cpp:550
void clear()
Clear all attached data and reset to the default-constructed state.
Definition scratch_data.cpp:325
std::vector< const dealii::AffineConstraints< number > * > constraint
Definition scratch_data.hpp:651
void create_partitioning()
Build partitioning and cell-size information for all attached DoFHandlers.
Definition scratch_data.cpp:149
void set_mapping(const dealii::Mapping< dim, spacedim > &mapping)
Set the mapping by value.
Definition scratch_data.cpp:70
const std::shared_ptr< dealii::Utilities::MPI::Partitioner > & get_partitioner(const unsigned int dof_idx) const
Get the partitioner object for a given DoFHandler index.
Definition scratch_data.cpp:543
const number & get_max_cell_size() const
Get the global maximum cell size.
Definition scratch_data.cpp:501
void create_remote_point_evaluation(const unsigned int dof_idx, const std::function< std::vector< bool >()> &marked_vertices={})
Create a dealii::Utilities::MPI::RemotePointEvaluation object for a given DoF index,...
Definition scratch_data.cpp:342
dealii::LinearAlgebra::distributed::Vector< number > VectorType
Definition scratch_data.hpp:64
unsigned int get_n_dofs_per_cell(const unsigned int dof_idx) const
Get the number of DoFs per cell for a given DoFHandler index.
Definition scratch_data.cpp:466
void initialize_bc_vector(VectorType &vec, const unsigned int dof_idx) const
Initialize a vector and distribute constraints for a given DoF index.
Definition scratch_data.cpp:306
std::shared_ptr< dealii::TimerOutput > timer
Definition scratch_data.hpp:665
MPI_Comm get_mpi_comm(const unsigned int dof_idx=0) const
Get the MPI communicator for a given DoFHandler.
Definition scratch_data.cpp:522
unsigned int get_cell_range_category(const std::pair< unsigned, unsigned > &cell_range) const
Get the cell range category for a given cell range.
Definition scratch_data.cpp:558
const dealii::IndexSet & get_locally_owned_dofs(const unsigned int dof_idx) const
Get the set of locally owned DoFs for a given DoFHandler index.
Definition scratch_data.cpp:529
CutUtil::CutPhaseType get_cut_type(const unsigned int dof_idx) const
Get the cut-cell phase type for a given DoFHandler.
Definition scratch_data.cpp:600
const dealii::Quadrature< dim > & get_quadrature(const unsigned int quad_index) const
Get a cell quadrature rule by index.
Definition scratch_data.cpp:396
const dealii::DoFHandler< dim, spacedim > & get_dof_handler(const unsigned int dof_idx) const
Get a DoFHandler by index (const overload).
Definition scratch_data.cpp:438
dealii::LinearAlgebra::distributed::BlockVector< number > BlockVectorType
Definition scratch_data.hpp:65
std::vector< const dealii::DoFHandler< dim, spacedim > * > dof_handler
Definition scratch_data.hpp:650
bool is_hex_mesh(const unsigned int dof_idx=0) const
Check whether the underlying mesh is a pure hypercube mesh.
Definition scratch_data.cpp:574
const number & get_min_diameter() const
Get the minimal cell diameter over the triangulation.
Definition scratch_data.cpp:508
unsigned int attach_dof_handler_and_constraint(const dealii::DoFHandler< dim, spacedim > &dof_handler, const dealii::AffineConstraints< number > &constraint)
Attach a DoFHandler and its corresponding constraint matrix.
Definition scratch_data.cpp:103
const std::vector< const dealii::DoFHandler< dim, spacedim > * > & get_dof_handlers() const
Get the vector of all attached DoFHandlers.
Definition scratch_data.cpp:452
bool is_FE_DGQ(const unsigned int dof_idx, const unsigned int component=0) const
Check whether a given component uses FE_DGQ.
Definition scratch_data.cpp:591
const dealii::Mapping< dim, spacedim > & get_mapping() const
Access the stored mapping.
Definition scratch_data.cpp:361
const dealii::Triangulation< dim > & get_triangulation(const unsigned int dof_idx=0) const
Get the triangulation associated with a given DoFHandler index.
Definition scratch_data.cpp:459
void build(const bool enable_boundary_face_loops, const bool enable_inner_face_loops, const bool enable_normal_vector_update=false, const bool enable_inner_face_hessians_update=false)
Build matrix-free and mapping-related data structures.
Definition scratch_data.cpp:192
unsigned int attach_constraint_matrix(const dealii::AffineConstraints< number > &constraint)
Attach a constraint matrix and return its index.
Definition scratch_data.cpp:94
std::vector< dealii::Quadrature< dim > > quad
Definition scratch_data.hpp:652
const dealii::FiniteElement< dim, spacedim > & get_fe(const unsigned int fe_index) const
Get the finite element associated with a given DoF index.
Definition scratch_data.cpp:368
unsigned int get_degree(const unsigned int dof_idx) const
Get the polynomial degree of the finite element at a given DoF index.
Definition scratch_data.cpp:473
std::vector< dealii::IndexSet > locally_owned_dofs
Definition scratch_data.hpp:658
void initialize_dof_vector(VectorType &vec, const unsigned int dof_idx) const
Initialize a distributed vector for a given DoF index.
Definition scratch_data.cpp:272
std::vector< dealii::Quadrature< dim - 1 > > face_quad
Definition scratch_data.hpp:653
const dealii::Quadrature< dim - 1 > & get_face_quadrature(const unsigned int quad_index) const
Get a face quadrature rule corresponding to a given cell rule.
Definition scratch_data.cpp:410
unsigned int get_n_q_points(const unsigned int dof_idx) const
Get the number of quadrature points for a given quadrature index.
Definition scratch_data.cpp:480
const std::vector< dealii::Quadrature< dim > > & get_quadratures() const
Get all stored cell quadrature rules.
Definition scratch_data.cpp:403
const std::vector< const dealii::AffineConstraints< number > * > & get_constraints() const
Get the list of all attached constraint matrices.
Definition scratch_data.cpp:389
std::map< unsigned int, std::shared_ptr< dealii::Utilities::MPI::RemotePointEvaluation< dim, dim > > > rpe
Definition scratch_data.hpp:662
void create_pcout(MPI_Comm mpi_communicator)
Helper function that (re)creates the internal ConditionalOStreams.
Definition scratch_data.cpp:626
bool enable_boundary_faces
Flag indicating whether boundary-face matrix-free loops are enabled.
Definition scratch_data.hpp:636
dealii::MatrixFree< dim, number, VectorizedArrayType > & get_matrix_free()
Access the internal MatrixFree object (non-const).
Definition scratch_data.cpp:424
dealii::TimerOutput & get_timer() const
Access the timer associated with this scratch data object.
Definition scratch_data.cpp:608
const std::vector< dealii::Quadrature< dim - 1 > > & get_face_quadratures() const
Get all stored face quadrature rules.
Definition scratch_data.cpp:417
bool enable_inner_faces
Flag indicating whether interior-face matrix-free loops are enabled.
Definition scratch_data.hpp:644
const unsigned int verbosity_level
Definition scratch_data.hpp:663
const dealii::AffineConstraints< number > & get_constraint(const unsigned int constraint_index) const
Get a constraint object by index (const overload).
Definition scratch_data.cpp:375
std::vector< dealii::IndexSet > locally_relevant_dofs
Definition scratch_data.hpp:659
const dealii::IndexSet & get_locally_relevant_dofs(const unsigned int dof_idx) const
Get the set of locally relevant DoFs for a given DoFHandler index.
Definition scratch_data.cpp:536
const number & get_min_cell_size() const
Get the global minimum cell size.
Definition scratch_data.cpp:487
const dealii::AlignedVector< dealii::VectorizedArray< number > > & get_cell_sizes() const
Get the vector of cell sizes used by the MatrixFree object.
Definition scratch_data.cpp:515
std::vector< std::shared_ptr< dealii::Utilities::MPI::Partitioner > > partitioner
Definition scratch_data.hpp:660
void reinit(const dealii::Mapping< dim, spacedim > &mapping, const std::vector< const dealii::DoFHandler< dim, spacedim > * > &dof_handler, const std::vector< const dealii::AffineConstraints< number > * > &constraint, const std::vector< dealii::Quadrature< dim > > &quad, const bool enable_boundary_face_loops, const bool enable_inner_face_loops, const bool enable_normal_vector_update=false)
Set up mapping, DoFHandlers, constraints, quadrature rules and matrix-free data in a single call.
Definition scratch_data.cpp:39
dealii::AlignedVector< dealii::VectorizedArray< number > > cell_sizes
Definition scratch_data.hpp:657
dealii::VectorizedArray< number > VectorizedArrayType
Definition scratch_data.hpp:63
std::shared_ptr< dealii::Mapping< dim, spacedim > > mapping
Definition scratch_data.hpp:649
unsigned int attach_quadrature(const dealii::Quadrature< dim > &quadrature)
Attach a cell quadrature rule and create a corresponding face rule.
Definition scratch_data.cpp:117
std::vector< dealii::ConditionalOStream > pcout
Definition scratch_data.hpp:648
Generated by