https://mooseframework.inl.gov
MooseStaticCondensationPreconditioner.h
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://mooseframework.inl.gov
3 //*
4 //* All rights reserved, see COPYRIGHT for full restrictions
5 //* https://github.com/idaholab/moose/blob/master/COPYRIGHT
6 //*
7 //* Licensed under LGPL 2.1, please see LICENSE for details
8 //* https://www.gnu.org/licenses/lgpl-2.1.html
9 
10 #pragma once
11 
13 
14 namespace libMesh
15 {
16 class StaticCondensation;
17 class StaticCondensationDofMap;
18 }
19 
24 {
25 public:
27 
29 
30  virtual void initialSetup() override;
31 
32 protected:
35 
37  const libMesh::StaticCondensation & scSysMat() const;
38 
39  std::string prefix() const;
40 
41 private:
44 
47 };
48 
51 {
53  return *_sc_dof_map;
54 }
55 
58 {
59  return const_cast<MooseStaticCondensationPreconditioner *>(this)->scDofMap();
60 }
61 
64 {
66  return *_sc_system_matrix;
67 }
68 
69 inline const libMesh::StaticCondensation &
71 {
72  return const_cast<MooseStaticCondensationPreconditioner *>(this)->scSysMat();
73 }
virtual void initialSetup() override
Perform some setup tasks such as storing the PETSc options.
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
The following methods are specializations for using the libMesh::Parallel::packed_range_* routines fo...
libMesh::StaticCondensationDofMap * _sc_dof_map
Pointer to the libMesh static condensation dof map object.
libmesh_assert(ctx)
libMesh::StaticCondensation * _sc_system_matrix
Pointer to the libMesh static condensation system matrix object.
Single matrix preconditioner.
MooseStaticCondensationPreconditioner(const InputParameters &params)