Fluid structure interaction suite
PDEs::Serial::ReducedLagrange< dim, spacedim > Class Template Reference

#include <reduced_lagrange.h>

Inheritance diagram for PDEs::Serial::ReducedLagrange< dim, spacedim >:
[legend]

Public Member Functions

 ReducedLagrange ()
 
void run ()
 
- Public Member Functions inherited from ParameterAcceptor
 ParameterAcceptor (const std::string &section_name="")
 
unsigned int get_acceptor_id () const
 
virtual ~ParameterAcceptor () override
 
virtual void declare_parameters (ParameterHandler &prm)
 
virtual void parse_parameters (ParameterHandler &prm)
 
std::string get_section_name () const
 
std::vector< std::string > get_section_path () const
 
void add_parameter (const std::string &entry, ParameterType &parameter, const std::string &documentation="", ParameterHandler &prm_=prm, const Patterns::PatternBase &pattern=*Patterns::Tools::Convert< ParameterType >::to_pattern())
 
void enter_subsection (const std::string &subsection)
 
void leave_subsection ()
 
void enter_my_subsection (ParameterHandler &prm)
 
void leave_my_subsection (ParameterHandler &prm)
 
void serialize (Archive &ar, const unsigned int version)
 
void subscribe (std::atomic< bool > *const validity, const std::string &identifier="") const
 
void unsubscribe (std::atomic< bool > *const validity, const std::string &identifier="") const
 
unsigned int n_subscriptions () const
 
void list_subscribers (StreamType &stream) const
 
void list_subscribers () const
 
void subscribe (std::atomic< bool > *const validity, const std::string &identifier="") const
 
void unsubscribe (std::atomic< bool > *const validity, const std::string &identifier="") const
 
unsigned int n_subscriptions () const
 
void list_subscribers (StreamType &stream) const
 
void list_subscribers () const
 
- Public Member Functions inherited from Subscriptor
 Subscriptor ()
 
 Subscriptor (const Subscriptor &)
 
 Subscriptor (Subscriptor &&) noexcept
 
virtual ~Subscriptor ()
 
Subscriptoroperator= (const Subscriptor &)
 
Subscriptoroperator= (Subscriptor &&) noexcept
 
void serialize (Archive &ar, const unsigned int version)
 
void subscribe (std::atomic< bool > *const validity, const std::string &identifier="") const
 
void unsubscribe (std::atomic< bool > *const validity, const std::string &identifier="") const
 
unsigned int n_subscriptions () const
 
void list_subscribers (StreamType &stream) const
 
void list_subscribers () const
 
void subscribe (std::atomic< bool > *const validity, const std::string &identifier="") const
 
void unsubscribe (std::atomic< bool > *const validity, const std::string &identifier="") const
 
unsigned int n_subscriptions () const
 
void list_subscribers (StreamType &stream) const
 
void list_subscribers () const
 

Private Types

enum class  SchurPreconditioner {
  identity , M , Minv , K ,
  Minv_K_Minv
}
 

Private Member Functions

void generate_grids_and_fes ()
 
void adjust_grid_refinements (const bool apply_delta_refinement=true)
 
void update_basis_functions ()
 
void setup_dofs ()
 
void setup_coupling ()
 
void assemble_system ()
 
void solve ()
 
void output_results (const unsigned int cycle)
 

Private Attributes

const std::string component_names = "u"
 
unsigned int coupling_quadrature_order = 3
 
unsigned int delta_refinement = 0
 
unsigned int console_level = 1
 
bool use_direct_solver = true
 
unsigned int n_basis = 1
 
Triangulation< spacedim > space_grid
 
std::unique_ptr< FiniteElement< spacedim > > space_fe
 
std::unique_ptr< MappingFE< spacedim > > space_mapping
 
std::unique_ptr< GridTools::Cache< spacedim, spacedim > > space_grid_tools_cache
 
DoFHandler< spacedim > space_dh
 
Triangulation< dim, spacedim > embedded_grid
 
std::unique_ptr< FiniteElement< dim, spacedim > > embedded_fe
 
DoFHandler< dim, spacedim > embedded_dh
 
std::unique_ptr< GridTools::Cache< dim, spacedim > > embedded_grid_tools_cache
 
std::unique_ptr< FiniteElement< dim, spacedim > > embedded_configuration_fe
 
DoFHandler< dim, spacedim > embedded_configuration_dh
 
Vector< double > embedded_configuration
 
SparsityPattern stiffness_sparsity
 
SparseMatrix< double > stiffness_matrix
 
SparsityPattern coupling_sparsity
 
SparseMatrix< double > coupling_matrix
 
SparsityPattern embedded_sparsity
 
SparseMatrix< double > embedded_mass_matrix
 
SparseMatrix< double > embedded_stiffness_matrix
 
SchurPreconditioner schur_preconditioner = SchurPreconditioner::identity
 
AffineConstraints< double > constraints
 
AffineConstraints< double > embedded_constraints
 
Vector< double > solution
 
Vector< double > lambda
 
Vector< double > rhs
 
Vector< double > reduced_solution
 
Vector< double > reduced_lambda
 
Vector< double > reduced_embedded_value
 
Vector< double > embedded_rhs
 
Vector< double > embedded_value
 
Vector< double > small_rhs
 
Vector< double > small_lambda
 
Vector< double > small_value
 
std::vector< Vector< double > > basis_functions
 
TimerOutput monitor
 
unsigned int finite_element_degree = 1
 
unsigned int embedded_space_finite_element_degree = 1
 
unsigned int embedded_configuration_finite_element_degree = 1
 
ParsedTools::GridGenerator< spacedim > grid_generator
 
ParsedTools::GridRefinement grid_refinement
 
ParsedTools::GridGenerator< dim, spacedim > embedded_grid_generator
 
ParsedTools::MappingEulerian< dim, spacedim > embedded_mapping
 
ParsedTools::Constants constants
 
ParsedTools::Function< spacedim > embedded_value_function
 
ParsedTools::Function< spacedim > forcing_term
 
ParsedTools::Function< spacedim > exact_solution
 
ParsedTools::BoundaryConditions< spacedim > boundary_conditions
 
ParsedLAC::InverseOperator stiffness_inverse_operator
 
ParsedLAC::AMGPreconditioner stiffness_preconditioner
 
ParsedLAC::AMGPreconditioner mass_preconditioner
 
ParsedLAC::InverseOperator schur_inverse_operator
 
ParsedTools::DataOut< spacedim > data_out
 
ParsedTools::DataOut< dim, spacedim > embedded_data_out
 
ParsedTools::ConvergenceTable error_table_space
 
ParsedTools::ConvergenceTable error_table_embedded
 

Additional Inherited Members

- Static Public Member Functions inherited from ParameterAcceptor
static void initialize (const std::string &filename="", const std::string &output_filename="", const ParameterHandler::OutputStyle output_style_for_output_filename=ParameterHandler::Short, ParameterHandler &prm=ParameterAcceptor::prm, const ParameterHandler::OutputStyle output_style_for_filename=ParameterHandler::DefaultStyle)
 
static void initialize (std::istream &input_stream, ParameterHandler &prm=ParameterAcceptor::prm)
 
static void clear ()
 
static void parse_all_parameters (ParameterHandler &prm=ParameterAcceptor::prm)
 
static void declare_all_parameters (ParameterHandler &prm=ParameterAcceptor::prm)
 
static ::ExceptionBaseExcInUse (int arg1, std::string arg2, std::string arg3)
 
static ::ExceptionBaseExcNoSubscriber (std::string arg1, std::string arg2)
 
- Static Public Member Functions inherited from Subscriptor
static ::ExceptionBaseExcInUse (int arg1, std::string arg2, std::string arg3)
 
static ::ExceptionBaseExcNoSubscriber (std::string arg1, std::string arg2)
 
- Public Attributes inherited from ParameterAcceptor
boost::signals2::signal< void()> declare_parameters_call_back
 
boost::signals2::signal< void()> parse_parameters_call_back
 
- Static Public Attributes inherited from ParameterAcceptor
static ParameterHandler prm
 
- Protected Attributes inherited from ParameterAcceptor
const std::string section_name
 
std::vector< std::string > subsections
 

Detailed Description

template<int dim, int spacedim = dim>
class PDEs::Serial::ReducedLagrange< dim, spacedim >

Definition at line 53 of file reduced_lagrange.h.

Member Enumeration Documentation

◆ SchurPreconditioner

template<int dim, int spacedim = dim>
enum PDEs::Serial::ReducedLagrange::SchurPreconditioner
strongprivate
Enumerator
identity 
Minv 
Minv_K_Minv 

Definition at line 115 of file reduced_lagrange.h.

Constructor & Destructor Documentation

◆ ReducedLagrange()

Member Function Documentation

◆ run()

template<int dim, int spacedim>
void PDEs::Serial::ReducedLagrange< dim, spacedim >::run

◆ generate_grids_and_fes()

template<int dim, int spacedim>
void PDEs::Serial::ReducedLagrange< dim, spacedim >::generate_grids_and_fes
private

◆ adjust_grid_refinements()

template<int dim, int spacedim>
void PDEs::Serial::ReducedLagrange< dim, spacedim >::adjust_grid_refinements ( const bool  apply_delta_refinement = true)
private

◆ update_basis_functions()

template<int dim, int spacedim>
void PDEs::Serial::ReducedLagrange< dim, spacedim >::update_basis_functions
private

Definition at line 248 of file reduced_lagrange.cc.

References deallog, and VectorTools::interpolate().

◆ setup_dofs()

template<int dim, int spacedim>
void PDEs::Serial::ReducedLagrange< dim, spacedim >::setup_dofs
private

◆ setup_coupling()

template<int dim, int spacedim>
void PDEs::Serial::ReducedLagrange< dim, spacedim >::setup_coupling
private

◆ assemble_system()

◆ solve()

◆ output_results()

template<int dim, int spacedim>
void PDEs::Serial::ReducedLagrange< dim, spacedim >::output_results ( const unsigned int  cycle)
private

Definition at line 548 of file reduced_lagrange.cc.

References Utilities::int_to_string(), and Utilities::needed_digits().

Member Data Documentation

◆ component_names

template<int dim, int spacedim = dim>
const std::string PDEs::Serial::ReducedLagrange< dim, spacedim >::component_names = "u"
private

Definition at line 79 of file reduced_lagrange.h.

◆ coupling_quadrature_order

template<int dim, int spacedim = dim>
unsigned int PDEs::Serial::ReducedLagrange< dim, spacedim >::coupling_quadrature_order = 3
private

◆ delta_refinement

template<int dim, int spacedim = dim>
unsigned int PDEs::Serial::ReducedLagrange< dim, spacedim >::delta_refinement = 0
private

◆ console_level

template<int dim, int spacedim = dim>
unsigned int PDEs::Serial::ReducedLagrange< dim, spacedim >::console_level = 1
private

◆ use_direct_solver

template<int dim, int spacedim = dim>
bool PDEs::Serial::ReducedLagrange< dim, spacedim >::use_direct_solver = true
private

◆ n_basis

template<int dim, int spacedim = dim>
unsigned int PDEs::Serial::ReducedLagrange< dim, spacedim >::n_basis = 1
private

◆ space_grid

template<int dim, int spacedim = dim>
Triangulation<spacedim> PDEs::Serial::ReducedLagrange< dim, spacedim >::space_grid
private

Definition at line 87 of file reduced_lagrange.h.

◆ space_fe

template<int dim, int spacedim = dim>
std::unique_ptr<FiniteElement<spacedim> > PDEs::Serial::ReducedLagrange< dim, spacedim >::space_fe
private

Definition at line 88 of file reduced_lagrange.h.

◆ space_mapping

template<int dim, int spacedim = dim>
std::unique_ptr<MappingFE<spacedim> > PDEs::Serial::ReducedLagrange< dim, spacedim >::space_mapping
private

Definition at line 89 of file reduced_lagrange.h.

◆ space_grid_tools_cache

template<int dim, int spacedim = dim>
std::unique_ptr<GridTools::Cache<spacedim, spacedim> > PDEs::Serial::ReducedLagrange< dim, spacedim >::space_grid_tools_cache
private

Definition at line 91 of file reduced_lagrange.h.

◆ space_dh

template<int dim, int spacedim = dim>
DoFHandler<spacedim> PDEs::Serial::ReducedLagrange< dim, spacedim >::space_dh
private

Definition at line 92 of file reduced_lagrange.h.

◆ embedded_grid

template<int dim, int spacedim = dim>
Triangulation<dim, spacedim> PDEs::Serial::ReducedLagrange< dim, spacedim >::embedded_grid
private

Definition at line 94 of file reduced_lagrange.h.

◆ embedded_fe

template<int dim, int spacedim = dim>
std::unique_ptr<FiniteElement<dim, spacedim> > PDEs::Serial::ReducedLagrange< dim, spacedim >::embedded_fe
private

Definition at line 95 of file reduced_lagrange.h.

◆ embedded_dh

template<int dim, int spacedim = dim>
DoFHandler<dim, spacedim> PDEs::Serial::ReducedLagrange< dim, spacedim >::embedded_dh
private

Definition at line 96 of file reduced_lagrange.h.

◆ embedded_grid_tools_cache

template<int dim, int spacedim = dim>
std::unique_ptr<GridTools::Cache<dim, spacedim> > PDEs::Serial::ReducedLagrange< dim, spacedim >::embedded_grid_tools_cache
private

Definition at line 98 of file reduced_lagrange.h.

◆ embedded_configuration_fe

template<int dim, int spacedim = dim>
std::unique_ptr<FiniteElement<dim, spacedim> > PDEs::Serial::ReducedLagrange< dim, spacedim >::embedded_configuration_fe
private

Definition at line 101 of file reduced_lagrange.h.

◆ embedded_configuration_dh

template<int dim, int spacedim = dim>
DoFHandler<dim, spacedim> PDEs::Serial::ReducedLagrange< dim, spacedim >::embedded_configuration_dh
private

Definition at line 102 of file reduced_lagrange.h.

◆ embedded_configuration

template<int dim, int spacedim = dim>
Vector<double> PDEs::Serial::ReducedLagrange< dim, spacedim >::embedded_configuration
private

Definition at line 103 of file reduced_lagrange.h.

◆ stiffness_sparsity

template<int dim, int spacedim = dim>
SparsityPattern PDEs::Serial::ReducedLagrange< dim, spacedim >::stiffness_sparsity
private

Definition at line 105 of file reduced_lagrange.h.

◆ stiffness_matrix

template<int dim, int spacedim = dim>
SparseMatrix<double> PDEs::Serial::ReducedLagrange< dim, spacedim >::stiffness_matrix
private

Definition at line 106 of file reduced_lagrange.h.

◆ coupling_sparsity

template<int dim, int spacedim = dim>
SparsityPattern PDEs::Serial::ReducedLagrange< dim, spacedim >::coupling_sparsity
private

Definition at line 108 of file reduced_lagrange.h.

◆ coupling_matrix

template<int dim, int spacedim = dim>
SparseMatrix<double> PDEs::Serial::ReducedLagrange< dim, spacedim >::coupling_matrix
private

Definition at line 109 of file reduced_lagrange.h.

◆ embedded_sparsity

template<int dim, int spacedim = dim>
SparsityPattern PDEs::Serial::ReducedLagrange< dim, spacedim >::embedded_sparsity
private

Definition at line 111 of file reduced_lagrange.h.

◆ embedded_mass_matrix

template<int dim, int spacedim = dim>
SparseMatrix<double> PDEs::Serial::ReducedLagrange< dim, spacedim >::embedded_mass_matrix
private

Definition at line 112 of file reduced_lagrange.h.

◆ embedded_stiffness_matrix

template<int dim, int spacedim = dim>
SparseMatrix<double> PDEs::Serial::ReducedLagrange< dim, spacedim >::embedded_stiffness_matrix
private

Definition at line 113 of file reduced_lagrange.h.

◆ schur_preconditioner

template<int dim, int spacedim = dim>
SchurPreconditioner PDEs::Serial::ReducedLagrange< dim, spacedim >::schur_preconditioner = SchurPreconditioner::identity
private

◆ constraints

template<int dim, int spacedim = dim>
AffineConstraints<double> PDEs::Serial::ReducedLagrange< dim, spacedim >::constraints
private

Definition at line 125 of file reduced_lagrange.h.

◆ embedded_constraints

template<int dim, int spacedim = dim>
AffineConstraints<double> PDEs::Serial::ReducedLagrange< dim, spacedim >::embedded_constraints
private

Definition at line 126 of file reduced_lagrange.h.

◆ solution

template<int dim, int spacedim = dim>
Vector<double> PDEs::Serial::ReducedLagrange< dim, spacedim >::solution
private

Definition at line 128 of file reduced_lagrange.h.

◆ lambda

template<int dim, int spacedim = dim>
Vector<double> PDEs::Serial::ReducedLagrange< dim, spacedim >::lambda
private

Definition at line 129 of file reduced_lagrange.h.

◆ rhs

template<int dim, int spacedim = dim>
Vector<double> PDEs::Serial::ReducedLagrange< dim, spacedim >::rhs
private

Definition at line 130 of file reduced_lagrange.h.

◆ reduced_solution

template<int dim, int spacedim = dim>
Vector<double> PDEs::Serial::ReducedLagrange< dim, spacedim >::reduced_solution
private

Definition at line 132 of file reduced_lagrange.h.

◆ reduced_lambda

template<int dim, int spacedim = dim>
Vector<double> PDEs::Serial::ReducedLagrange< dim, spacedim >::reduced_lambda
private

Definition at line 133 of file reduced_lagrange.h.

◆ reduced_embedded_value

template<int dim, int spacedim = dim>
Vector<double> PDEs::Serial::ReducedLagrange< dim, spacedim >::reduced_embedded_value
private

Definition at line 134 of file reduced_lagrange.h.

◆ embedded_rhs

template<int dim, int spacedim = dim>
Vector<double> PDEs::Serial::ReducedLagrange< dim, spacedim >::embedded_rhs
private

Definition at line 136 of file reduced_lagrange.h.

◆ embedded_value

template<int dim, int spacedim = dim>
Vector<double> PDEs::Serial::ReducedLagrange< dim, spacedim >::embedded_value
private

Definition at line 137 of file reduced_lagrange.h.

◆ small_rhs

template<int dim, int spacedim = dim>
Vector<double> PDEs::Serial::ReducedLagrange< dim, spacedim >::small_rhs
private

Definition at line 139 of file reduced_lagrange.h.

◆ small_lambda

template<int dim, int spacedim = dim>
Vector<double> PDEs::Serial::ReducedLagrange< dim, spacedim >::small_lambda
private

Definition at line 140 of file reduced_lagrange.h.

◆ small_value

template<int dim, int spacedim = dim>
Vector<double> PDEs::Serial::ReducedLagrange< dim, spacedim >::small_value
private

Definition at line 141 of file reduced_lagrange.h.

◆ basis_functions

template<int dim, int spacedim = dim>
std::vector<Vector<double> > PDEs::Serial::ReducedLagrange< dim, spacedim >::basis_functions
private

Definition at line 143 of file reduced_lagrange.h.

◆ monitor

template<int dim, int spacedim = dim>
TimerOutput PDEs::Serial::ReducedLagrange< dim, spacedim >::monitor
private

Definition at line 145 of file reduced_lagrange.h.

◆ finite_element_degree

template<int dim, int spacedim = dim>
unsigned int PDEs::Serial::ReducedLagrange< dim, spacedim >::finite_element_degree = 1
private

◆ embedded_space_finite_element_degree

template<int dim, int spacedim = dim>
unsigned int PDEs::Serial::ReducedLagrange< dim, spacedim >::embedded_space_finite_element_degree = 1
private

◆ embedded_configuration_finite_element_degree

template<int dim, int spacedim = dim>
unsigned int PDEs::Serial::ReducedLagrange< dim, spacedim >::embedded_configuration_finite_element_degree = 1
private

◆ grid_generator

template<int dim, int spacedim = dim>
ParsedTools::GridGenerator<spacedim> PDEs::Serial::ReducedLagrange< dim, spacedim >::grid_generator
private

Definition at line 153 of file reduced_lagrange.h.

◆ grid_refinement

template<int dim, int spacedim = dim>
ParsedTools::GridRefinement PDEs::Serial::ReducedLagrange< dim, spacedim >::grid_refinement
private

Definition at line 154 of file reduced_lagrange.h.

◆ embedded_grid_generator

template<int dim, int spacedim = dim>
ParsedTools::GridGenerator<dim, spacedim> PDEs::Serial::ReducedLagrange< dim, spacedim >::embedded_grid_generator
private

Definition at line 156 of file reduced_lagrange.h.

◆ embedded_mapping

template<int dim, int spacedim = dim>
ParsedTools::MappingEulerian<dim, spacedim> PDEs::Serial::ReducedLagrange< dim, spacedim >::embedded_mapping
private

Definition at line 157 of file reduced_lagrange.h.

◆ constants

template<int dim, int spacedim = dim>
ParsedTools::Constants PDEs::Serial::ReducedLagrange< dim, spacedim >::constants
private

Definition at line 159 of file reduced_lagrange.h.

◆ embedded_value_function

template<int dim, int spacedim = dim>
ParsedTools::Function<spacedim> PDEs::Serial::ReducedLagrange< dim, spacedim >::embedded_value_function
private

Definition at line 160 of file reduced_lagrange.h.

◆ forcing_term

template<int dim, int spacedim = dim>
ParsedTools::Function<spacedim> PDEs::Serial::ReducedLagrange< dim, spacedim >::forcing_term
private

Definition at line 161 of file reduced_lagrange.h.

◆ exact_solution

template<int dim, int spacedim = dim>
ParsedTools::Function<spacedim> PDEs::Serial::ReducedLagrange< dim, spacedim >::exact_solution
private

Definition at line 162 of file reduced_lagrange.h.

◆ boundary_conditions

template<int dim, int spacedim = dim>
ParsedTools::BoundaryConditions<spacedim> PDEs::Serial::ReducedLagrange< dim, spacedim >::boundary_conditions
private

Definition at line 163 of file reduced_lagrange.h.

◆ stiffness_inverse_operator

template<int dim, int spacedim = dim>
ParsedLAC::InverseOperator PDEs::Serial::ReducedLagrange< dim, spacedim >::stiffness_inverse_operator
private

Definition at line 165 of file reduced_lagrange.h.

◆ stiffness_preconditioner

template<int dim, int spacedim = dim>
ParsedLAC::AMGPreconditioner PDEs::Serial::ReducedLagrange< dim, spacedim >::stiffness_preconditioner
private

Definition at line 166 of file reduced_lagrange.h.

◆ mass_preconditioner

template<int dim, int spacedim = dim>
ParsedLAC::AMGPreconditioner PDEs::Serial::ReducedLagrange< dim, spacedim >::mass_preconditioner
private

Definition at line 167 of file reduced_lagrange.h.

◆ schur_inverse_operator

template<int dim, int spacedim = dim>
ParsedLAC::InverseOperator PDEs::Serial::ReducedLagrange< dim, spacedim >::schur_inverse_operator
private

Definition at line 169 of file reduced_lagrange.h.

◆ data_out

template<int dim, int spacedim = dim>
ParsedTools::DataOut<spacedim> PDEs::Serial::ReducedLagrange< dim, spacedim >::data_out
mutableprivate

Definition at line 171 of file reduced_lagrange.h.

◆ embedded_data_out

template<int dim, int spacedim = dim>
ParsedTools::DataOut<dim, spacedim> PDEs::Serial::ReducedLagrange< dim, spacedim >::embedded_data_out
mutableprivate

Definition at line 172 of file reduced_lagrange.h.

◆ error_table_space

template<int dim, int spacedim = dim>
ParsedTools::ConvergenceTable PDEs::Serial::ReducedLagrange< dim, spacedim >::error_table_space
private

Definition at line 173 of file reduced_lagrange.h.

◆ error_table_embedded

template<int dim, int spacedim = dim>
ParsedTools::ConvergenceTable PDEs::Serial::ReducedLagrange< dim, spacedim >::error_table_embedded
private

Definition at line 174 of file reduced_lagrange.h.


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