V3FIT
Modules | Functions/Subroutines | Variables
pchelms.f90 File Reference

Contains module pchelms. More...

Go to the source code of this file.

Modules

module  pchelms
 This file solves the helmholtz equation to set inital fields that match vmec and vacuum currents from the vector potential. Initial vector potential on the edge is supplied by the BMW code.
 

Functions/Subroutines

subroutine pchelms::run_pchelms
 Run the pchelms code to solve for inital jbsup values.
 
subroutine pchelms::curla_pchelms (Asubsmnf, Asubumnf, Asubvmnf,
 Compute real-space components of contravariant jac*B^i on half radial grid from curl(A). More...
 
subroutine pchelms::curlb_pchelms (ksupsmnf, ksupumnf, ksupvmnf, asubsmnf,
 Compute real-space components of contravariant jac*J^i on full radial grid from curl(B). More...
 
subroutine pchelms::cyl2vmec_a (A_r, A_p, A_z, cA_s, cA_u, cA_v)
 Convert cylindical vector potential to contravariant components. More...
 
subroutine pchelms::init_a (cA_s, cA_u, cA_v, A_s, A_u, A_v, parity)
 Initialize vector potential. More...
 
subroutine pchelms::init_f (Fsupsmn, Fsupumn, Fsupvmn, jcurrumn, jcurrvmn)
 Initialize expected currents. More...
 
subroutine pchelms::compare_current (Fsupumn, Fsupvmn, jcurrumn, jcurrvmn)
 Compare Curl(Curl(A)) with the expected VMEC and vacuum currents. More...
 
subroutine pchelms::dump_a (js, iunit)
 Write out vector potential to file. More...
 
subroutine pchelms::boundaryconditions (Fsupsmn, Fsupumn, Fsupvmn, iparity)
 Apply boundary conditions. More...
 
subroutine pchelms::gmres_pchelms
 Setup and run GMRES solver for the helmholtz problem. More...
 
subroutine pchelms::matvec_pchelms (p, Ap, ndim)
 Serial callback function for MatVec GMRES routine. More...
 
subroutine pchelms::matvec_par_pchelms (ploc, Ap, nloc)
 Parallel callback function for MatVec GMRES routine. More...
 
subroutine pchelms::getnlforce_pchelms (xcstate, fsq_nl, bnorm)
 Non linear force callback. More...
 

Variables

logical, parameter, private pchelms::l_asedge = .TRUE.
 Controls if the edge Aubs values are evolved or fixed. More...
 
integer, private pchelms::nsmin
 
integer, private pchelms::nsmax
 
integer, private pchelms::ns_match
 
logical, private pchelms::linit
 
logical, private pchelms::lhessian
 
real(dp), private pchelms::bnorm = -1
 
real(dp), private pchelms::line_bu
 
real(dp), dimension(:,:,:), allocatable, private pchelms::bsupsijh
 
real(dp), dimension(:,:,:), allocatable, private pchelms::bsupuijh
 
real(dp), dimension(:,:,:), allocatable, private pchelms::bsupvijh
 
real(dp), dimension(:,:,:), allocatable, private pchelms::bsubsijh
 
real(dp), dimension(:,:,:), allocatable, private pchelms::bsubuijh
 
real(dp), dimension(:,:,:), allocatable, private pchelms::bsubvijh
 
real(dp), dimension(:,:,:), allocatable, private pchelms::jacobmnch
 
real(dp), dimension(:,:,:), allocatable, private pchelms::jacobmnsh
 

Detailed Description

Contains module pchelms.

Definition in file pchelms.f90.