Solv_AMG#
#include <Solv_AMG.h>
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#
SolveurSys_base (public)
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)
Member Functions: Public#
Member Functions: Static Public#
Member Functions: Protected#
Member Functions: Private#
Complete Member Function Documentation#
duplique#
int Solv_AMG::duplique() const override
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#
const Type_info * Solv_AMG::get_info() const override
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#
int Solv_AMG::resoudre_systeme(const Matrice_Base &mat, const DoubleVect &b, DoubleVect &x) override
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#
virtual int Solv_AMG::resoudre_systeme(const Matrice_Base &mat, const DoubleVect &b, DoubleVect &x, int niter_max) override
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#
Solv_AMG::Solv_AMG()
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#
virtual int Solv_AMG::solveur_direct() const override
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#
unsigned Solv_AMG::taille_memoire() const override
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#
Solv_AMG::~Solv_AMG()
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#
Objet_U * Solv_AMG::cree_instance()
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#
const Type_info * Solv_AMG::info()
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#
const Solv_AMG & Solv_AMG::self_cast(const Objet_U &)
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#
Solv_AMG & Solv_AMG::self_cast(Objet_U &)
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#
Sortie & Solv_AMG::printOn(Sortie &x) const override
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#
Entree & Solv_AMG::readOn(Entree &) override
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:
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#
void Solv_AMG::create_amg()
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#
void Solv_AMG::create_block_amg(int, Nom)
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#
const Type_info Solv_AMG::info_obj
double Solv_AMG::atol_ = - 1
bool Solv_AMG::impr_ = false
Nom Solv_AMG::library_ = ""
Nom Solv_AMG::options_ = ""
bool Solv_AMG::petsc_cg_issue_ = false
double Solv_AMG::rtol_ = - 1
Nom Solv_AMG::solver_ = ""
SolveurSys Solv_AMG::solveur_
double Solv_AMG::st_ = - 1