27 #ifndef OOMPH_GENERAL_PURPOSE_SPACE_TIME_BLOCK_PRECONDITIONER_HEADER
28 #define OOMPH_GENERAL_PURPOSE_SPACE_TIME_BLOCK_PRECONDITIONER_HEADER
32 #include <oomph-lib-config.h>
56 template<
typename MATRIX>
136 std::ostringstream warning_message_stream;
139 warning_message_stream
140 <<
"The memory statistics have not been calculated "
141 <<
"so I'm returning\nthe value zero." << std::endl;
156 std::ostringstream warning_message_stream;
159 warning_message_stream
160 <<
"The preconditioner hasn't even been set up yet "
161 <<
"so I'm returning\nthe value zero." << std::endl;
196 template<
typename MATRIX>
341 std::ostringstream warning_message_stream;
344 warning_message_stream
345 <<
"The memory statistics have not been calculated "
346 <<
"so I'm returning\nthe value zero." << std::endl;
361 std::ostringstream warning_message_stream;
364 warning_message_stream
365 <<
"The preconditioner hasn't even been set up yet "
366 <<
"so I'm returning\nthe value zero." << std::endl;
int i
Definition: BiCGSTAB_step_by_step.cpp:9
Definition: general_purpose_space_time_block_preconditioner.h:199
void enable_doc_memory_usage()
Document the memory usage.
Definition: general_purpose_space_time_block_preconditioner.h:311
DenseMatrix< MatrixVectorProduct * > Off_diagonal_matrix_vector_products
Matrix of matrix-vector product operators for the off diagonals.
Definition: general_purpose_space_time_block_preconditioner.h:380
void setup()
Setup the preconditioner.
Definition: general_purpose_space_time_block_preconditioner.cc:218
virtual void clean_up_memory()
Clean up the memory.
Definition: general_purpose_space_time_block_preconditioner.h:231
bool Preconditioner_has_been_setup
Definition: general_purpose_space_time_block_preconditioner.h:393
void preconditioner_solve(const DoubleVector &r, DoubleVector &z)
Apply preconditioner to r.
Definition: general_purpose_space_time_block_preconditioner.cc:600
bool Compute_memory_statistics
Definition: general_purpose_space_time_block_preconditioner.h:397
bool Upper_triangular
Boolean indicating upper or lower triangular.
Definition: general_purpose_space_time_block_preconditioner.h:389
bool is_upper_triangular()
Is this being used as an upper triangular preconditioner?
Definition: general_purpose_space_time_block_preconditioner.h:303
void disable_doc_memory_usage()
Don't document the memory usage!
Definition: general_purpose_space_time_block_preconditioner.h:319
BandedBlockTriangularPreconditioner()
Constructor. (By default this preconditioner is upper triangular).
Definition: general_purpose_space_time_block_preconditioner.h:202
void upper_triangular()
Use as an upper triangular preconditioner.
Definition: general_purpose_space_time_block_preconditioner.h:287
int block_bandwidth()
Get the block bandwidth of the preconditioner.
Definition: general_purpose_space_time_block_preconditioner.h:279
void lower_triangular()
Use as a lower triangular preconditioner.
Definition: general_purpose_space_time_block_preconditioner.h:295
double Memory_usage_in_bytes
Definition: general_purpose_space_time_block_preconditioner.h:401
int Block_bandwidth
Definition: general_purpose_space_time_block_preconditioner.h:386
BandedBlockTriangularPreconditioner(const BandedBlockTriangularPreconditioner &)=delete
Broken copy constructor.
virtual ~BandedBlockTriangularPreconditioner()
Destructor - delete the preconditioner matrices.
Definition: general_purpose_space_time_block_preconditioner.h:223
void set_block_bandwidth(const int &block_bandwidth)
Set the block bandwidth of the preconditioner.
Definition: general_purpose_space_time_block_preconditioner.h:271
void operator=(const BandedBlockTriangularPreconditioner &)=delete
Broken assignment operator.
double get_memory_usage_in_bytes()
Get the memory statistics.
Definition: general_purpose_space_time_block_preconditioner.h:327
Definition: matrices.h:386
Definition: double_vector.h:58
Definition: general_purpose_space_time_block_preconditioner.h:59
void enable_doc_memory_usage()
Document the memory usage.
Definition: general_purpose_space_time_block_preconditioner.h:106
ExactDGPBlockPreconditioner()
Constructor. (By default this preconditioner is upper triangular).
Definition: general_purpose_space_time_block_preconditioner.h:62
void operator=(const ExactDGPBlockPreconditioner &)=delete
Broken assignment operator.
bool Compute_memory_statistics
Definition: general_purpose_space_time_block_preconditioner.h:180
virtual void clean_up_memory()
Clean up the memory.
Definition: general_purpose_space_time_block_preconditioner.h:84
void disable_doc_memory_usage()
Don't document the memory usage!
Definition: general_purpose_space_time_block_preconditioner.h:114
bool Preconditioner_has_been_setup
Definition: general_purpose_space_time_block_preconditioner.h:176
void setup()
Setup the preconditioner.
Definition: general_purpose_space_time_block_preconditioner.cc:42
virtual ~ExactDGPBlockPreconditioner()
Destructor - delete the preconditioner matrices.
Definition: general_purpose_space_time_block_preconditioner.h:76
void preconditioner_solve(const DoubleVector &r, DoubleVector &z)
Apply preconditioner to r.
Definition: general_purpose_space_time_block_preconditioner.cc:181
double get_memory_usage_in_bytes()
Get the memory statistics.
Definition: general_purpose_space_time_block_preconditioner.h:122
ExactDGPBlockPreconditioner(const ExactDGPBlockPreconditioner &)=delete
Broken copy constructor.
double Memory_usage_in_bytes
Definition: general_purpose_space_time_block_preconditioner.h:184
Definition: general_purpose_block_preconditioners.h:77
virtual void clean_up_memory()
Definition: general_purpose_block_preconditioners.h:112
Definition: oomph_definitions.h:267
DRAIG: Change all instances of (SPATIAL_DIM) to (DIM-1).
Definition: AnisotropicHookean.h:10
#define OOMPH_EXCEPTION_LOCATION
Definition: oomph_definitions.h:61
#define OOMPH_CURRENT_FUNCTION
Definition: oomph_definitions.h:86
std::ptrdiff_t j
Definition: tut_arithmetic_redux_minmax.cpp:2