16#include <SolveurPP1B.h>
17#include <Champ_P1_isoP1Bulle.h>
19#include <Perf_counters.h>
38 const DoubleVect& second_membre,
42 statistics().end_count(STD_COUNTERS::system_solver,-1,0);
44 assembleur_pression_->changer_base_second_membre(
b_);
45 assembleur_pression_->changer_base_pression(x);
54 Cerr <<
"************** Advice (printed only on the first 100 time steps) **************" << finl;
55 Cerr <<
"You should use AMG (Algebric Multigrid) solver for your pressure solver problem" << finl;
56 Cerr <<
"which benefits from the block P0P1 structure of the pressure matrix." << finl;
57 Cerr <<
"Something like: solveur_pression AMG GCP { atol|rtol XXX impr } " << finl;
58 Cerr <<
"For the caracteristics of your problem, it will have much faster convergence !" << finl;
59 Cerr <<
"*******************************************************************************" << finl << finl;
62 assembleur_pression_->changer_base_pression_inverse(x);
63 statistics().begin_count(STD_COUNTERS::system_solver,statistics().get_last_opened_counter_level()+1);
82 assembleur_pression_=assembleur_pression;
Class defining operators and methods for all reading operation in an input flow (file,...
Matrice_Base class - Base class of the matrix hierarchy.
const Nom & que_suis_je() const
Returns the string identifying the class.
virtual Entree & readOn(Entree &)
Reads an Objet_U from an input stream. Virtual method to override.
virtual Sortie & printOn(Sortie &) const
Writes the object to an output stream. Virtual method to override.
static int nproc()
Returns the number of processors in the current group. See Comm_Group::nproc() and PE_Groups::current...
AMD solver wrapper to switch to the more robust/performant AMG preconditioner on CPU/GPU Nvidia/GPU A...
int associer(const Assembleur_P_VEFPreP1B &, const SolveurSys &)
SolveurSys solveur_pression_
int resoudre_systeme(const Matrice_Base &, const DoubleVect &, DoubleVect &) override
class SolveurSys A SolveurSys represents any class
Base class for output streams.
_SIZE_ size_array() const