ScalES-PPM
Loading...
Searching...
No Matches
Data Types | Functions/Subroutines
solver_all Module Reference

generic solve function and multi-precision iterative refinement More...

Data Types

interface  solve
 general solve function to solve Ax = b in single/double precision More...
 

Functions/Subroutines

integer function iter_refinement (a_dp, a_sp, b, x, ext_x, exchange_sp, tol_opt, maxiter_opt)
 multi-precision iterative refinement
 
integer function solve_sp (a, b, x, ext_x, exchange, tol_opt, maxiter_opt)
 
integer function solve_dp (a, b, x, ext_x, exchange, tol_opt, maxiter_opt)
 

Detailed Description

generic solve function and multi-precision iterative refinement

Function/Subroutine Documentation

◆ iter_refinement()

integer function solver_all::iter_refinement ( external subroutine(real(dp), dimension(:,:), intent(in) field, real(dp), dimension(:,:), intent(out) res_field) a_dp,
external subroutine(real(sp), dimension(:,:), intent(in) field, real(sp), dimension(:,:), intent(out) res_field) a_sp,
real(dp), dimension(:,:), intent(in) b,
real(dp), dimension(:,:), intent(inout) x,
type(extent), dimension(:), intent(in) ext_x,
external subroutine(real(sp), dimension(:,:), intent(inout) a0, character (len=*), intent(in), optional text) exchange_sp,
real(dp), intent(in), optional tol_opt,
integer, intent(in), optional maxiter_opt )

multi-precision iterative refinement

Parameters
[in]A_dplinear operator like matrix multiplication in double precision
[in]A_splinear operator like matrix multiplication in single precision
[in]bright hand side in double precision
[in,out]xstart vector in double precision, hold solution in the end
[in]ext_xextent of x
[in]exchange_spsingle precision boundary exchange function
[in]tol_optoptional stopping tolerance for relative residual
[in]maxiter_optoptional maximum number of iterations
Returns
number of iterations

Das diesem Bericht zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung, und Forschung unter dem Förderkennzeichen 01IH08004E gefördert. Die Verantwortung für den Inhalt dieser Veröffentlichung liegt beim Autor.