Reduced Lagrange Multipliers
 
Loading...
Searching...
No Matches
ReducedPoisson< dim, spacedim > Class Template Reference

#include <reduced_poisson.h>

Inheritance diagram for ReducedPoisson< dim, spacedim >:
EnableObserverPointer

Public Member Functions

 ReducedPoisson (const ReducedPoissonParameters< spacedim > &par)
 
void make_grid ()
 
void setup_fe ()
 
void setup_dofs ()
 
void assemble_poisson_system ()
 
void run ()
 
void solve ()
 
void refine_and_transfer ()
 
std::string output_solution () const
 
void output_results () const
 
void print_parameters () const
 
- Public Member Functions inherited from EnableObserverPointer
 EnableObserverPointer ()
 
 EnableObserverPointer (const EnableObserverPointer &)
 
 EnableObserverPointer (EnableObserverPointer &&) noexcept
 
virtual ~EnableObserverPointer ()
 
EnableObserverPointeroperator= (const EnableObserverPointer &)
 
EnableObserverPointeroperator= (EnableObserverPointer &&) noexcept
 
void serialize (Archive &ar, const unsigned int version)
 
unsigned int n_subscriptions () const
 
void list_subscribers (StreamType &stream) const
 
void list_subscribers () const
 
unsigned int n_subscriptions () const
 
void list_subscribers (StreamType &stream) const
 
void list_subscribers () const
 

Private Types

using VectorType = LA::MPI::Vector
 
using BlockVectorType = LA::MPI::BlockVector
 

Private Attributes

const ReducedPoissonParameters< spacedim > & par
 
MPI_Comm mpi_communicator
 
ConditionalOStream pcout
 
TimerOutput computing_timer
 
parallel::distributed::Triangulation< spacedim > tria
 
std::unique_ptr< FiniteElement< spacedim > > fe
 
std::unique_ptr< Quadrature< spacedim > > quadrature
 
DoFHandler< spacedim > dh
 
ReducedCoupling< 1, 2, spacedim, 1 > reduced_coupling
 
std::vector< IndexSetowned_dofs
 
std::vector< IndexSetrelevant_dofs
 
AffineConstraints< double > constraints
 
LA::MPI::SparseMatrix coupling_matrix
 
LA::MPI::SparseMatrix coupling_matrix_transpose
 
LA::MPI::SparseMatrix inclusion_matrix
 
MappingQ< spacedim > mapping
 
LA::MPI::SparseMatrix stiffness_matrix
 
BlockVectorType solution
 
BlockVectorType locally_relevant_solution
 
BlockVectorType system_rhs
 
std::vector< std::vector< BoundingBox< spacedim > > > global_bounding_boxes
 
unsigned int cycle = 0
 

Additional Inherited Members

- Static Public Member Functions inherited from EnableObserverPointer
static ::ExceptionBaseExcInUse (int arg1, std::string arg2, std::string arg3)
 
static ::ExceptionBaseExcNoSubscriber (std::string arg1, std::string arg2)
 

Detailed Description

template<int dim, int spacedim = dim>
class ReducedPoisson< dim, spacedim >

Definition at line 154 of file reduced_poisson.h.

Member Typedef Documentation

◆ BlockVectorType

template<int dim, int spacedim = dim>
using ReducedPoisson< dim, spacedim >::BlockVectorType = LA::MPI::BlockVector
private

Definition at line 228 of file reduced_poisson.h.

◆ VectorType

template<int dim, int spacedim = dim>
using ReducedPoisson< dim, spacedim >::VectorType = LA::MPI::Vector
private

Definition at line 227 of file reduced_poisson.h.

Constructor & Destructor Documentation

◆ ReducedPoisson()

template<int dim, int spacedim>
ReducedPoisson< dim, spacedim >::ReducedPoisson ( const ReducedPoissonParameters< spacedim > & par)

Definition at line 87 of file reduced_poisson.cc.

References computing_timer, dh, mapping, mpi_communicator, par, pcout, reduced_coupling, and tria.

Member Function Documentation

◆ assemble_poisson_system()

◆ make_grid()

template<int dim, int spacedim>
void ReducedPoisson< dim, spacedim >::make_grid ( )

◆ output_results()

template<int dim, int spacedim>
void ReducedPoisson< dim, spacedim >::output_results ( ) const

Definition at line 935 of file reduced_poisson.cc.

References cycle, output_solution(), par, reduced_coupling, and DataOutBase::write_pvd_record().

Referenced by run().

◆ output_solution()

◆ print_parameters()

template<int dim, int spacedim>
void ReducedPoisson< dim, spacedim >::print_parameters ( ) const

◆ refine_and_transfer()

◆ run()

◆ setup_dofs()

◆ setup_fe()

template<int dim, int spacedim>
void ReducedPoisson< dim, spacedim >::setup_fe ( )

Definition at line 184 of file reduced_poisson.cc.

References computing_timer, fe, par, and quadrature.

Referenced by run().

◆ solve()

Member Data Documentation

◆ computing_timer

template<int dim, int spacedim = dim>
TimerOutput ReducedPoisson< dim, spacedim >::computing_timer
mutableprivate

◆ constraints

template<int dim, int spacedim = dim>
AffineConstraints<double> ReducedPoisson< dim, spacedim >::constraints
private

◆ coupling_matrix

template<int dim, int spacedim = dim>
LA::MPI::SparseMatrix ReducedPoisson< dim, spacedim >::coupling_matrix
private

Definition at line 208 of file reduced_poisson.h.

Referenced by assemble_poisson_system(), run(), setup_dofs(), and solve().

◆ coupling_matrix_transpose

template<int dim, int spacedim = dim>
LA::MPI::SparseMatrix ReducedPoisson< dim, spacedim >::coupling_matrix_transpose
private

Definition at line 209 of file reduced_poisson.h.

◆ cycle

template<int dim, int spacedim = dim>
unsigned int ReducedPoisson< dim, spacedim >::cycle = 0
private

Definition at line 235 of file reduced_poisson.h.

Referenced by output_results(), output_solution(), and run().

◆ dh

template<int dim, int spacedim = dim>
DoFHandler<spacedim> ReducedPoisson< dim, spacedim >::dh
private

◆ fe

template<int dim, int spacedim = dim>
std::unique_ptr<FiniteElement<spacedim> > ReducedPoisson< dim, spacedim >::fe
private

Definition at line 195 of file reduced_poisson.h.

Referenced by assemble_poisson_system(), setup_dofs(), and setup_fe().

◆ global_bounding_boxes

template<int dim, int spacedim = dim>
std::vector<std::vector<BoundingBox<spacedim> > > ReducedPoisson< dim, spacedim >::global_bounding_boxes
private

Definition at line 234 of file reduced_poisson.h.

◆ inclusion_matrix

template<int dim, int spacedim = dim>
LA::MPI::SparseMatrix ReducedPoisson< dim, spacedim >::inclusion_matrix
private

Definition at line 210 of file reduced_poisson.h.

◆ locally_relevant_solution

template<int dim, int spacedim = dim>
BlockVectorType ReducedPoisson< dim, spacedim >::locally_relevant_solution
private

Definition at line 232 of file reduced_poisson.h.

Referenced by output_solution(), refine_and_transfer(), run(), setup_dofs(), and solve().

◆ mapping

template<int dim, int spacedim = dim>
MappingQ<spacedim> ReducedPoisson< dim, spacedim >::mapping
private

Definition at line 211 of file reduced_poisson.h.

Referenced by ReducedPoisson(), and setup_dofs().

◆ mpi_communicator

template<int dim, int spacedim = dim>
MPI_Comm ReducedPoisson< dim, spacedim >::mpi_communicator
private

◆ owned_dofs

template<int dim, int spacedim = dim>
std::vector<IndexSet> ReducedPoisson< dim, spacedim >::owned_dofs
private

Definition at line 203 of file reduced_poisson.h.

Referenced by setup_dofs(), and solve().

◆ par

template<int dim, int spacedim = dim>
const ReducedPoissonParameters<spacedim>& ReducedPoisson< dim, spacedim >::par
private

◆ pcout

template<int dim, int spacedim = dim>
ConditionalOStream ReducedPoisson< dim, spacedim >::pcout
private

Definition at line 192 of file reduced_poisson.h.

Referenced by make_grid(), print_parameters(), ReducedPoisson(), run(), setup_dofs(), and solve().

◆ quadrature

template<int dim, int spacedim = dim>
std::unique_ptr<Quadrature<spacedim> > ReducedPoisson< dim, spacedim >::quadrature
private

Definition at line 197 of file reduced_poisson.h.

Referenced by assemble_poisson_system(), and setup_fe().

◆ reduced_coupling

template<int dim, int spacedim = dim>
ReducedCoupling<1, 2, spacedim, 1> ReducedPoisson< dim, spacedim >::reduced_coupling
private

Definition at line 201 of file reduced_poisson.h.

Referenced by output_results(), ReducedPoisson(), run(), setup_dofs(), and solve().

◆ relevant_dofs

template<int dim, int spacedim = dim>
std::vector<IndexSet> ReducedPoisson< dim, spacedim >::relevant_dofs
private

Definition at line 204 of file reduced_poisson.h.

Referenced by setup_dofs(), and solve().

◆ solution

template<int dim, int spacedim = dim>
BlockVectorType ReducedPoisson< dim, spacedim >::solution
private

Definition at line 231 of file reduced_poisson.h.

Referenced by refine_and_transfer(), setup_dofs(), and solve().

◆ stiffness_matrix

template<int dim, int spacedim = dim>
LA::MPI::SparseMatrix ReducedPoisson< dim, spacedim >::stiffness_matrix
private

Definition at line 226 of file reduced_poisson.h.

Referenced by assemble_poisson_system(), setup_dofs(), and solve().

◆ system_rhs

template<int dim, int spacedim = dim>
BlockVectorType ReducedPoisson< dim, spacedim >::system_rhs
private

Definition at line 233 of file reduced_poisson.h.

Referenced by assemble_poisson_system(), run(), setup_dofs(), and solve().

◆ tria

template<int dim, int spacedim = dim>
parallel::distributed::Triangulation<spacedim> ReducedPoisson< dim, spacedim >::tria
private

The documentation for this class was generated from the following files: