26 #ifndef OOMPH_SOLID_PRECONDITIONERS_HEADER
27 #define OOMPH_SOLID_PRECONDITIONERS_HEADER
32 #include <oomph-lib-config.h>
37 #include "../generic/matrices.h"
38 #include "../generic/assembly_handler.h"
39 #include "../generic/problem.h"
40 #include "../generic/block_preconditioner.h"
41 #include "../generic/preconditioner.h"
42 #include "../generic/SuperLU_preconditioner.h"
43 #include "../generic/matrix_vector_product.h"
377 template<
typename MATRIX>
Definition: block_preconditioner.h:422
const Mesh * mesh_pt(const unsigned &i) const
Definition: block_preconditioner.h:1782
void set_nmesh(const unsigned &n)
Definition: block_preconditioner.h:2851
Definition: matrices.h:888
Definition: double_vector.h:58
Definition: matrix_vector_product.h:51
Definition: preconditioner.h:54
Definition: solid_preconditioners.h:380
PressureBasedSolidExactPreconditioner()
Constructor - do nothing.
Definition: solid_preconditioners.h:383
~PressureBasedSolidExactPreconditioner()
Destructor - do nothing.
Definition: solid_preconditioners.h:387
MATRIX P_matrix
Preconditioner matrix.
Definition: solid_preconditioners.h:407
PressureBasedSolidExactPreconditioner(const PressureBasedSolidExactPreconditioner &)=delete
Broken copy constructor.
void setup()
Broken assignment operator.
void preconditioner_solve(const Vector< double > &r, Vector< double > &z)
Apply preconditioner to r.
Definition: solid_preconditioners.h:107
MatrixVectorProduct * QBt_mat_vec_pt
MatrixVectorProduct operator for QBt if BFBt is not to be formed.
Definition: solid_preconditioners.h:336
void enable_doc_time()
Enable documentation of time.
Definition: solid_preconditioners.h:258
bool Form_BFBt_product
Definition: solid_preconditioners.h:356
CRDoubleMatrix * assemble_mass_matrix_diagonal()
Definition: solid_preconditioners.cc:705
~PressureBasedSolidLSCPreconditioner()
Destructor.
Definition: solid_preconditioners.h:156
void enable_form_BFBt_product()
Definition: solid_preconditioners.h:273
PressureBasedSolidLSCPreconditioner()
Constructor - sets defaults for control flags.
Definition: solid_preconditioners.h:110
bool Preconditioner_has_been_setup
Definition: solid_preconditioners.h:314
Preconditioner * F_preconditioner_pt
Pointer to the 'preconditioner' for the F matrix.
Definition: solid_preconditioners.h:303
MatrixVectorProduct * E_mat_vec_pt
MatrixVectorProduct operator for E (BFBt) if BFBt is to be formed.
Definition: solid_preconditioners.h:342
void disable_doc_time()
Disable documentation of time.
Definition: solid_preconditioners.h:264
bool Doc_time
Set Doc_time to true for outputting results of timings.
Definition: solid_preconditioners.h:330
PressureBasedSolidLSCPreconditioner(const PressureBasedSolidLSCPreconditioner &)=delete
Broken copy constructor.
void set_p_preconditioner(Preconditioner *new_p_preconditioner_pt)
Function to set a new pressure matrix preconditioner (inexact solver)
Definition: solid_preconditioners.h:209
Mesh * Solid_mesh_pt
Definition: solid_preconditioners.h:360
void disable_p_matrix_scaling()
Definition: solid_preconditioners.h:196
bool F_preconditioner_is_block_preconditioner
Definition: solid_preconditioners.h:327
void preconditioner_solve(const DoubleVector &r, DoubleVector &z)
Apply preconditioner to Vector r.
Definition: solid_preconditioners.cc:493
void setup()
Broken assignment operator.
Definition: solid_preconditioners.cc:38
bool is_p_matrix_using_scaling() const
Definition: solid_preconditioners.h:203
void set_f_preconditioner(Preconditioner *new_f_preconditioner_pt)
Function to set a new momentum matrix preconditioner (inexact solver)
Definition: solid_preconditioners.h:233
MatrixVectorProduct * Bt_mat_vec_pt
MatrixVectorProduct operator for Bt;.
Definition: solid_preconditioners.h:339
bool Using_default_p_preconditioner
flag indicating whether the default P preconditioner is used
Definition: solid_preconditioners.h:309
MatrixVectorProduct * F_mat_vec_pt
MatrixVectorProduct operator for F if BFBt is not to be formed.
Definition: solid_preconditioners.h:333
void set_solid_mesh(Mesh *mesh_pt)
Definition: solid_preconditioners.h:182
void clean_up_memory()
Helper function to delete preconditioner data.
Definition: solid_preconditioners.cc:1357
bool Using_default_f_preconditioner
flag indicating whether the default F preconditioner is used
Definition: solid_preconditioners.h:306
void set_p_superlu_preconditioner()
Definition: solid_preconditioners.h:223
void disable_form_BFBt_product()
Definition: solid_preconditioners.h:285
void enable_p_matrix_scaling()
Definition: solid_preconditioners.h:189
Preconditioner * P_preconditioner_pt
Pointer to the 'preconditioner' for the pressure matrix.
Definition: solid_preconditioners.h:300
bool P_matrix_using_scaling
Definition: solid_preconditioners.h:318
void set_f_superlu_preconditioner()
Definition: solid_preconditioners.h:247
An interface to allow SuperLU to be used as an (exact) Preconditioner.
Definition: SuperLU_preconditioner.h:40
DRAIG: Change all instances of (SPATIAL_DIM) to (DIM-1).
Definition: AnisotropicHookean.h:10