Template Class PoissonProblem

Inheritance Relationships

Base Type

  • public dealii::EnableObserverPointer

Class Documentation

template<int dim, int spacedim = dim>
class PoissonProblem : public dealii::EnableObserverPointer

Solver for Poisson problems with reduced Lagrange multiplier coupling.

Public Functions

PoissonProblem(const ProblemParameters<dim, spacedim> &par)

Build the problem from parsed parameters.

inline double multiplier_solution_l2_norm() const

Communicator-global norm of the current multiplier solution.

inline const DoFHandler<spacedim> &bulk_dof_handler() const

Native read-only data for independent discretization checks.

inline const auto &bulk_values() const
inline const auto &bulk_rhs() const
inline const auto &assembled_bulk() const
void make_grid()

Create or import the computational mesh.

void setup_fe()

Initialize finite element and quadrature objects.

void setup_dofs()

Distribute DoFs and initialize matrices/vectors.

void assemble_poisson_system()

Assemble the bulk Poisson matrix and forcing block.

void assemble_coupling()

Assemble immersed coupling matrix and multiplier right-hand side.

void run()

Run the full solve/refinement pipeline.

IndexSet assemble_coupling_sparsity(DynamicSparsityPattern &dsp) const

Builds coupling sparsity, and returns locally relevant inclusion dofs.

void solve()

Solve the coupled linear system.

void refine_and_transfer()

Perform adaptive refinement and transfer block vectors.

std::string output_solution() const

Return output base filename for the current cycle.

void output_results() const

Write current solution fields to disk.

void print_parameters() const

Print selected runtime and parameter values.