diff --git a/doc/userdoc.org b/doc/userdoc.org index 97c6c7ee7b47c3ac08e2544c0ddaa06e63cbec01..ece052f816c3f3831e010ebfbf2e1f97a4243926 100644 --- a/doc/userdoc.org +++ b/doc/userdoc.org @@ -4037,6 +4037,73 @@ The following operators are defined \end{equation*} #+end_src +*** The ~linear_solver~ module + +This module provides the following functions +#+NAME: get-module-info-linear-solver +#+BEGIN_SRC pugs :exports both :results output + cout << getModuleInfo("linear_solver") << "\n"; +#+END_SRC +#+RESULTS: get-module-info-linear-solver + +**** ~linear_solver~ provided functions + +The set of provided functions is used to define the global behavior of +~pugs~ linear system solver. + +***** Utility functions + +An important function is + +****** ~getLSAvailable: void -> string~ + +This shows the available options or libraries that are available. It +depends on the compilation options of the code. + +#+NAME: get-ls-available-example +#+BEGIN_SRC pugs :exports both :results output + import linear_solver; + cout << getLSAvailable() << "\n"; +#+END_SRC +#+results: get-ls-available-example + + +****** ~getLSOptions: void -> string~ + +This function show the current tuning of the global linear solver +#+NAME: get-ls-options-example +#+BEGIN_SRC pugs :exports both :results output + import linear_solver; + cout << getLSOptions() << "\n"; +#+END_SRC +#+results: get-ls-options-example + +***** Tuning functions + +****** ~setLSEpsilon: R -> void~ + +Sets the relative epsilon criterion for iterative methods. + +****** ~setLSLibrary: string -> void~ + +Selects the library to use. + +****** ~setLSMaxIter: N -> void~ + +Sets the maximum number of iterations. + +****** ~setLSMethod: string -> void~ + +Sets the method to solve linear systems. + +****** ~setLSPrecond: string -> void~ + +Sets the preconditioner type. + +****** ~setLSVerbosity: B -> void~ + +Sets verbosity mode to ~true~ or ~false~ for linear solvers. + [fn:pugs-def] ~pugs~: Parallel Unstructured Grid Solvers [fn:MPI-def] ~MPI~: Message Passing Interface [fn:DSL-def] ~DSL~: Domain Specific Language~