8#include <ryujin/base/compile_time_options.h>
17#include <deal.II/base/parameter_acceptor.h>
18#include <deal.II/base/partitioner.h>
19#include <deal.II/base/point.h>
20#include <deal.II/base/tensor.h>
21#include <deal.II/base/types.h>
22#include <deal.II/dofs/dof_handler.h>
23#include <deal.II/lac/affine_constraints.h>
24#include <deal.II/lac/dynamic_sparsity_pattern.h>
49 template <
int dim,
typename Number =
double>
64 std::tuple<
unsigned int ,
65 dealii::Tensor<1, dim, Number> ,
68 dealii::types::boundary_id ,
108 virtual void prepare(
const unsigned int problem_dimension,
109 const unsigned int n_precomputed_values) = 0;
378 const std::string &subsection)
379 : ParameterAcceptor(subsection)
402 std::shared_ptr<const dealii::Utilities::MPI::Partitioner>
405 std::shared_ptr<const dealii::Utilities::MPI::Partitioner>
408 std::shared_ptr<const dealii::Utilities::MPI::Partitioner>
std::unique_ptr< SparseMatrix< Number > > mass_matrix_inverse_
dealii::ObserverPointer< const Discretization< dim > > discretization_
std::unique_ptr< SparseMatrix< Number > > mass_matrix_
std::vector< BoundaryMap > level_boundary_map_
std::unique_ptr< dealii::AffineConstraints< Number > > affine_constraints_dg_
std::unique_ptr< SparseMatrix< Number > > incidence_matrix_
std::unique_ptr< SparsityPattern< warp_size > > sparsity_pattern_simd_
std::tuple< unsigned int, dealii::Tensor< 1, dim, Number >, Number, Number, dealii::types::boundary_id, dealii::Point< dim > > BoundaryDescription
unsigned int n_locally_internal_
std::vector< unsigned int > boundary_slots_
std::shared_ptr< const dealii::Utilities::MPI::Partitioner > precomputed_vector_partitioner_
std::unique_ptr< ScalarVector< Number > > lumped_mass_matrix_
unsigned int n_locally_owned_
const dealii::AffineConstraints< Number > & affine_constraints() const
std::unique_ptr< Mirrored< CouplingDescription * > > coupling_boundary_pairs_
std::unique_ptr< Mirrored< unsigned int * > > boundary_indices_
const dealii::DoFHandler< dim > & dof_handler() const
std::unique_ptr< dealii::DoFHandler< dim > > dof_handler_dg_
OfflineData(const Discretization< dim > &discretization, const std::string &subsection)
std::unique_ptr< dealii::AffineConstraints< Number > > affine_constraints_cg_
unsigned int n_locally_relevant_
std::unique_ptr< dealii::DoFHandler< dim > > dof_handler_cg_
std::shared_ptr< const dealii::Utilities::MPI::Partitioner > scalar_partitioner_
std::vector< BoundaryDescription > BoundaryMap
std::vector< CouplingDescription > CouplingBoundaryPairs
virtual void prepare(const unsigned int problem_dimension, const unsigned int n_precomputed_values)=0
BoundaryMap boundary_map_
std::unique_ptr< dealii::DynamicSparsityPattern > sparsity_pattern_
std::unique_ptr< ScalarVector< Number > > lumped_mass_matrix_inverse_
std::vector< ScalarHostVector< float > > level_lumped_mass_matrix_
unsigned int n_export_indices_
std::unique_ptr< SparseMatrix< Number > > betaij_matrix_
std::shared_ptr< const dealii::Utilities::MPI::Partitioner > hyperbolic_vector_partitioner_
std::unique_ptr< SparseMatrix< Number, dim > > cij_matrix_
#define ACCESSOR_READ_ONLY(member)
#define ACCESSOR_READ_ONLY_NO_DEREFERENCE(member)
bool operator==(const CouplingDescription &) const =default