VMEC 8.52
3D Equilibrium solver with nested flux surfaces.
Loading...
Searching...
No Matches
File List
Here is a list of all files with brief descriptions:
[detail level 1234]
 
src
 
data
 
NESTOR
 
add_fluxes.f90
Add the magnetic fluxes to the tangential derivatives of \(\lambda\) to arrive at the contravariant magnetic field components \(B^\theta\) and \(B^\zeta\)
 
alias.f90
Fourier-space bandpass filter on constraint force for spectral condensation
 
allocate_funct3d.f90
Allocate arrays required in funct3d()
 
allocate_ns.f90
Allocate arrays depending on the number of flux surfaces ns
 
allocate_nunv.f90
Allocate arrays depending on the number of Fourier coefficients nunv
 
aspectratio.f90
Compute aspect-ratio (independent of elongation): \(A = <R>/\sqrt{<a b>}\)
 
bcovar.f90
Compute the covariant components of the magnetic field \(B_\theta\), \(B_\zeta\)
 
bextrema.f90
Computes minimum and maximum \(|\mathbf{B}|\) along \(\zeta\) between two angle lines ( \(\theta = 0, \pi\))
 
bss.f90
Computes br, bphi, bz, bsubs on half-radial mesh
 
calc_fbal.f90
Compute flux-surface averaged radial force balance \(\nabla p\, - <\mathbf{j} \times \mathbf{B}>\)
 
convert.f90
Convert internal mode representation to standard form for output (coefficients of cos(mu-nv), sin(mu-nv) without internal mscale , nscale norms)
 
dbgout.f90
 
elongation.f90
Compute Waist thickness and height in \(\varphi = 0, \pi\) symmetry planes
 
eqfor.f90
Basis physics analysis and evaluaton of force balance. This is where most of the contents of the threed1 output file is computed
 
eqsolve.f90
Iteratively evolve the Fourier coefficients that specify the equilibrium
 
evolve.f90
Take a single time step in Fourier space to evolve the Fourier coefficients describing the equilibrium towards force balance
 
explore_spline_akima.f90
 
fext_fft.f90
Fourier transforms
 
fileout.f90
Write the output files
 
fixaray.f90
Allocate and fill some fixed-size arrays (only depending on Fourier resolution)
 
flip_theta.f90
Flip the definition of the poloidal angle in the user-provided initial guess for the LCFS geometry
 
forces.f90
Compute the real-space MHD forces
 
free_mem_funct3d.f90
Free memory required by funct3d()
 
free_mem_ns.f90
Free memory depending on the number of flux surfaces ns
 
free_mem_nunv.f90
Free arrays depending on the number of Fourier coefficients nunv
 
freeb_data.f90
Write out edge values of fields
 
fsym_fft.f90
Fourier transforms
 
fsym_invfft.f90
Extends function from ntheta2 to ntheta3 range
 
funct3d.f90
Evaluate the three-dimensional MHD energy functional. Think of this as the "forward model" that tells you the MHD forces in Fourier space given the Fourier coefficients of the flux surface geometry
 
functions.f
This module containes functions used by the profiles
 
getbsubs.f90
Solves the radial force balance \(\mathbf{B} \cdot B_s = F_s\) for \(B_s\) in real space using collocation
 
getcurmid.f90
Get current at midplane (?)
 
getfsq.f90
Compute total force residual on flux surfaces
 
guess_axis.f90
Computes guess for magnetic axis if user guess leads to initial sign change of Jacobian
 
heading.f90
Open output files and print banner message at the top
 
initialize_radial.f90
Allocates memory for radial arrays and initializes radial profiles
 
interp.f90
Interpolate \(R\), \(Z\) and \(\lambda\) on full grid
 
jacobian.f90
Evaulate the Jacobian of the transform from flux- to cylindrical coordinates
 
jxbforce.f90
Program for computing local \(\mathbf{K} \times \mathbf{B} = \nabla p\) force balance
 
lamcal.f90
Normalization parameters for \(\lambda\)
 
line_segment.f
This module containes code to create a profile constructed of line segments
 
magnetic_fluxes.f90
Compute toroidal and poloidal magnetic flux profiles
 
mercier.f90
Evaluate the Mercier stability criterion
 
mgrid_mod.f
 
open_output_files.f90
Open output files
 
parse_extension.f
Parse the first command-line argument into a filename
 
precondn.f90
Compute preconditioning matrix elements for \(R\), \(Z\) force
 
printout.f90
Print iteration progress to screen and threed1 output file
 
profil1d.f90
Compute phip and iota profiles on full grid
 
profil3d.f90
Compute three-dimensional profiles of flux-surface geometry etc
 
profile_functions.f
Parameterizations of profiles for rotational transform, toroidal current and pressure/mass
 
read_indata.f90
Read the INDATA namelist from a given input file
 
read_wout_mod.f
Reading of wout VMEC output file
 
readin.f90
Read the input file
 
reset_params.f90
Reset some flow-control parameters to their default values
 
residue.f90
Compute invariant residuals
 
residue_con.f90
Compute invariant residuals
 
residue_mhd.f90
Compute invariant residuals
 
restart_iter.f90
Save current or restore previous good state vector and reduce time step
 
safe_open_mod.f
Fault-tolerant file opening routines
 
scalfor.f90
Build forces from different contributions
 
solver.f90
Solve a linear system of equations using dgesv
 
spectrum.f90
Compute the spectral width of the surface geometry Fourier coefficients
 
spline_akima.f
 
spline_akima_int.f
 
spline_cubic.f
 
spline_cubic_int.f
 
symforce.f90
Symmetrize forces on restricted \(\theta\) interval \((0 \leq \theta \leq \pi \) so cos, sin integrals can be performed
 
symoutput.f90
Symmetrize some quantities so that they can be output (?)
 
symrzl.f90
Symmetrize \(R\), \(Z\) and \(\lambda\)
 
tolower.f90
Convert a string to lower case
 
tomnsp.f90
Fourier-transform forces from real space to Fourier space
 
tomnsp_con.f90
Fourier-transform forces from real space to Fourier space
 
totzsp.f90
Inverse-Fourier-transform geometry from Fourier space to real space
 
tridslv.f90
Solve a tridiagonal system of equations
 
vmec.f90
Main program of VMEC
 
wrout.f90
Write the output files of VMEC