Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
oomph::PseudoElasticPreconditionerSubsidiaryPreconditionerOld Class Reference

///////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////// More...

#include <pseudo_elastic_preconditioner.h>

Inheritance diagram for oomph::PseudoElasticPreconditionerSubsidiaryPreconditionerOld:

Public Types

typedef Preconditioner *(* SubsidiaryPreconditionerFctPt) ()
 typedef for a function that allows other preconditioners to be emplyed to solve the subsidiary linear systems. The function should return a pointer to the requred subsidiary preconditioner generated using new. This preconditioner is responsible for the destruction of the subsidiary preconditioners. More...
 

Public Member Functions

 PseudoElasticPreconditionerSubsidiaryPreconditionerOld ()
 Constructor. More...
 
 ~PseudoElasticPreconditionerSubsidiaryPreconditionerOld ()
 Destructor. More...
 
 PseudoElasticPreconditionerSubsidiaryPreconditionerOld (const PseudoElasticPreconditionerSubsidiaryPreconditionerOld &)=delete
 Broken copy constructor. More...
 
void setup ()
 Broken assignment operator. More...
 
void preconditioner_solve (const DoubleVector &r, DoubleVector &z)
 Apply the preconditioner. More...
 
double & scaling ()
 Specify the scaling. Default is 1.0 Must be called before setup(...). More...
 
void set_subsidiary_preconditioner_function (SubsidiaryPreconditionerFctPt sub_prec_fn)
 access function to set the subsidiary preconditioner function. More...
 

Private Member Functions

void clean_up_memory ()
 clears the memory More...
 

Private Attributes

double Scaling
 
Preconditioner * Preconditioner_pt
 the preconditioner pt More...
 
SubsidiaryPreconditionerFctPt Subsidiary_preconditioner_function_pt
 the SubisidaryPreconditionerFctPt More...
 

Detailed Description

///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////

Subsidiary helper preconditioner for the PseudoElasticPreconditioner. Required to construct the augmented elastic system prior to preconditioning. NOTE:

  1. This is only intended to be used as a subsidiary preconditioner within the PseudoElasticPreconditioner.
  2. If this preconditioner has N DOF types then the first N/2 are assumed to be ordinary solid DOF types, and the second N/2 are the solid DOF types with lagrange multiplier tractions applied.
  3. By default this preconditioner uses a superlu preconditioner.

Definition at line 495 of file pseudo_elastic_preconditioner.h.

Member Typedef Documentation

◆ SubsidiaryPreconditionerFctPt

typedef Preconditioner*(* oomph::PseudoElasticPreconditionerSubsidiaryPreconditionerOld::SubsidiaryPreconditionerFctPt) ()

typedef for a function that allows other preconditioners to be emplyed to solve the subsidiary linear systems. The function should return a pointer to the requred subsidiary preconditioner generated using new. This preconditioner is responsible for the destruction of the subsidiary preconditioners.

Definition at line 504 of file pseudo_elastic_preconditioner.h.

Constructor & Destructor Documentation

◆ PseudoElasticPreconditionerSubsidiaryPreconditionerOld() [1/2]

oomph::PseudoElasticPreconditionerSubsidiaryPreconditionerOld::PseudoElasticPreconditionerSubsidiaryPreconditionerOld ( )
inline

Constructor.

Definition at line 507 of file pseudo_elastic_preconditioner.h.

References Preconditioner_pt, Scaling, and Subsidiary_preconditioner_function_pt.

◆ ~PseudoElasticPreconditionerSubsidiaryPreconditionerOld()

oomph::PseudoElasticPreconditionerSubsidiaryPreconditionerOld::~PseudoElasticPreconditionerSubsidiaryPreconditionerOld ( )
inline

Destructor.

Definition at line 515 of file pseudo_elastic_preconditioner.h.

References clean_up_memory().

◆ PseudoElasticPreconditionerSubsidiaryPreconditionerOld() [2/2]

oomph::PseudoElasticPreconditionerSubsidiaryPreconditionerOld::PseudoElasticPreconditionerSubsidiaryPreconditionerOld ( const PseudoElasticPreconditionerSubsidiaryPreconditionerOld )
delete

Broken copy constructor.

Member Function Documentation

◆ clean_up_memory()

void oomph::PseudoElasticPreconditionerSubsidiaryPreconditionerOld::clean_up_memory ( )
inlineprivate

clears the memory

Definition at line 550 of file pseudo_elastic_preconditioner.h.

References Preconditioner_pt.

Referenced by setup(), and ~PseudoElasticPreconditionerSubsidiaryPreconditionerOld().

◆ preconditioner_solve()

void oomph::PseudoElasticPreconditionerSubsidiaryPreconditionerOld::preconditioner_solve ( const DoubleVector &  r,
DoubleVector &  z 
)

Apply the preconditioner.

Definition at line 896 of file pseudo_elastic_preconditioner.cc.

References Preconditioner_pt.

◆ scaling()

double& oomph::PseudoElasticPreconditionerSubsidiaryPreconditionerOld::scaling ( )
inline

Specify the scaling. Default is 1.0 Must be called before setup(...).

Definition at line 536 of file pseudo_elastic_preconditioner.h.

References Scaling.

Referenced by oomph::PseudoElasticPreconditionerOld::setup().

◆ set_subsidiary_preconditioner_function()

void oomph::PseudoElasticPreconditionerSubsidiaryPreconditionerOld::set_subsidiary_preconditioner_function ( SubsidiaryPreconditionerFctPt  sub_prec_fn)
inline

access function to set the subsidiary preconditioner function.

Definition at line 542 of file pseudo_elastic_preconditioner.h.

References Subsidiary_preconditioner_function_pt.

Referenced by oomph::PseudoElasticPreconditionerOld::setup().

◆ setup()

void oomph::PseudoElasticPreconditionerSubsidiaryPreconditionerOld::setup ( )

Broken assignment operator.

//////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////

Setup the preconditioner

Definition at line 813 of file pseudo_elastic_preconditioner.cc.

References clean_up_memory(), Preconditioner_pt, Scaling, and Subsidiary_preconditioner_function_pt.

Member Data Documentation

◆ Preconditioner_pt

Preconditioner* oomph::PseudoElasticPreconditionerSubsidiaryPreconditionerOld::Preconditioner_pt
private

◆ Scaling

double oomph::PseudoElasticPreconditionerSubsidiaryPreconditionerOld::Scaling
private

◆ Subsidiary_preconditioner_function_pt

SubsidiaryPreconditionerFctPt oomph::PseudoElasticPreconditionerSubsidiaryPreconditionerOld::Subsidiary_preconditioner_function_pt
private

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