Arcane  v3.14.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
Référence de la classe Arcane::AlephMatrix

Matrice d'un système linéaire. Plus de détails...

#include <arcane/aleph/AlephMatrix.h>

+ Graphe d'héritage de Arcane::AlephMatrix:
+ Graphe de collaboration de Arcane::AlephMatrix:

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.
 
- Fonctions membres publiques hérités de Arccore::TraceAccessor
 TraceAccessor (ITraceMng *m)
 Construit un accesseur via le gestionnaire de trace m.
 
 TraceAccessor (const TraceAccessor &rhs)
 Constructeur par recopie.
 
TraceAccessoroperator= (const TraceAccessor &rhs)
 Opérateur de recopie.
 
virtual ~TraceAccessor ()
 Libère les ressources.
 
ITraceMngtraceMng () 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
 

Attributs privés

AlephKernelm_kernel = nullptr
 
Integer m_index
 
ArrayView< Integer > m_ranks
 
bool m_participating_in_solver = false
 
IAlephMatrixm_implementation = nullptr
 
MultiArray2< AlephIntm_aleph_matrix_buffer_rows
 
MultiArray2< AlephIntm_aleph_matrix_buffer_cols
 
MultiArray2< Real > m_aleph_matrix_buffer_vals
 
Integer m_setValue_idx
 
UniqueArray< AlephIntm_setValue_row
 
UniqueArray< AlephIntm_setValue_col
 
UniqueArray< Real > m_setValue_val
 
rowColMap m_row_col_map
 
Integer m_addValue_idx
 
UniqueArray< Integer > m_addValue_row
 
UniqueArray< Integer > m_addValue_col
 
UniqueArray< Real > m_addValue_val
 
UniqueArray< Parallel::Requestm_aleph_matrix_mpi_data_requests
 
UniqueArray< Parallel::Requestm_aleph_matrix_mpi_results_requests
 
UniqueArray< Int32 > m_aleph_matrix_buffer_n_iteration
 
UniqueArray< Real > m_aleph_matrix_buffer_residual_norm
 

Membres hérités additionnels

- Fonctions membres protégées hérités de Arccore::TraceAccessor
void _setLocalVerboseLevel (Int32 v)
 
Int32 _localVerboseLevel () const
 

Description détaillée

Matrice d'un système linéaire.

Définition à la ligne 31 du fichier AlephMatrix.h.

Documentation des définitions de type membres

◆ colMap

typedef std::map<Integer, Integer> Arcane::AlephMatrix::colMap
private

Définition à la ligne 89 du fichier AlephMatrix.h.

◆ rowColMap

typedef std::map<Integer, colMap*> Arcane::AlephMatrix::rowColMap
private

Définition à la ligne 90 du fichier AlephMatrix.h.

Documentation des constructeurs et destructeur

◆ AlephMatrix()

Arcane::AlephMatrix::AlephMatrix ( AlephKernel kernel)
explicit

Définition à la ligne 27 du fichier AlephMatrix.cc.

◆ ~AlephMatrix()

Arcane::AlephMatrix::~AlephMatrix ( )

Définition à la ligne 60 du fichier AlephMatrix.cc.

Documentation des fonctions membres

◆ addValue() [1/3]

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.

◆ addValue() [2/3]

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() [3/3]

void Arcane::AlephMatrix::addValue ( Integer  row,
Integer  col,
Real  val 
)

addValue standard en (i,j,val)

Définition à la ligne 196 du fichier AlephMatrix.cc.

◆ assemble()

void Arcane::AlephMatrix::assemble ( void  )

assemble les matrices avant résolution

Définition à la ligne 305 du fichier AlephMatrix.cc.

◆ assemble_waitAndFill()

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.

◆ create() [1/2]

void Arcane::AlephMatrix::create ( IntegerConstArrayView  row_nb_element,
bool  has_many_elements = false 
)

Définition à la ligne 94 du fichier AlephMatrix.cc.

◆ create() [2/2]

void Arcane::AlephMatrix::create ( void  )

Définition à la ligne 74 du fichier AlephMatrix.cc.

◆ create_really()

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.

◆ reAddValuesIn()

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.

◆ reassemble()

void Arcane::AlephMatrix::reassemble ( Integer &  nb_iteration,
Real *  residual_norm 
)

Déclenche l'ordre de récupération des résultats.

Définition à la ligne 630 du fichier AlephMatrix.cc.

◆ reassemble_waitAndFill()

void Arcane::AlephMatrix::reassemble_waitAndFill ( Integer &  nb_iteration,
Real *  residual_norm 
)

Synchronise les réceptions des résultats.

Définition à la ligne 675 du fichier AlephMatrix.cc.

◆ reIdx()

Int32 Arcane::AlephMatrix::reIdx ( Integer  ij,
Array< Int32 * > &  known_items_own_address 
)

reIdx recherche la correspondance de l'AlephIndexing

Définition à la ligne 266 du fichier AlephMatrix.cc.

◆ reset()

void Arcane::AlephMatrix::reset ( void  )

reset pour flusher les tableaux des [set&add]Value

Définition à la ligne 106 du fichier AlephMatrix.cc.

◆ reSetValuesIn()

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.

◆ rowMapMapCol()

void Arcane::AlephMatrix::rowMapMapCol ( Integer  row,
Integer  col,
Real  val 
)

Définition à la ligne 156 du fichier AlephMatrix.cc.

◆ setValue() [1/3]

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.

◆ setValue() [2/3]

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.

◆ setValue() [3/3]

void Arcane::AlephMatrix::setValue ( Integer  row,
Integer  col,
Real  val 
)

setValue standard à partir d'arguments (row,col,val)

Définition à la ligne 239 du fichier AlephMatrix.cc.

◆ solve()

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.

◆ solveNow()

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.

Paramètres
xsolution du système Ax=b (en sortie)
bsecond membre du système (en entrée)
nb_iterationnombre d'itérations du système (en sortie)
residual_normrésidu de convergence du système (en sortie)
infoparametres de l'application parallele (en entrée)
solver_paramParametres du Solveur du solveur Ax=b (en entrée)

Définition à la ligne 576 du fichier AlephMatrix.cc.

◆ startFilling()

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.

◆ updateKnownRowCol()

void Arcane::AlephMatrix::updateKnownRowCol ( Integer  row,
Integer  col,
Real  val 
)

Définition à la ligne 140 du fichier AlephMatrix.cc.

◆ writeToFile()

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.

Documentation des données membres

◆ m_addValue_col

UniqueArray<Integer> Arcane::AlephMatrix::m_addValue_col
private

Définition à la ligne 94 du fichier AlephMatrix.h.

◆ m_addValue_idx

Integer Arcane::AlephMatrix::m_addValue_idx
private

Définition à la ligne 92 du fichier AlephMatrix.h.

◆ m_addValue_row

UniqueArray<Integer> Arcane::AlephMatrix::m_addValue_row
private

Définition à la ligne 93 du fichier AlephMatrix.h.

◆ m_addValue_val

UniqueArray<Real> Arcane::AlephMatrix::m_addValue_val
private

Définition à la ligne 95 du fichier AlephMatrix.h.

◆ m_aleph_matrix_buffer_cols

MultiArray2<AlephInt> Arcane::AlephMatrix::m_aleph_matrix_buffer_cols
private

Définition à la ligne 80 du fichier AlephMatrix.h.

◆ m_aleph_matrix_buffer_n_iteration

UniqueArray<Int32> Arcane::AlephMatrix::m_aleph_matrix_buffer_n_iteration
private

Définition à la ligne 102 du fichier AlephMatrix.h.

◆ m_aleph_matrix_buffer_residual_norm

UniqueArray<Real> Arcane::AlephMatrix::m_aleph_matrix_buffer_residual_norm
private

Définition à la ligne 103 du fichier AlephMatrix.h.

◆ m_aleph_matrix_buffer_rows

MultiArray2<AlephInt> Arcane::AlephMatrix::m_aleph_matrix_buffer_rows
private

Définition à la ligne 79 du fichier AlephMatrix.h.

◆ m_aleph_matrix_buffer_vals

MultiArray2<Real> Arcane::AlephMatrix::m_aleph_matrix_buffer_vals
private

Définition à la ligne 81 du fichier AlephMatrix.h.

◆ m_aleph_matrix_mpi_data_requests

UniqueArray<Parallel::Request> Arcane::AlephMatrix::m_aleph_matrix_mpi_data_requests
private

Définition à la ligne 98 du fichier AlephMatrix.h.

◆ m_aleph_matrix_mpi_results_requests

UniqueArray<Parallel::Request> Arcane::AlephMatrix::m_aleph_matrix_mpi_results_requests
private

Définition à la ligne 99 du fichier AlephMatrix.h.

◆ m_implementation

IAlephMatrix* Arcane::AlephMatrix::m_implementation = nullptr
private

Définition à la ligne 74 du fichier AlephMatrix.h.

◆ m_index

Integer Arcane::AlephMatrix::m_index
private

Définition à la ligne 71 du fichier AlephMatrix.h.

◆ m_kernel

AlephKernel* Arcane::AlephMatrix::m_kernel = nullptr
private

Définition à la ligne 70 du fichier AlephMatrix.h.

◆ m_participating_in_solver

bool Arcane::AlephMatrix::m_participating_in_solver = false
private

Définition à la ligne 73 du fichier AlephMatrix.h.

◆ m_ranks

ArrayView<Integer> Arcane::AlephMatrix::m_ranks
private

Définition à la ligne 72 du fichier AlephMatrix.h.

◆ m_row_col_map

rowColMap Arcane::AlephMatrix::m_row_col_map
private

Définition à la ligne 91 du fichier AlephMatrix.h.

◆ m_setValue_col

UniqueArray<AlephInt> Arcane::AlephMatrix::m_setValue_col
private

Définition à la ligne 85 du fichier AlephMatrix.h.

◆ m_setValue_idx

Integer Arcane::AlephMatrix::m_setValue_idx
private

Définition à la ligne 83 du fichier AlephMatrix.h.

◆ m_setValue_row

UniqueArray<AlephInt> Arcane::AlephMatrix::m_setValue_row
private

Définition à la ligne 84 du fichier AlephMatrix.h.

◆ m_setValue_val

UniqueArray<Real> Arcane::AlephMatrix::m_setValue_val
private

Définition à la ligne 86 du fichier AlephMatrix.h.


La documentation de cette classe a été générée à partir des fichiers suivants :