19#ifndef dealii_reduced_poisson_h
20#define dealii_reduced_poisson_h
34#define FORCE_USE_OF_TRILINOS
37#if defined(DEAL_II_WITH_PETSC) && !defined(DEAL_II_PETSC_WITH_COMPLEX) && \
38 !(defined(DEAL_II_WITH_TRILINOS) && defined(FORCE_USE_OF_TRILINOS))
39 using namespace dealii::LinearAlgebraPETSc;
41#elif defined(DEAL_II_WITH_TRILINOS)
42 using namespace dealii::LinearAlgebraTrilinos;
44# error DEAL_II_WITH_PETSC or DEAL_II_WITH_TRILINOS required
88#ifdef MATRIX_FREE_PATH
110#ifdef DEAL_II_WITH_OPENCASCADE
111# include <TopoDS.hxx>
119template <
int spacedim>
153template <
int dim,
int spacedim = dim>
164#ifndef MATRIX_FREE_PATH
195 std::unique_ptr<FiniteElement<spacedim>>
fe;
212#ifdef MATRIX_FREE_PATH
215 std::unique_ptr<CouplingOperator<spacedim, double, 1>> coupling_operator;
ParameterAcceptor(const std::string §ion_name="")
BlockVectorType system_rhs
std::unique_ptr< FiniteElement< spacedim > > fe
BlockVectorType locally_relevant_solution
LA::MPI::SparseMatrix coupling_matrix_transpose
MappingQ< spacedim > mapping
std::vector< IndexSet > relevant_dofs
LA::MPI::SparseMatrix inclusion_matrix
std::unique_ptr< Quadrature< spacedim > > quadrature
const ReducedPoissonParameters< spacedim > & par
std::vector< IndexSet > owned_dofs
void refine_and_transfer()
parallel::distributed::Triangulation< spacedim > tria
AffineConstraints< double > constraints
DoFHandler< spacedim > dh
LA::MPI::SparseMatrix coupling_matrix
MPI_Comm mpi_communicator
ReducedPoisson(const ReducedPoissonParameters< spacedim > &par)
std::vector< std::vector< BoundingBox< spacedim > > > global_bounding_boxes
void print_parameters() const
LA::MPI::Vector VectorType
LA::MPI::BlockVector BlockVectorType
void output_results() const
TimerOutput computing_timer
ReducedCoupling< 1, 2, spacedim, 1 > reduced_coupling
LA::MPI::SparseMatrix stiffness_matrix
void assemble_poisson_system()
std::string output_solution() const
ParameterAcceptorProxy< Functions::ParsedFunction< spacedim > > bc
std::string refinement_strategy
ParsedConvergenceTable convergence_table
double refinement_fraction
ReducedPoissonParameters()
bool output_results_before_solving
ReducedCouplingParameters< 1, 2, spacedim, 1 > reduced_coupling_parameters
std::list< types::boundary_id > dirichlet_ids
std::string arguments_for_grid
ParameterAcceptorProxy< ReductionControl > inner_control
std::string output_directory
unsigned int initial_refinement
ParameterAcceptorProxy< ReductionControl > outer_control
double coarsening_fraction
unsigned int n_refinement_cycles
ParameterAcceptorProxy< Functions::ParsedFunction< spacedim > > rhs
EnableObserverPointer Subscriptor
Combines tensor product space and particle coupling for reduced Lagrange multipliers.
Parameter structure for configuring ReducedCoupling objects.