Matrice d'un système linéaire. Plus de détails...
#include <arcane/aleph/AlephMatrix.h>
Fonctions membres publiques | |
AlephMatrix (AlephKernel *) | |
void | create (void) |
void | create (IntegerConstArrayView, bool=false) |
void | create_really (void) |
create_really transmet l'ordre de création à la bibliothèque externe | |
void | reset (void) |
reset pour flusher les tableaux des [set&add]Value | |
Integer | reIdx (Integer, Array< Int32 * > &) |
reIdx recherche la correspondance de l'AlephIndexing | |
void | reSetValuesIn (AlephMatrix *, Array< Int32 * > &) |
reSetValuesIn rejoue les setValue avec les indexes calculés via l'AlephIndexing | |
void | reAddValuesIn (AlephMatrix *, Array< Int32 * > &) |
reAddValuesIn rejoue les addValue avec les indexes calculés via l'AlephIndexing | |
void | updateKnownRowCol (Integer, Integer, Real) |
void | rowMapMapCol (Integer, Integer, Real) |
void | addValue (const VariableRef &, const Item &, const VariableRef &, const Item &, const Real) |
void | addValue (const VariableRef &, const ItemEnumerator &, const VariableRef &, const ItemEnumerator &, const Real) |
addValue à partir d'arguments en IVariables, Items et Real | |
void | setValue (const VariableRef &, const Item &, const VariableRef &, const Item &, const Real) |
setValue à partir d'arguments en IVariables, Items et Real | |
void | setValue (const VariableRef &, const ItemEnumerator &, const VariableRef &, const ItemEnumerator &, const Real) |
setValue à partir d'arguments en IVariables, ItemEnumerator et Real | |
void | addValue (Integer, Integer, Real) |
addValue standard en (i,j,val) | |
void | setValue (Integer, Integer, Real) |
setValue standard à partir d'arguments (row,col,val) | |
void | writeToFile (const String) |
Déclenche l'écriture de la matrice dans un fichier. | |
void | startFilling () |
Permet de spécifier le début d'une phase de remplissage. | |
void | assemble () |
assemble les matrices avant résolution | |
void | assemble_waitAndFill () |
assemble_waitAndFill attend que les requètes précédemment postées aient été traitées | |
void | reassemble (Integer &, Real *) |
Déclenche l'ordre de récupération des résultats. | |
void | reassemble_waitAndFill (Integer &, Real *) |
Synchronise les réceptions des résultats. | |
void | solve (AlephVector *, AlephVector *, Integer &, Real *, AlephParams *, bool=false) |
'Poste' le solver au scheduler de façon asynchrone ou pas | |
void | solveNow (AlephVector *, AlephVector *, AlephVector *, Integer &, Real *, AlephParams *) |
Résout le système linéraire. | |
![]() | |
TraceAccessor (ITraceMng *m) | |
Construit un accesseur via le gestionnaire de trace m. | |
TraceAccessor (const TraceAccessor &rhs) | |
Constructeur par recopie. | |
TraceAccessor & | operator= (const TraceAccessor &rhs) |
Opérateur de recopie. | |
virtual | ~TraceAccessor () |
Libère les ressources. | |
ITraceMng * | traceMng () const |
Gestionnaire de trace. | |
TraceMessage | info () const |
Flot pour un message d'information. | |
TraceMessage | pinfo () const |
Flot pour un message d'information en parallèle. | |
TraceMessage | info (char category) const |
Flot pour un message d'information d'une catégorie donnée. | |
TraceMessage | pinfo (char category) const |
Flot pour un message d'information parallèle d'une catégorie donnée. | |
TraceMessage | info (bool v) const |
Flot pour un message d'information. | |
TraceMessage | warning () const |
Flot pour un message d'avertissement. | |
TraceMessage | pwarning () const |
TraceMessage | error () const |
Flot pour un message d'erreur. | |
TraceMessage | perror () const |
TraceMessage | log () const |
Flot pour un message de log. | |
TraceMessage | plog () const |
Flot pour un message de log. | |
TraceMessage | logdate () const |
Flot pour un message de log précédé de la date. | |
TraceMessage | fatal () const |
Flot pour un message d'erreur fatale. | |
TraceMessage | pfatal () const |
Flot pour un message d'erreur fatale en parallèle. | |
TraceMessageDbg | debug (Trace::eDebugLevel=Trace::Medium) const |
Flot pour un message de debug. | |
Trace::eDebugLevel | configDbgLevel () const |
Niveau debug du fichier de configuration. | |
TraceMessage | info (Int32 verbose_level) const |
Flot pour un message d'information d'un niveau donné | |
TraceMessage | linfo () const |
Flot pour un message d'information avec le niveau d'information local à cette instance. | |
TraceMessage | linfo (Int32 relative_level) const |
Flot pour un message d'information avec le niveau d'information local à cette instance. | |
void | fatalMessage (const StandaloneTraceMessage &o) const |
Types privés | |
typedef std::map< Integer, Integer > | colMap |
typedef std::map< Integer, colMap * > | rowColMap |
Membres hérités additionnels | |
![]() | |
void | _setLocalVerboseLevel (Int32 v) |
Int32 | _localVerboseLevel () const |
Matrice d'un système linéaire.
Définition à la ligne 31 du fichier AlephMatrix.h.
Définition à la ligne 89 du fichier AlephMatrix.h.
|
private |
Définition à la ligne 90 du fichier AlephMatrix.h.
|
explicit |
Définition à la ligne 27 du fichier AlephMatrix.cc.
Arcane::AlephMatrix::~AlephMatrix | ( | ) |
Définition à la ligne 60 du fichier AlephMatrix.cc.
void Arcane::AlephMatrix::addValue | ( | const VariableRef & | rowVar, |
const Item & | rowItm, | ||
const VariableRef & | colVar, | ||
const Item & | colItm, | ||
const Real | val ) |
Définition à la ligne 125 du fichier AlephMatrix.cc.
void Arcane::AlephMatrix::addValue | ( | const VariableRef & | rowVar, |
const ItemEnumerator & | rowItm, | ||
const VariableRef & | colVar, | ||
const ItemEnumerator & | colItm, | ||
const Real | val ) |
addValue à partir d'arguments en IVariables, Items et Real
Définition à la ligne 118 du fichier AlephMatrix.cc.
addValue standard en (i,j,val)
Définition à la ligne 196 du fichier AlephMatrix.cc.
void Arcane::AlephMatrix::assemble | ( | void | ) |
assemble les matrices avant résolution
Définition à la ligne 305 du fichier AlephMatrix.cc.
Références Arcane::TraceAccessor::debug(), Arcane::Array< DataType >::fill(), Arcane::Array< DataType >::resize(), et Arcane::AbstractArray< T >::size().
void Arcane::AlephMatrix::assemble_waitAndFill | ( | void | ) |
assemble_waitAndFill attend que les requètes précédemment postées aient été traitées
Définition à la ligne 463 du fichier AlephMatrix.cc.
Références create_really(), et Arcane::TraceAccessor::debug().
void Arcane::AlephMatrix::create | ( | IntegerConstArrayView | row_nb_element, |
bool | has_many_elements = false ) |
Définition à la ligne 94 du fichier AlephMatrix.cc.
void Arcane::AlephMatrix::create | ( | void | ) |
Définition à la ligne 74 du fichier AlephMatrix.cc.
void Arcane::AlephMatrix::create_really | ( | void | ) |
create_really transmet l'ordre de création à la bibliothèque externe
Définition à la ligne 444 du fichier AlephMatrix.cc.
Références Arcane::TraceAccessor::debug().
Référencé par assemble_waitAndFill().
void Arcane::AlephMatrix::reAddValuesIn | ( | AlephMatrix * | thisMatrix, |
Array< Int32 * > & | known_items_own_address ) |
reAddValuesIn rejoue les addValue avec les indexes calculés via l'AlephIndexing
Définition à la ligne 290 du fichier AlephMatrix.cc.
Références reIdx().
Déclenche l'ordre de récupération des résultats.
Définition à la ligne 630 du fichier AlephMatrix.cc.
Références Arcane::TraceAccessor::debug().
Synchronise les réceptions des résultats.
Définition à la ligne 675 du fichier AlephMatrix.cc.
Références Arcane::TraceAccessor::debug().
reIdx recherche la correspondance de l'AlephIndexing
Définition à la ligne 266 du fichier AlephMatrix.cc.
Référencé par reAddValuesIn(), et reSetValuesIn().
void Arcane::AlephMatrix::reset | ( | void | ) |
reset pour flusher les tableaux des [set&add]Value
Définition à la ligne 106 du fichier AlephMatrix.cc.
Références Arcane::TraceAccessor::debug().
void Arcane::AlephMatrix::reSetValuesIn | ( | AlephMatrix * | thisMatrix, |
Array< Int32 * > & | known_items_own_address ) |
reSetValuesIn rejoue les setValue avec les indexes calculés via l'AlephIndexing
Définition à la ligne 276 du fichier AlephMatrix.cc.
Références reIdx(), et setValue().
Définition à la ligne 156 du fichier AlephMatrix.cc.
void Arcane::AlephMatrix::setValue | ( | const VariableRef & | rowVar, |
const Item & | rowItm, | ||
const VariableRef & | colVar, | ||
const Item & | colItm, | ||
const Real | val ) |
setValue à partir d'arguments en IVariables, Items et Real
Définition à la ligne 220 du fichier AlephMatrix.cc.
Références setValue().
Référencé par reSetValuesIn(), setValue(), et setValue().
void Arcane::AlephMatrix::setValue | ( | const VariableRef & | rowVar, |
const ItemEnumerator & | rowItm, | ||
const VariableRef & | colVar, | ||
const ItemEnumerator & | colItm, | ||
const Real | val ) |
setValue à partir d'arguments en IVariables, ItemEnumerator et Real
Définition à la ligne 209 du fichier AlephMatrix.cc.
Références setValue().
setValue standard à partir d'arguments (row,col,val)
Définition à la ligne 239 du fichier AlephMatrix.cc.
void Arcane::AlephMatrix::solve | ( | AlephVector * | x, |
AlephVector * | b, | ||
Integer & | nb_iteration, | ||
Real * | residual_norm, | ||
AlephParams * | solver_param, | ||
bool | async = false ) |
'Poste' le solver au scheduler de façon asynchrone ou pas
Définition à la ligne 546 du fichier AlephMatrix.cc.
Références Arcane::TraceAccessor::debug().
void Arcane::AlephMatrix::solveNow | ( | AlephVector * | x, |
AlephVector * | b, | ||
AlephVector * | tmp, | ||
Integer & | nb_iteration, | ||
Real * | residual_norm, | ||
AlephParams * | params ) |
Résout le système linéraire.
x | solution du système Ax=b (en sortie) |
b | second membre du système (en entrée) |
nb_iteration | nombre d'itérations du système (en sortie) |
residual_norm | résidu de convergence du système (en sortie) |
info | parametres de l'application parallele (en entrée) |
solver_param | Parametres du Solveur du solveur Ax=b (en entrée) |
Définition à la ligne 576 du fichier AlephMatrix.cc.
Références Arcane::TraceAccessor::debug(), Arcane::String::localstr(), Arcane::TraceAccessor::warning(), et writeToFile().
void Arcane::AlephMatrix::startFilling | ( | ) |
Permet de spécifier le début d'une phase de remplissage.
Définition à la ligne 701 du fichier AlephMatrix.cc.
Références Arcane::TraceAccessor::debug().
Définition à la ligne 140 du fichier AlephMatrix.cc.
void Arcane::AlephMatrix::writeToFile | ( | const String | file_name | ) |
Déclenche l'écriture de la matrice dans un fichier.
Définition à la ligne 713 du fichier AlephMatrix.cc.
Références Arcane::TraceAccessor::debug().
Référencé par solveNow().
|
private |
Définition à la ligne 94 du fichier AlephMatrix.h.
|
private |
Définition à la ligne 92 du fichier AlephMatrix.h.
|
private |
Définition à la ligne 93 du fichier AlephMatrix.h.
|
private |
Définition à la ligne 95 du fichier AlephMatrix.h.
|
private |
Définition à la ligne 80 du fichier AlephMatrix.h.
|
private |
Définition à la ligne 102 du fichier AlephMatrix.h.
|
private |
Définition à la ligne 103 du fichier AlephMatrix.h.
|
private |
Définition à la ligne 79 du fichier AlephMatrix.h.
|
private |
Définition à la ligne 81 du fichier AlephMatrix.h.
|
private |
Définition à la ligne 98 du fichier AlephMatrix.h.
|
private |
Définition à la ligne 99 du fichier AlephMatrix.h.
|
private |
Définition à la ligne 74 du fichier AlephMatrix.h.
|
private |
Définition à la ligne 71 du fichier AlephMatrix.h.
|
private |
Définition à la ligne 70 du fichier AlephMatrix.h.
|
private |
Définition à la ligne 73 du fichier AlephMatrix.h.
Définition à la ligne 72 du fichier AlephMatrix.h.
|
private |
Définition à la ligne 91 du fichier AlephMatrix.h.
|
private |
Définition à la ligne 85 du fichier AlephMatrix.h.
|
private |
Définition à la ligne 83 du fichier AlephMatrix.h.
|
private |
Définition à la ligne 84 du fichier AlephMatrix.h.
|
private |
Définition à la ligne 86 du fichier AlephMatrix.h.