| Module | Source File | Description |
|---|---|---|
| analytic_divertor_equilibrium_m | analytic_divertor_equilibrium_m.f90 | |
| array_generation_m | array_generation_m.f90 | Contains functions which create arrays |
| auxiliaries_test_diffusion_m | test_diffusion.f90 | Auxiliary routines for test_diffusion program |
| boundaries_perp_m | boundaries_perp.f90 | Setting of perpendicular boundary conditions |
| carthy_equilibrium_m | carthy_equilibrium_m.f90 | Module containing the implementation of an analytic tokamak equilibrium as described by Carthy (Phys. Plasmas 1999 https://doi.org/10.1063/1.873630) N.b. this equilibrium is axisymmetric - phi, when required, is not used |
| cerfons_equilibrium_m | cerfons_equilibrium_m.f90 | Module containing the implementation of an analytic tokamak equilibrium as described by Cerfon and Freidberg (Phys. Plasmas 2010 https://doi.org/10.1063/1.3328818) N.b. this equilibrium is axisymmetric - phi, when required, is not used |
| circular_equilibrium_m | circular_equilibrium_m.f90 | Definition of circular equilibrium, based on prescribed q-profile N.b. this equilibrium is axisymmetric - phi, when required, is not used |
| circular_toroidal_equilibrium_m | circular_toroidal_equilibrium_m.f90 | Implementation of a analytical toroidal equilibrium with nested circular fluxsurfaces. For an extensive reference we refer to: https://youjunhu.github.io/research_notes/tokamak_equilibrium_htlatex/ tokamak_equilibrium.html#x1-9400016 |
| comm_handling_m | comm_handling_m.f90 | Contains information about MPI processes and functionality to change the communicator. |
| connection_length_m | connection_length_m.f90 | Connection length and shortest distance to the target routines |
| constants_m | constants_m.f90 | Definition of constant parameters |
| coords_polar_m | coords_polar_m.f90 | Coordinate transformations Cartesian (x,y) <-> Polar (rho, theta) rho is normalized flux surface label theta is geometric poloidal angle, measured ccw from +x with respect to magnetic axis |
| csr_samples_m | csr_samples_m.f90 | Module specifying sample matrices |
| csrmat_m | csrmat_m.f90 | Algebra routines for - vectors - sparse matrices in csr format |
| descriptors_m | descriptors_m.f90 | definition of descriptors, i.e. integer parameters |
| device_handling_m | device_handling_m.f90 | Functionality to choose accelerator device (GPU)
When PARALLAX is compiled stand-alone, |
| divertor_equilibrium_m | divertor_equilibrium_m.f90 | |
| dommaschk_equilibrium_m | dommaschk_equilibrium_m.f90 | [*] W. Dommaschk, "Representations for vacuum potentials in stellarators", Computer Physics Communications 40, pg. 203 (1986) |
| dommaschk_equilibrium_netcdf_s | dommaschk_equilibrium_netcdf_s.f90 | |
| elementary_functions_m | elementary_functions_m.f90 | Elementary mathematical functions |
| equilibrium_factory_m | equilibrium_factory_m.f90 | Module capable of creating equilibrium objects |
| equilibrium_m | equilibrium_m.f90 | |
| error_handling_m | error_handling_m.f90 | Contains functionality for error handling |
| error_handler_s | error_handler_s.f90 | Contains functionality of the error handler type |
| error_info_s | error_info_s.f90 | Contains functionality of the error info type |
| euclidean_geo_m | euclidean_geo_m.f90 | Collection of routines related with Euclidean geometry |
| fieldline_tracer_m | fieldline_tracer_m.f90 | Field line tracing via the DOP853 integrator |
| flare_equilibrium_m | flare_equilibrium_m.f90 | Equilibrium based on FLARE: (field line analysis and reconstruction for 3D boundary plasma modeling) see H. Frerichs 2024 Nucl. Fusion 64 106034 DOI 10.1088/1741-4326/ad7303 |
| gauss_quadrature_m | gauss_quadrature_m.f90 | |
| helmholtz_netcdfio_m | helmholtz_netcdfio_m.f90 | I/O to NETCDF format for a Helmholtz problem, useful for debugging and benchmarks |
| helmholtz_operator_m | helmholtz_operator_m.f90 | Routines related with Helmholtz operator |
| helmholtz_solver_factory_m | helmholtz_solver_factory_m.f90 | Parameters and factory routine to create Helmholtz solver Factory routine for 2D Helmholtz solver |
| helpers_m | helpers_m.f90 | Module implementing useful routines for unit testing |
| interpolation_m | interpolation_m.f90 | |
| kisslinger_m | kisslinger_m.f90 | Contains boundary data for 3D magnetic configurations provided in Kisslinger's format, see [Y Feng and W7-X-team 2022 Plasma Phys. Control. Fusion 64 125012, DOI 10.1088/1361-6587/ac9ed9], Figure A3 |
| list_operations_m | list_operations_m.f90 | Routines operating on lists, like sorting, removing duplicates etc... |
| map_factory_m | map_factory_m.f90 | Creates the parallel mapping matrices. These matrices are needed for the construction of parallel operators. |
| map_factory_s | map_factory_s.f90 | |
| mesh_cart_m | mesh_cart_m.f90 | Module implementing the 2d mesh |
| mesh_2d_netcdfio_s | mesh_cart_netcdfio_s.f90 | Submodule related with I/O to netcdf of mesh |
| mesh_cart_build_s | mesh_cart_build_s.f90 | Submodule related with building of mesh |
| mesh_cart_communicate_s | mesh_cart_communicate_s.f90 | Submodule related with MPI communication of mesh |
| mesh_cart_reorder_s | mesh_cart_reorder_s.f90 | Module implementing index-reorder functionality for grids.
! 2020-03-10 Chichi Lalescu:
! In this module functionality related to the |
| mesh_cart_s | mesh_cart_s.f90 | Ordinary mesh routines |
| mpi_mapping_auxiliaries_m | mpi_mapping_auxiliaries_m.f90 | Auxiliary routines for MPI mapping across planes |
| multigrid_m | multigrid_m.f90 | Multigrid for solving the Helmholtz problem |
| multigrid_s | multigrid_s.f90 | |
| multigrid_solver_m | multigrid_solver_m.f90 | Multigrid solver for the Helmholtz problem |
| multigrid_solver_s | multigrid_solver_s.f90 | |
| numerical_equilibrium_m | numerical_equilibrium_m.f90 | Defines the |
| initialise_numerical_equilibrium_s | initialise_numerical_equilibrium.f90 | |
| PAccX_m | helmholtz_solver_mgmres_cxx_s.f90 | Module for interfacing with PAccX.
It's unclear whether this should remain here, or whether a Fortran
interface should be provided by the PAccX package itself.
TODO: If the module stays here, then the two parameters should be moved
to the |
| params_equi_circular_m | params_equi_circular_m.f90 | Module for parameter reading for the circular equilibrium type |
| params_equi_circular_toroidal_m | params_equi_circular_toroidal_m.f90 | Module for parameter reading for the circular toroidal equilibrium type |
| params_equi_dommaschk_m | params_equi_dommaschk_m.f90 | Module for parameter reading for the Dommaschk equilibrium type |
| params_equi_flare_m | params_equi_flare_m.f90 | Module for parameters of the flare equilibrium type |
| params_equi_salpha_m | params_equi_salpha_m.f90 | Module for parameter reading for the salpha equilibrium type |
| params_equi_slab_m | params_equi_slab_m.f90 | Module for parameter reading for the slab equilibrium type |
| perf_m | perf_m.f90 | Profiling |
| polar_grid_m | polar_grid_m.f90 | Module implementing polar grid The polar grid has dimension (nrho, ntheta) with uniform grid spacing rho is the radial coordinate as prescribed by the equilibrium theta is the geometric poloidal angle |
| polar_grid_s | polar_grid_s.f90 | |
| polar_map_factory_m | polar_map_factory_m.f90 | Creates matrix mapping from Cartesian to Polar grid |
| polygon_m | polygon_m.f90 | |
| polynomials_m | polynomials_m.f90 | Contains functionality related to polynomials, such as evaluation and derivates. Polynomials are represented by their coeffcients given as arrays. |
| precision_m | precision_m.f90 | Definition of precision |
| reldiff_m | reldiff_m.f90 | |
| root_finding_m | root_finding_m.f90 | Routines for finding zeros |
| safety_factor_m | safety_factor_m.f90 | Computes safety factor N.B. This module is currently axisymmetric - can only calculate pitch and safety factor for 2D equilibria PHITEMP parameter needed for equilibrium interface |
| salpha_equilibrium_m | salpha_equilibrium_m.f90 | Module containing the implementation of an salpha like equilibrium type. N.b. this equilibrium is axisymmetric - phi, when required, is not used |
| screen_io_m | screen_io_m.f90 | parameter and routines usefule for screen I/O |
| slab_equilibrium_m | slab_equilibrium.f90 | Definition of slab equilibrium N.b. this equilibrium is axisymmetric - phi, when required, is not used |
| snapshots_test_diffusion_m | test_diffusion.f90 | Auxiliary module for test_diffusion for writing snapshopts to file |
| solver3d_factory_m | solver3d_factory_m.f90 | Factory routine for solver3d |
| solver3d_m | solver3d_m.f90 | 3D solvers, involving MPI communication |
| solver3d_CERFACS_s | solver3d_CERFACS_s.f90 | Iterative MPI solver based on CERFACS library |
| solver3d_PIM_s | solver3d_PIM_s.f90 | Iterative MPI solver based on PIM library [Rudnei Dias da Cunha and Tim Hopkins, Applied NumericalMathematics 16:33-50 (1995), https://doi.org/10.1016/0168-9274(95)00017-O] |
| splitting_m | splitting_m.f90 | Splitting methods |
| splitting_gauss_seidel_cpu_s | splitting_gauss_seidel_cpu_s.f90 | Splitting solver with Gauss-Seidel splitting method on CPU |
| splitting_gauss_seidel_redblack_cpu_s | splitting_gauss_seidel_redblack_cpu_s.f90 | Splitting solver with Red-Black Gauss-Seidel splitting method on CPU |
| splitting_jacobi_cpu_s | splitting_jacobi_cpu_s.f90 | Splitting solver with Jacobi splitting method on CPU |
| status_codes_m | status_codes_m.f90 | Contains a collection of PARALLAX error and warning (=status) codes |
| testfunctions_m | testfunctions_m.f90 | |
| vis_vtk3d_m | vis_vtk3d_m.f90 | 3d Visualisation of mesh: Lifts mesh to 3d (aligned boxes) and outpots to vtk |
| zonal_averages_factory_m | zonal_averages_factory_m.f90 | Creates matrices to compute polar averages - flux-surface average (which is actually a volume average) - surface average (an actual surface average, e.g. for computation of fluxes) |