Matrix of a linear system. More...
#include <arcane/aleph/AlephMatrix.h>
Public Member Functions | |
| AlephMatrix (AlephKernel *) | |
| void | create (void) |
| void | create (IntegerConstArrayView, bool=false) |
| void | create_really (void) |
| create_really transmits the creation order to the external library | |
| void | reset (void) |
| reset to flush the [set&add]Value arrays | |
| Integer | reIdx (Integer, Array< Int32 * > &) |
| reIdx searches for the correspondence of the AlephIndexing | |
| void | reSetValuesIn (AlephMatrix *, Array< Int32 * > &) |
| reSetValuesIn re-plays the setValue with the indexes calculated via the AlephIndexing | |
| void | reAddValuesIn (AlephMatrix *, Array< Int32 * > &) |
| reAddValuesIn re-plays the addValue with the indexes calculated via the 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 from arguments in IVariables, Items, and Real | |
| void | setValue (const VariableRef &, const Item &, const VariableRef &, const Item &, const Real) |
| setValue from arguments in IVariables, Items, and Real | |
| void | setValue (const VariableRef &, const ItemEnumerator &, const VariableRef &, const ItemEnumerator &, const Real) |
| setValue from arguments in IVariables, ItemEnumerator, and Real | |
| void | addValue (Integer, Integer, Real) |
| standard addValue in (i,j,val) | |
| void | setValue (Integer, Integer, Real) |
| standard setValue from arguments (row,col,val) | |
| void | writeToFile (const String) |
| Triggers the writing of the matrix to a file. | |
| void | startFilling () |
| Allows specifying the start of a filling phase. | |
| void | assemble () |
| assemble the matrices before resolution | |
| void | assemble_waitAndFill () |
| assemble_waitAndFill waits for the previously posted requests to be processed | |
| void | reassemble (Integer &, Real *) |
| Triggers the order of retrieving results. | |
| void | reassemble_waitAndFill (Integer &, Real *) |
| Synchronizes the reception of results. | |
| void | solve (AlephVector *, AlephVector *, Integer &, Real *, AlephParams *, bool=false) |
| 'Post' the solver to the scheduler asynchronously or not | |
| void | solveNow (AlephVector *, AlephVector *, AlephVector *, Integer &, Real *, AlephParams *) |
| Solves the linear system. | |
| Public Member Functions inherited from Arcane::TraceAccessor | |
| TraceAccessor (ITraceMng *m) | |
| Constructs an accessor via the trace manager m. | |
| TraceAccessor (const TraceAccessor &rhs) | |
| Copy constructor. | |
| TraceAccessor & | operator= (const TraceAccessor &rhs) |
| Copy assignment operator. | |
| virtual | ~TraceAccessor () |
| Frees resources. | |
| ITraceMng * | traceMng () const |
| Trace manager. | |
| TraceMessage | info () const |
| Flow for an information message. | |
| TraceMessage | pinfo () const |
| Flow for a parallel information message. | |
| TraceMessage | info (char category) const |
| Flow for an information message of a given category. | |
| TraceMessage | pinfo (char category) const |
| Flow for a parallel information message of a given category. | |
| TraceMessage | info (bool v) const |
| Flow for an information message. | |
| TraceMessage | warning () const |
| Flow for a warning message. | |
| TraceMessage | pwarning () const |
| TraceMessage | error () const |
| Flow for an error message. | |
| TraceMessage | perror () const |
| TraceMessage | log () const |
| Flow for a log message. | |
| TraceMessage | plog () const |
| Flow for a log message. | |
| TraceMessage | logdate () const |
| Flow for a log message preceded by the date. | |
| TraceMessage | fatal () const |
| Flow for a fatal error message. | |
| TraceMessage | pfatal () const |
| Flow for a parallel fatal error message. | |
| TraceMessageDbg | debug (Trace::eDebugLevel=Trace::Medium) const |
| Flow for a debug message. | |
| Trace::eDebugLevel | configDbgLevel () const |
| Debug level of the configuration file. | |
| TraceMessage | info (Int32 verbose_level) const |
| Flow for an information message of a given level. | |
| TraceMessage | linfo () const |
| Flow for an information message with the local information level of this instance. | |
| TraceMessage | linfo (Int32 relative_level) const |
| Flow for an information message with the local information level of this instance. | |
| void | fatalMessage (const StandaloneTraceMessage &o) const |
Private Types | |
| typedef std::map< Integer, Integer > | colMap |
| typedef std::map< Integer, colMap * > | rowColMap |
Additional Inherited Members | |
| Protected Member Functions inherited from Arcane::TraceAccessor | |
| void | _setLocalVerboseLevel (Int32 v) |
| Int32 | _localVerboseLevel () const |
Matrix of a linear system.
Definition at line 31 of file AlephMatrix.h.
Definition at line 92 of file AlephMatrix.h.
|
private |
Definition at line 93 of file AlephMatrix.h.
|
explicit |
Definition at line 27 of file AlephMatrix.cc.
| Arcane::AlephMatrix::~AlephMatrix | ( | ) |
Definition at line 60 of file AlephMatrix.cc.
| void Arcane::AlephMatrix::addValue | ( | const VariableRef & | rowVar, |
| const Item & | rowItm, | ||
| const VariableRef & | colVar, | ||
| const Item & | colItm, | ||
| const Real | val ) |
Definition at line 125 of file AlephMatrix.cc.
| void Arcane::AlephMatrix::addValue | ( | const VariableRef & | rowVar, |
| const ItemEnumerator & | rowItm, | ||
| const VariableRef & | colVar, | ||
| const ItemEnumerator & | colItm, | ||
| const Real | val ) |
addValue from arguments in IVariables, Items, and Real
Definition at line 118 of file AlephMatrix.cc.
standard addValue in (i,j,val)
Definition at line 196 of file AlephMatrix.cc.
| void Arcane::AlephMatrix::assemble | ( | void | ) |
assemble the matrices before resolution
Definition at line 305 of file AlephMatrix.cc.
References Arcane::TraceAccessor::debug(), Arcane::Array< T >::fill(), Arcane::Array< T >::resize(), and Arcane::AbstractArray< T >::size().
| void Arcane::AlephMatrix::assemble_waitAndFill | ( | void | ) |
assemble_waitAndFill waits for the previously posted requests to be processed
Definition at line 463 of file AlephMatrix.cc.
References create_really(), and Arcane::TraceAccessor::debug().
| void Arcane::AlephMatrix::create | ( | IntegerConstArrayView | row_nb_element, |
| bool | has_many_elements = false ) |
Definition at line 94 of file AlephMatrix.cc.
| void Arcane::AlephMatrix::create | ( | void | ) |
Definition at line 74 of file AlephMatrix.cc.
| void Arcane::AlephMatrix::create_really | ( | void | ) |
create_really transmits the creation order to the external library
Definition at line 444 of file AlephMatrix.cc.
References Arcane::TraceAccessor::debug().
Referenced by assemble_waitAndFill().
| void Arcane::AlephMatrix::reAddValuesIn | ( | AlephMatrix * | thisMatrix, |
| Array< Int32 * > & | known_items_own_address ) |
reAddValuesIn re-plays the addValue with the indexes calculated via the AlephIndexing
Definition at line 290 of file AlephMatrix.cc.
References reIdx().
Triggers the order of retrieving results.
Definition at line 630 of file AlephMatrix.cc.
References Arcane::TraceAccessor::debug().
Synchronizes the reception of results.
Definition at line 675 of file AlephMatrix.cc.
References Arcane::TraceAccessor::debug().
reIdx searches for the correspondence of the AlephIndexing
Definition at line 266 of file AlephMatrix.cc.
Referenced by reAddValuesIn(), and reSetValuesIn().
| void Arcane::AlephMatrix::reset | ( | void | ) |
reset to flush the [set&add]Value arrays
Definition at line 106 of file AlephMatrix.cc.
References Arcane::TraceAccessor::debug().
| void Arcane::AlephMatrix::reSetValuesIn | ( | AlephMatrix * | thisMatrix, |
| Array< Int32 * > & | known_items_own_address ) |
reSetValuesIn re-plays the setValue with the indexes calculated via the AlephIndexing
Definition at line 276 of file AlephMatrix.cc.
References reIdx(), and setValue().
Definition at line 156 of file AlephMatrix.cc.
| void Arcane::AlephMatrix::setValue | ( | const VariableRef & | rowVar, |
| const Item & | rowItm, | ||
| const VariableRef & | colVar, | ||
| const Item & | colItm, | ||
| const Real | val ) |
setValue from arguments in IVariables, Items, and Real
Definition at line 220 of file AlephMatrix.cc.
References setValue().
Referenced by reSetValuesIn(), setValue(), and setValue().
| void Arcane::AlephMatrix::setValue | ( | const VariableRef & | rowVar, |
| const ItemEnumerator & | rowItm, | ||
| const VariableRef & | colVar, | ||
| const ItemEnumerator & | colItm, | ||
| const Real | val ) |
setValue from arguments in IVariables, ItemEnumerator, and Real
Definition at line 209 of file AlephMatrix.cc.
References setValue().
standard setValue from arguments (row,col,val)
Definition at line 239 of file AlephMatrix.cc.
| void Arcane::AlephMatrix::solve | ( | AlephVector * | x, |
| AlephVector * | b, | ||
| Integer & | nb_iteration, | ||
| Real * | residual_norm, | ||
| AlephParams * | solver_param, | ||
| bool | async = false ) |
'Post' the solver to the scheduler asynchronously or not
Definition at line 546 of file AlephMatrix.cc.
References Arcane::TraceAccessor::debug().
| void Arcane::AlephMatrix::solveNow | ( | AlephVector * | x, |
| AlephVector * | b, | ||
| AlephVector * | tmp, | ||
| Integer & | nb_iteration, | ||
| Real * | residual_norm, | ||
| AlephParams * | params ) |
Solves the linear system.
| x | solution of the system Ax=b (output) |
| b | right-hand side of the system (input) |
| nb_iteration | number of system iterations (output) |
| residual_norm | convergence residual of the system (output) |
| info | parameters of the parallel application (input) |
| solver_param | Parameters of the solver for the system Ax=b (input) |
Definition at line 576 of file AlephMatrix.cc.
References Arcane::TraceAccessor::debug(), Arcane::String::localstr(), Arcane::TraceAccessor::warning(), and writeToFile().
| void Arcane::AlephMatrix::startFilling | ( | ) |
Allows specifying the start of a filling phase.
Definition at line 701 of file AlephMatrix.cc.
References Arcane::TraceAccessor::debug().
Definition at line 140 of file AlephMatrix.cc.
| void Arcane::AlephMatrix::writeToFile | ( | const String | file_name | ) |
Triggers the writing of the matrix to a file.
Definition at line 713 of file AlephMatrix.cc.
References Arcane::TraceAccessor::debug().
Referenced by solveNow().
|
private |
Definition at line 97 of file AlephMatrix.h.
|
private |
Definition at line 95 of file AlephMatrix.h.
|
private |
Definition at line 96 of file AlephMatrix.h.
|
private |
Definition at line 98 of file AlephMatrix.h.
|
private |
Definition at line 81 of file AlephMatrix.h.
|
private |
Definition at line 107 of file AlephMatrix.h.
|
private |
Definition at line 108 of file AlephMatrix.h.
|
private |
Definition at line 80 of file AlephMatrix.h.
|
private |
Definition at line 82 of file AlephMatrix.h.
|
private |
Definition at line 102 of file AlephMatrix.h.
|
private |
Definition at line 103 of file AlephMatrix.h.
|
private |
Definition at line 75 of file AlephMatrix.h.
|
private |
Definition at line 72 of file AlephMatrix.h.
|
private |
Definition at line 71 of file AlephMatrix.h.
|
private |
Definition at line 74 of file AlephMatrix.h.
Definition at line 73 of file AlephMatrix.h.
|
private |
Definition at line 94 of file AlephMatrix.h.
|
private |
Definition at line 86 of file AlephMatrix.h.
|
private |
Definition at line 84 of file AlephMatrix.h.
|
private |
Definition at line 85 of file AlephMatrix.h.
|
private |
Definition at line 87 of file AlephMatrix.h.