Public Member Functions | List of all members
oomph::IdentityPreconditioner Class Reference

The Identity Preconditioner. More...

#include <preconditioner.h>

+ Inheritance diagram for oomph::IdentityPreconditioner:

Public Member Functions

 IdentityPreconditioner ()
 
 IdentityPreconditioner (const IdentityPreconditioner &)=delete
 Broken copy constructor. More...
 
void operator= (const IdentityPreconditioner &)=delete
 Broken assignment operator. More...
 
virtual ~IdentityPreconditioner ()
 Destructor (empty) More...
 
virtual void setup ()
 setup method - just sets the distribution More...
 
virtual void preconditioner_solve (const DoubleVector &r, DoubleVector &z)
 Apply the preconditioner. This method should apply the preconditioner operator to the vector r and return the vector z. More...
 
void preconditioner_solve_transpose (const DoubleVector &r, DoubleVector &z)
 Apply the preconditioner. This method should apply the preconditioner operator to the vector r and return the vector z. More...
 
- Public Member Functions inherited from oomph::Preconditioner
 Preconditioner ()
 Constructor. More...
 
 Preconditioner (const Preconditioner &)=delete
 Broken copy constructor. More...
 
void operator= (const Preconditioner &)=delete
 Broken assignment operator. More...
 
virtual ~Preconditioner ()
 Destructor (empty) More...
 
void setup (DoubleMatrixBase *matrix_pt)
 Setup the preconditioner: store the matrix pointer and the communicator pointer then call preconditioner specific setup() function. More...
 
void setup (const Problem *problem_pt, DoubleMatrixBase *matrix_pt)
 Compatability layer for old preconditioners where problem pointers were needed. The problem pointer is only used to get a communicator pointer. More...
 
void enable_silent_preconditioner_setup ()
 Set up the block preconditioner quietly! More...
 
void disable_silent_preconditioner_setup ()
 Be verbose in the block preconditioner setup. More...
 
virtual void clean_up_memory ()
 Clean up memory (empty). Generic interface function. More...
 
virtual DoubleMatrixBasematrix_pt () const
 Get function for matrix pointer. More...
 
virtual void set_matrix_pt (DoubleMatrixBase *matrix_pt)
 Set the matrix pointer. More...
 
virtual const OomphCommunicatorcomm_pt () const
 Get function for comm pointer. More...
 
virtual void set_comm_pt (const OomphCommunicator *const comm_pt)
 Set the communicator pointer. More...
 
double setup_time () const
 Returns the time to setup the preconditioner. More...
 
virtual void turn_into_subsidiary_block_preconditioner (BlockPreconditioner< CRDoubleMatrix > *master_block_prec_pt, const Vector< unsigned > &doftype_in_master_preconditioner_coarse)
 Virtual interface function for making a preconditioner a subsidiary of a block preconditioner. By default nothing is needed, but if this preconditioner is also a block preconditioner then things need to happen. There's an assumption here that the block preconditioner will be in CR form but since that assumption is hard coded all over BlockPreconditioner we're safe. More...
 
virtual void turn_into_subsidiary_block_preconditioner (BlockPreconditioner< CRDoubleMatrix > *master_block_prec_pt, const Vector< unsigned > &doftype_in_master_preconditioner_coarse, const Vector< Vector< unsigned > > &doftype_coarsen_map_coarse)
 Virtual interface function for making a preconditioner a subsidiary of a block preconditioner. By default nothing is needed, but if this preconditioner is also a block preconditioner then things need to happen. Version for coarsening dof-types. More...
 
- Public Member Functions inherited from oomph::DistributableLinearAlgebraObject
 DistributableLinearAlgebraObject ()
 Default constructor - create a distribution. More...
 
 DistributableLinearAlgebraObject (const DistributableLinearAlgebraObject &matrix)=delete
 Broken copy constructor. More...
 
void operator= (const DistributableLinearAlgebraObject &)=delete
 Broken assignment operator. More...
 
virtual ~DistributableLinearAlgebraObject ()
 Destructor. More...
 
LinearAlgebraDistributiondistribution_pt () const
 access to the LinearAlgebraDistribution More...
 
unsigned nrow () const
 access function to the number of global rows. More...
 
unsigned nrow_local () const
 access function for the num of local rows on this processor. More...
 
unsigned nrow_local (const unsigned &p) const
 access function for the num of local rows on this processor. More...
 
unsigned first_row () const
 access function for the first row on this processor More...
 
unsigned first_row (const unsigned &p) const
 access function for the first row on this processor More...
 
bool distributed () const
 distribution is serial or distributed More...
 
bool distribution_built () const
 if the communicator_pt is null then the distribution is not setup then false is returned, otherwise return true More...
 
void build_distribution (const LinearAlgebraDistribution *const dist_pt)
 setup the distribution of this distributable linear algebra object More...
 
void build_distribution (const LinearAlgebraDistribution &dist)
 setup the distribution of this distributable linear algebra object More...
 

Additional Inherited Members

- Protected Member Functions inherited from oomph::DistributableLinearAlgebraObject
void clear_distribution ()
 clear the distribution of this distributable linear algebra object More...
 
- Protected Attributes inherited from oomph::Preconditioner
bool Silent_preconditioner_setup
 Boolean to indicate whether or not the build should be done silently. More...
 
std::ostream * Stream_pt
 Pointer to the output stream – defaults to std::cout. More...
 

Detailed Description

The Identity Preconditioner.

Definition at line 251 of file preconditioner.h.

Constructor & Destructor Documentation

◆ IdentityPreconditioner() [1/2]

oomph::IdentityPreconditioner::IdentityPreconditioner ( )
inline

Definition at line 255 of file preconditioner.h.

◆ IdentityPreconditioner() [2/2]

oomph::IdentityPreconditioner::IdentityPreconditioner ( const IdentityPreconditioner )
delete

Broken copy constructor.

◆ ~IdentityPreconditioner()

virtual oomph::IdentityPreconditioner::~IdentityPreconditioner ( )
inlinevirtual

Destructor (empty)

Definition at line 264 of file preconditioner.h.

Member Function Documentation

◆ operator=()

void oomph::IdentityPreconditioner::operator= ( const IdentityPreconditioner )
delete

Broken assignment operator.

◆ preconditioner_solve()

virtual void oomph::IdentityPreconditioner::preconditioner_solve ( const DoubleVector r,
DoubleVector z 
)
inlinevirtual

Apply the preconditioner. This method should apply the preconditioner operator to the vector r and return the vector z.

Implements oomph::Preconditioner.

Definition at line 292 of file preconditioner.h.

References oomph::DoubleVector::built(), and oomph::DistributableLinearAlgebraObject::distribution_pt().

Referenced by preconditioner_solve_transpose().

◆ preconditioner_solve_transpose()

void oomph::IdentityPreconditioner::preconditioner_solve_transpose ( const DoubleVector r,
DoubleVector z 
)
inlinevirtual

Apply the preconditioner. This method should apply the preconditioner operator to the vector r and return the vector z.

Reimplemented from oomph::Preconditioner.

Definition at line 328 of file preconditioner.h.

References preconditioner_solve().

◆ setup()

virtual void oomph::IdentityPreconditioner::setup ( )
inlinevirtual

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