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