Solv_AMG#

#include <Solv_AMG.h>
Brief description

AMD solver wrapper to switch to the more robust/performant AMG preconditioner on CPU/GPU Nvidia/GPU AMD and have datafile unicity, as changing solver/preconditioner for different architecture is painful.

How to reference this class#

Copy the following pieces of RST/Markdown code to cite this element in other parts of the sphinx documentation (there is a copy button on the top-right when hovering the code block):

:ref:`Solv\_AMG <class-solv-amg>`
[Solv\_AMG](#class-solv-amg)

Detailed description#

Inherits from#

Inheritance graph#

If the image is too small, right-click and open in new tab

How to reference this graph

Copy the following pieces of RST/Markdown code to cite this element in other parts of the sphinx documentation (there is a copy button on the top-right when hovering the code block):

:ref:`Solv_AMG Inheritance Graph <solv-amg-inherit-graph>`
[Solv_AMG Inheritance Graph](#solv-amg-inherit-graph)
../../../../_images/classSolv__AMG__inherit__graph.png

Member Functions: Public#

Member Functions: Static Public#

Member Functions: Protected#

Member Functions: Private#

Complete Member Function Documentation#

duplique#

Definition
int Solv_AMG::duplique() const override
Brief description
Detailed description

Reimplements:

How to reference this method:

Copy the following pieces of RST/Markdown code to cite this element in other parts of the sphinx documentation (there is a copy button on the top-right when hovering the code block):

:ref:`int Solv_AMG::duplique() const override <solv-amg-public-int-solv-amg-duplique-const-override>`
[int Solv_AMG::duplique() const override](#solv-amg-public-int-solv-amg-duplique-const-override)

get_info#

Definition
const Type_info * Solv_AMG::get_info() const override
Brief description

Donne des informations sur le type de l’ Objet_U .

Detailed description

Reimplements:

How to reference this method:

Copy the following pieces of RST/Markdown code to cite this element in other parts of the sphinx documentation (there is a copy button on the top-right when hovering the code block):

:ref:`const Type_info * Solv_AMG::get_info() const override <solv-amg-public-const-type-info-ptr-solv-amg-get-info-const-override>`
[const Type_info * Solv_AMG::get_info() const override](#solv-amg-public-const-type-info-ptr-solv-amg-get-info-const-override)

resoudre_systeme#

Definition
int Solv_AMG::resoudre_systeme(const Matrice_Base &mat, const DoubleVect &b, DoubleVect &x) override
Brief description
Detailed description

Reimplements:

References
How to reference this method:

Copy the following pieces of RST/Markdown code to cite this element in other parts of the sphinx documentation (there is a copy button on the top-right when hovering the code block):

:ref:`int Solv_AMG::resoudre_systeme(const Matrice_Base &mat, const DoubleVect &b, DoubleVect &x) override <solv-amg-public-int-solv-amg-resoudre-systeme-const-matrice-base-ref-mat-const-doublevect-ref-b-doublevect-ref-x-override>`
[int Solv_AMG::resoudre_systeme(const Matrice_Base &mat, const DoubleVect &b, DoubleVect &x) override](#solv-amg-public-int-solv-amg-resoudre-systeme-const-matrice-base-ref-mat-const-doublevect-ref-b-doublevect-ref-x-override)

resoudre_systeme#

Definition
virtual int Solv_AMG::resoudre_systeme(const Matrice_Base &mat, const DoubleVect &b, DoubleVect &x, int niter_max) override
Brief description
Detailed description

Reimplements:

References
How to reference this method:

Copy the following pieces of RST/Markdown code to cite this element in other parts of the sphinx documentation (there is a copy button on the top-right when hovering the code block):

:ref:`virtual int Solv_AMG::resoudre_systeme(const Matrice_Base &mat, const DoubleVect &b, DoubleVect &x, int niter_max) override <solv-amg-public-virtual-int-solv-amg-resoudre-systeme-const-matrice-base-ref-mat-const-doublevect-ref-b-doublevect-ref-x-int-niter-max-override>`
[virtual int Solv_AMG::resoudre_systeme(const Matrice_Base &mat, const DoubleVect &b, DoubleVect &x, int niter_max) override](#solv-amg-public-virtual-int-solv-amg-resoudre-systeme-const-matrice-base-ref-mat-const-doublevect-ref-b-doublevect-ref-x-int-niter-max-override)

Solv_AMG#

Definition
Solv_AMG::Solv_AMG()
Brief description
Detailed description
How to reference this method:

Copy the following pieces of RST/Markdown code to cite this element in other parts of the sphinx documentation (there is a copy button on the top-right when hovering the code block):

:ref:`Solv_AMG::Solv_AMG() <solv-amg-public-solv-amg-solv-amg>`
[Solv_AMG::Solv_AMG()](#solv-amg-public-solv-amg-solv-amg)

solveur_direct#

Definition
virtual int Solv_AMG::solveur_direct() const override
Brief description
Detailed description

Reimplements:

How to reference this method:

Copy the following pieces of RST/Markdown code to cite this element in other parts of the sphinx documentation (there is a copy button on the top-right when hovering the code block):

:ref:`virtual int Solv_AMG::solveur_direct() const override <solv-amg-public-virtual-int-solv-amg-solveur-direct-const-override>`
[virtual int Solv_AMG::solveur_direct() const override](#solv-amg-public-virtual-int-solv-amg-solveur-direct-const-override)

taille_memoire#

Definition
unsigned Solv_AMG::taille_memoire() const override
Brief description
Detailed description

Reimplements:

How to reference this method:

Copy the following pieces of RST/Markdown code to cite this element in other parts of the sphinx documentation (there is a copy button on the top-right when hovering the code block):

:ref:`unsigned Solv_AMG::taille_memoire() const override <solv-amg-public-unsigned-solv-amg-taille-memoire-const-override>`
[unsigned Solv_AMG::taille_memoire() const override](#solv-amg-public-unsigned-solv-amg-taille-memoire-const-override)

~Solv_AMG#

Definition
Solv_AMG::~Solv_AMG()
Brief description
Detailed description
How to reference this method:

Copy the following pieces of RST/Markdown code to cite this element in other parts of the sphinx documentation (there is a copy button on the top-right when hovering the code block):

:ref:`Solv_AMG::~Solv_AMG() <solv-amg-public-solv-amg-dtor-solv-amg>`
[Solv_AMG::~Solv_AMG()](#solv-amg-public-solv-amg-dtor-solv-amg)

cree_instance#

Definition
Objet_U * Solv_AMG::cree_instance()
Brief description
Detailed description
How to reference this method:

Copy the following pieces of RST/Markdown code to cite this element in other parts of the sphinx documentation (there is a copy button on the top-right when hovering the code block):

:ref:`Objet_U * Solv_AMG::cree_instance() <solv-amg-public-static-objet-u-ptr-solv-amg-cree-instance>`
[Objet_U * Solv_AMG::cree_instance()](#solv-amg-public-static-objet-u-ptr-solv-amg-cree-instance)

info#

Definition
const Type_info * Solv_AMG::info()
Brief description
Detailed description
How to reference this method:

Copy the following pieces of RST/Markdown code to cite this element in other parts of the sphinx documentation (there is a copy button on the top-right when hovering the code block):

:ref:`const Type_info * Solv_AMG::info() <solv-amg-public-static-const-type-info-ptr-solv-amg-info>`
[const Type_info * Solv_AMG::info()](#solv-amg-public-static-const-type-info-ptr-solv-amg-info)

self_cast#

Definition
const Solv_AMG & Solv_AMG::self_cast(const Objet_U &)
Brief description
Detailed description
How to reference this method:

Copy the following pieces of RST/Markdown code to cite this element in other parts of the sphinx documentation (there is a copy button on the top-right when hovering the code block):

:ref:`const Solv_AMG & Solv_AMG::self_cast(const Objet_U &) <solv-amg-public-static-const-solv-amg-ref-solv-amg-self-cast-const-objet-u-ref>`
[const Solv_AMG & Solv_AMG::self_cast(const Objet_U &)](#solv-amg-public-static-const-solv-amg-ref-solv-amg-self-cast-const-objet-u-ref)

self_cast#

Definition
Solv_AMG & Solv_AMG::self_cast(Objet_U &)
Brief description
Detailed description
How to reference this method:

Copy the following pieces of RST/Markdown code to cite this element in other parts of the sphinx documentation (there is a copy button on the top-right when hovering the code block):

:ref:`Solv_AMG & Solv_AMG::self_cast(Objet_U &) <solv-amg-public-static-solv-amg-ref-solv-amg-self-cast-objet-u-ref>`
[Solv_AMG & Solv_AMG::self_cast(Objet_U &)](#solv-amg-public-static-solv-amg-ref-solv-amg-self-cast-objet-u-ref)

printOn#

Definition
Sortie & Solv_AMG::printOn(Sortie &x) const override
Brief description

Ecriture de l’objet sur un flot de sortie Methode a surcharger.

Detailed description

Reimplements:

References
How to reference this method:

Copy the following pieces of RST/Markdown code to cite this element in other parts of the sphinx documentation (there is a copy button on the top-right when hovering the code block):

:ref:`Sortie & Solv_AMG::printOn(Sortie &x) const override <solv-amg-protected-sortie-ref-solv-amg-printon-sortie-ref-x-const-override>`
[Sortie & Solv_AMG::printOn(Sortie &x) const override](#solv-amg-protected-sortie-ref-solv-amg-printon-sortie-ref-x-const-override)

readOn#

Definition
Entree & Solv_AMG::readOn(Entree &) override
Brief description

Reads the configuration for the AMG solver from the input stream.

Detailed description

This function parses the input stream to configure the AMG solver parameters, including the relative tolerance (RTOL), absolute tolerance (ATOL), and whether to print additional information (IMPR). It supports different solver libraries based on the available hardware (CPU or GPU). The expected input format is: amg solver { rtol value [impr] }

Reimplements:

References
How to reference this method:

Copy the following pieces of RST/Markdown code to cite this element in other parts of the sphinx documentation (there is a copy button on the top-right when hovering the code block):

:ref:`Entree & Solv_AMG::readOn(Entree &) override <solv-amg-protected-entree-ref-solv-amg-readon-entree-ref-override>`
[Entree & Solv_AMG::readOn(Entree &) override](#solv-amg-protected-entree-ref-solv-amg-readon-entree-ref-override)

create_amg#

Definition
void Solv_AMG::create_amg()
Brief description
Detailed description
How to reference this method:

Copy the following pieces of RST/Markdown code to cite this element in other parts of the sphinx documentation (there is a copy button on the top-right when hovering the code block):

:ref:`void Solv_AMG::create_amg() <solv-amg-private-void-solv-amg-create-amg>`
[void Solv_AMG::create_amg()](#solv-amg-private-void-solv-amg-create-amg)

create_block_amg#

Definition
void Solv_AMG::create_block_amg(int, Nom)
Brief description
Detailed description
How to reference this method:

Copy the following pieces of RST/Markdown code to cite this element in other parts of the sphinx documentation (there is a copy button on the top-right when hovering the code block):

:ref:`void Solv_AMG::create_block_amg(int, Nom) <solv-amg-private-void-solv-amg-create-block-amg-int-nom>`
[void Solv_AMG::create_block_amg(int, Nom)](#solv-amg-private-void-solv-amg-create-block-amg-int-nom)

Attributes Documentation#

info_obj (public)
const Type_info Solv_AMG::info_obj
atol_ (private)
double Solv_AMG::atol_ = - 1
impr_ (private)
bool Solv_AMG::impr_ = false
library_ (private)
Nom Solv_AMG::library_ = ""
options_ (private)
Nom Solv_AMG::options_ = ""
petsc_cg_issue_ (private)
bool Solv_AMG::petsc_cg_issue_ = false
rtol_ (private)
double Solv_AMG::rtol_ = - 1
solver_ (private)
Nom Solv_AMG::solver_ = ""
solveur_ (private)
SolveurSys Solv_AMG::solveur_
st_ (private)
double Solv_AMG::st_ = - 1