SPEC 3.20
Stepped Pressure Equilibrium Code
mp00ac.f90 File Reference

Solves Beltrami/vacuum (linear) system, given matrices. More...

Functions/Subroutines

subroutine mp00ac (Ndof, Xdof, Fdof, Ddof, Ldfjac, iflag)
 Solves Beltrami/vacuum (linear) system, given matrices.unpacking fluxes, helicity multiplier More...
 
subroutine rungmres (n, nrestart, mu, vvol, rhs, sol, ipar, fpar, wk, nw, guess, a, au, jau, ju, iperm, ierr)
 run GMRES More...
 
subroutine matvec (n, x, ax, a, mu, vvol)
 compute a.x by either by coumputing it directly, or using a matrix free method More...
 
subroutine prec_solve (n, vecin, vecout, au, jau, ju, iperm)
 apply the preconditioner More...
 

Detailed Description

Solves Beltrami/vacuum (linear) system, given matrices.

Function/Subroutine Documentation

◆ rungmres()

subroutine rungmres ( integer  n,
integer  nrestart,
real  mu,
integer  vvol,
real, dimension(1:n)  rhs,
real, dimension(1:n)  sol,
integer, dimension(16)  ipar,
real, dimension(16)  fpar,
real, dimension(1:nw)  wk,
integer  nw,
real, dimension(n)  guess,
real, dimension(*)  a,
real, dimension(*)  au,
integer, dimension(*)  jau,
integer, dimension(*)  ju,
integer, dimension(*)  iperm,
integer  ierr 
)

run GMRES

Parameters
n
nrestart
mu
vvol
rhs
sol
ipar
fpar
wk
nw
guess
a
au
jau
ju
iperm
ierr

References inputlist::epsgmres, allglobal::liluprecond, matvec(), inputlist::nitergmres, constants::one, prec_solve(), and constants::zero.

Referenced by mp00ac().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ matvec()

subroutine matvec ( integer, intent(in)  n,
real, dimension(1:n)  x,
real, dimension(1:n)  ax,
real, dimension(*)  a,
real  mu,
integer, intent(in)  vvol 
)

compute a.x by either by coumputing it directly, or using a matrix free method

Parameters
n
x
ax
a
mu
vvol

References allglobal::dmd, intghs(), allglobal::iquad, inputlist::lrad, allglobal::mn, mtrxhs(), allglobal::notmatrixfree, constants::one, packab(), and constants::zero.

Referenced by rungmres().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ prec_solve()

subroutine prec_solve ( integer  n,
real, dimension(*)  vecin,
real, dimension(*)  vecout,
real, dimension(*)  au,
integer, dimension(*)  jau,
integer, dimension(*)  ju,
integer, dimension(*)  iperm 
)

apply the preconditioner

Parameters
n
vecin
vecout
au
jau
ju
iperm

Referenced by rungmres().

Here is the caller graph for this function: