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

#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 &)
 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 509 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 520 of file pseudo_elastic_preconditioner.h.

Constructor & Destructor Documentation

◆ PseudoElasticPreconditionerSubsidiaryPreconditionerOld() [1/2]

oomph::PseudoElasticPreconditionerSubsidiaryPreconditionerOld::PseudoElasticPreconditionerSubsidiaryPreconditionerOld ( )
inline

Constructor.

Definition at line 523 of file pseudo_elastic_preconditioner.h.

◆ ~PseudoElasticPreconditionerSubsidiaryPreconditionerOld()

oomph::PseudoElasticPreconditionerSubsidiaryPreconditionerOld::~PseudoElasticPreconditionerSubsidiaryPreconditionerOld ( )
inline

Destructor.

Definition at line 531 of file pseudo_elastic_preconditioner.h.

◆ PseudoElasticPreconditionerSubsidiaryPreconditionerOld() [2/2]

oomph::PseudoElasticPreconditionerSubsidiaryPreconditionerOld::PseudoElasticPreconditionerSubsidiaryPreconditionerOld ( const PseudoElasticPreconditionerSubsidiaryPreconditionerOld )
inline

Broken copy constructor.

Definition at line 538 of file pseudo_elastic_preconditioner.h.

Member Function Documentation

◆ clean_up_memory()

void oomph::PseudoElasticPreconditionerSubsidiaryPreconditionerOld::clean_up_memory ( )
inlineprivate

clears the memory

Definition at line 574 of file pseudo_elastic_preconditioner.h.

◆ preconditioner_solve()

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

Apply the preconditioner.

Definition at line 924 of file pseudo_elastic_preconditioner.cc.

References oomph::PseudoElasticPreconditionerSubsidiaryBlockPreconditionerOld::clean_up_memory().

Referenced by setup().

◆ scaling()

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

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

Definition at line 559 of file pseudo_elastic_preconditioner.h.

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 566 of file pseudo_elastic_preconditioner.h.

◆ setup()

void oomph::PseudoElasticPreconditionerSubsidiaryPreconditionerOld::setup ( )

Broken assignment operator.

Setup the preconditioner.

Definition at line 838 of file pseudo_elastic_preconditioner.cc.

References preconditioner_solve().

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

Member Data Documentation

◆ Preconditioner_pt

Preconditioner* oomph::PseudoElasticPreconditionerSubsidiaryPreconditionerOld::Preconditioner_pt
private

the preconditioner pt

Definition at line 584 of file pseudo_elastic_preconditioner.h.

◆ Scaling

double oomph::PseudoElasticPreconditionerSubsidiaryPreconditionerOld::Scaling
private

Definition at line 581 of file pseudo_elastic_preconditioner.h.

◆ Subsidiary_preconditioner_function_pt

SubsidiaryPreconditionerFctPt oomph::PseudoElasticPreconditionerSubsidiaryPreconditionerOld::Subsidiary_preconditioner_function_pt
private

the SubisidaryPreconditionerFctPt

Definition at line 587 of file pseudo_elastic_preconditioner.h.


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