BELFEM 0.9.3
Berkeley Lab Finite Element Framework
Loading...
Searching...
No Matches
pardisotools.f90 File Reference

Functions/Subroutines

program __pardisotools_f90__
 see also https://software.intel.com/content/www/us/en/develop/articles/pardiso-parameter-table.html
integer(int_t) function pardisotools_initialize_parameters (aparameters)
 List of Parameters 1: Transposed Flag : 0 - CSR : 1 - CSC.
integer(int_t) function pardisotools_symbolic_factorization (an, annz, anrhs, apointers, aindices, avalues)
integer(int_t) function pardisotools_solve (an, annz, anrhs, apointers, aindices, avalues, alhs, arhs, ainfo)
integer(int_t) function pardisotools_free ()

Function/Subroutine Documentation

◆ __pardisotools_f90__()

program __pardisotools_f90__

see also https://software.intel.com/content/www/us/en/develop/articles/pardiso-parameter-table.html

MKL's own Fortran interface for pardiso ( sixteen arguments, assumed-size arrays ), included the way mumpstools.f90 includes dmumps_struc.h: the vendor header is the source of truth, and every call below is checked against it at compile time. It declares default INTEGER throughout, which is the LP64 MKL this project links; Intel's ILP64 story for Fortran is -fdefault-integer-8, which BELFEM does not pass, so the ILP64 combination is refused below instead of compiling silently.

◆ pardisotools_free()

integer( int_t ) function pardisotools_free

◆ pardisotools_initialize_parameters()

integer( int_t ) function pardisotools_initialize_parameters ( integer( int_t ), dimension( 8 ), intent(in) aparameters)

List of Parameters 1: Transposed Flag : 0 - CSR : 1 - CSC.

2: Indexing Base : 0 - C++ 1 - Fortran

3: Matrix Type : 11 - Unsymmetric, 2 - PositiveDefiniteSymmetric, -2 - GeneralSymmetric 4: Info Level : 0 - Silent 5: Precon Exponent 6: Max Number of Refinement steps : 0 - auto 7: Flag that selects the reduce ordering

8: reserved ( was "compute determinant"; MKL PARDISO returns no determinant and documents iparm( 33 ) as reserved, so the value is read and ignored )

◆ pardisotools_solve()

integer( int_t ) function pardisotools_solve ( integer( int_t ), intent(in) an,
integer( int_t ), intent(in) annz,
integer( int_t ), intent(in) anrhs,
integer( int_t ), dimension( an+1 ), intent(in) apointers,
integer( int_t ), dimension( annz ), intent(in) aindices,
real( c_double ), dimension( annz ), intent(in) avalues,
real( c_double ), dimension( an, anrhs ), intent(inout) alhs,
real( c_double ), dimension( an, anrhs ), intent(inout) arhs,
integer( int_t ), dimension( 8 ), intent(out) ainfo )

◆ pardisotools_symbolic_factorization()

integer( int_t ) function pardisotools_symbolic_factorization ( integer( int_t ), intent(in) an,
integer( int_t ), intent(in) annz,
integer( int_t ), intent(in) anrhs,
integer( int_t ), dimension( an+1 ), intent(in) apointers,
integer( int_t ), dimension( annz ), intent(in) aindices,
real( c_double ), dimension( annz ), intent(in) avalues )