|
| 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.
|
|