| Module | Source File | Description |
|---|---|---|
| allocate_data_cuda | allocate_data_cuda.f90 | Controls allocation of CUDA data |
| boundaries_braginskii_m | boundaries_braginskii_m.f90 | Parameters |
| boundaries_neutrals_m | boundaries_neutrals_m.f90 | |
| checkpoint_monitor_m | checkpoint_monitor_m.f90 | Module containing general driver for monitoring checkpoints |
| checksum_braginskii_m | checksum_braginskii_m.f90 | Some basic diagnostics, execudeted during runtime |
| comm_handler_m | comm_handler_m.f90 | Handles MPI topology and communicators |
| commons_misc_m | commons_misc_m.f90 | Miscellaneous routines that are common to all models |
| communication_planes_m | communication_planes_m.f90 | Communication among planes Non-blocking communication allowing overlap of communication and computation |
| compute_electron_density_m | compute_electron_density_m.f90 | Compute electron density using communication within species |
| coronal_impurities_m | coronal_impurities_m.f90 | Module for reading and interpolating tabulated rate coefficients for radiation rates of impurities as a function of electron temperature Dependency on electron density is small and thus neglected |
| create_buffer_m | create_buffer_m.f90 | Contains routines to create buffer function |
| descriptors_braginskii_m | descriptors_braginskii_m.f90 | Definition of additional descriptors not available from PARALLAX |
| descriptors_neutrals_m | descriptors_neutrals_m.f90 | Definition of additional descriptors not available from PARALLAX |
| diagnostic_variable_m | diagnostic_variable_m.f90 | Definition of diagnostic variable |
| diagnostics_braginskii_m | diagnostics_braginskii_m.f90 | Wrapper for BRAGINSKII model diagnostics Note: The whole diagnostics framework only works foar axisymmetric equilibria |
| diagnostics_braginskii_s | diagnostics_braginskii_s.f90 | |
| diagnostics_field_m | diagnostics_field_m.f90 | Module for writing out full field diagnostics for the BRAGINSKII model |
| diagnostics_group_m | diagnostics_group_m.f90 | Base module for diagnostic groups |
| diagnostics_helpers_m | diagnostics_helpers_m.f90 | Module containing useful diagnostic computation routines |
| diagnostics_lineout_m | diagnostics_lineout_m.f90 | Module for computing lineout diagnostics for the BRAGINSKII model |
| diagnostics_lineout_params_s | diagnostics_lineout_params_s.f90 | Parameters for the diagnostics module related to lineouts |
| diagnostics_packet_m | diagnostics_packet_m.f90 | Module for diagnostics packet |
| diagnostics_scalar_m | diagnostics_scalar_m.f90 | Module for computing scalar diagnostics for the BRAGINSKII model |
| diagnostics_template_m | diagnostics_template_m.f90 | Performs diagnostics on state |
| diagnostics_zonal_m | diagnostics_zonal_m.f90 | Module for computing zonal diagnostics for the BRAGINSKII model |
| diff_coeff_neutrals_m | diff_coeff_neutrals_m.f90 | Module for calculating the diffusion coefficient D_N |
| equilibrium_storage_m | equilibrium_storage_m.f90 | Storage of equilibrium data on mesh enabling lookup instead of computation Can be used for faster performance at certain locations |
| equilibrium_storage_netcdf_s | equilibrium_storage_netcdf_s.f90 | Routines related with NETCDF I/O of equilibroim_storage |
| error_handling_grillix_m | error_handling_grillix_m.f90 | Contains functionality for error handling in GRILLIX, based on PARALLAX error handling. |
| facade_params_m | facade_params_m.f90 | Holds all parameters of BRAGINSKII model and neutral parameters This is a facade module to ease handling of parameters |
| gyroviscosity_m | gyroviscosity_m.f90 | Computations related with gyroviscosity |
| heat_flux_m | heat_flux_m.f90 | Calculation of the heat flux according to the chosen model |
| helpers_grillix_m | helpers_grillix_m.f90 | GRILLIX specific helper routines for unit tests |
| helpers_mesh_sample_m | helpers_mesh_sample_m.f90 | Creates test mehses that can be used further on for unit tests Mesh itself is tested within fci-core |
| immersed_template_m | immersed_template_m.f90 | Routines related with parallel (Sheath) boundaries treated with immersion method |
| init_braginskii_m | init_braginskii_m.f90 | Sets initial state for BRAGINSKII model |
| init_braginskii_profile_s | init_braginskii_profile_s.f90 | Routines for initialisation of variables with profile |
| init_diffusion_m | init_diffusion_m.f90 | Sets initial state for diffusion model |
| init_neutrals_m | init_neutrals_m.f90 | Sets initial state for neutrals module |
| init_template_m | init_template_m.f90 | Creates an initial state |
| init_zhdanov_m | init_zhdanov_m.f90 | Sets initial state for ZHDANOV model |
| init_zhdanov_profile_s | init_zhdanov_profile_s.f90 | Routines for initialisation of variables with profile |
| inplane_operators_m | inplane_operators_m.f90 | Operators acting within poloidal plane (~perpendicular) |
| inplane_operators_s | inplane_operators_s.f90 | |
| iol_source_m | iol_source_m.f90 | Compute ion orbit loss source/sink coupling to ion-orbit-loss-standalone see https://gitlab.mpcdf.mpg.de/phoenix/ion-orbit-loss-standalone [R.W. Brzozowski III, Phys. Plasmas 26:042511 (2019), https://doi.org/10.1063/1.5075613] |
| iol_source_eval_s | iol_source_eval_s.f90 | Routines related with evaluation of IOL sources |
| iol_source_init_s | iol_source_init_s.f90 | Routines related with initialisation of IOL sources |
| iol_source_io_s | iol_source_io_s.f90 | Routines related with I/O of IOL sources |
| mask_data_m | mask_data_m.f90 | Mask arrays based on static_data set |
| mask_data_netcdf_s | mask_data_netcdf_s.f90 | Routines related with NetCDF I/O of mask_data |
| mesh_index_helpers_m | mesh_index_helpers_m.f90 | Module containing useful routines for handling mesh indices |
| mms_braginskii_circular_m | mms_braginskii_circular_m.f90 | MMS solutions and sources for braginskii model in circular geometry |
| mms_braginskii_m | mms_braginskii_m.f90 | Implementation of Method of Manufactured Solutions for BRAGINSKII model in circular geometry |
| mms_braginskii_slab_m | mms_braginskii_slab_m.f90 | MMS solutions and sources for braginskii model in slab geometry |
| mms_diffusion_circular_m | mms_diffusion_circular_m.f90 | MMS Solutions and Sources for diffusion model in circular geometry |
| mms_diffusion_m | mms_diffusion_m.f90 | Method of Manufactured Solutions for diffusion model |
| mms_diffusion_slab_m | mms_diffusion_slab_m.f90 | MMS Solutions and Sources for diffusion model in slab geometry |
| mms_neutrals_circular_m | mms_neutrals_circular_m.f90 | MMS solutions and sources for braginskii model in circular geometry |
| mms_neutrals_m | mms_neutrals_m.f90 | Implementation of Method of Manufactured Solutions for the Neutrals model |
| mms_neutrals_slab_m | mms_neutrals_slab_m.f90 | MMS solutions and sources for Neutrals model in slab geometry |
| mms_template_m | mms_template_m.f90 | Method of Manufactured Solutions for template model |
| mms_template_circular_toroidal_s | mms_template_circular_toroidal_s.f90 | MMS Solutions and Sources for template model in circular toroidal geometry |
| mms_template_slab_s | mms_template_slab_s.f90 | MMS Solutions and Sources for template model in slab geometry |
| mms_zhdanov_m | mms_zhdanov_m.f90 | Method of Manufactured Solutions for Zhdanov model Note: Usage of camel case conventiuon for consistency in naming with mathematica |
| mms_zhdanov_circular_s | mms_zhdanov_circular_s.f90 | MMS Solutions and Sources for Zhdanov model in circular geometry |
| mms_zhdanov_slab_s | mms_zhdanov_slab_s.f90 | MMS Solutions and Sources for Zhdanov model in slab geometry |
| model_apar_shift_m | model_apar_shift_m.f90 | Implementation of apar_shift model |
| model_braginskii_m | model_braginskii_m.f90 | Implementation of BRAGINSKII model |
| model_diffusion_m | model_diffusion_m.f90 | Implementation of diffusion model |
| model_template_m | model_template_m.f90 | Implementation of a template model, from where development of a new model can be started. |
| model_zhdanov_m | model_zhdanov_m.f90 | Implementation of ZHDANOV model |
| multistep_m | multistep_m.f90 | Time-integration methods based on multistep methods |
| karniadakis_s | karniadakis_s.f90 | |
| multistep_storage_s | multistep_storage_s.f90 | |
| neutrals_module_m | neutrals_module_m.f90 | Implementation of NEUTRALS model |
| nonaligned_operators_m | nonaligned_operators_m.f90 | Implementation of parallel operators with non-aligned methods, These methods are mostly for testing purpose or exploring numerical techniques, i.e. there is no focus on performance optimisation and no unit tests were created for these routines - Guenter's scheme second order: (see S. Guenter et al., Journal of Computational Physics 209 (2005) 354–370 - Guenter's scheme fourth order: (see S. Guenter et al., Journal of Computational Physics 226 (2007) 2306-2316 |
| ohm_electromagnetic_braginskii_m | ohm_electromagnetic_braginskii_m.f90 | This module solves the electromagnetic and inertial part in Ohm's law |
| parallel_map_m | parallel_map_m.f90 | Parallel operators and mapping |
| parallel_map_build_s | parallel_map_build_s.f90 | Rotines related with build of map |
| parallel_map_netcdf_s | parallel_map_netcdf_s.f90 | Rotines related with netcdf I/O |
| parallel_map_operators_cuda_s | parallel_map_operators_cuda_s.f90 | Parallel operator routines (mapping, parallel gradient/divergence) CUDA implementation |
| parallel_map_operators_s | parallel_map_operators_s.f90 | Parallel operator routines (mapping, parallel gradient/divergence) |
| parallel_map_s | parallel_map_s.f90 | |
| parallel_target_flux_m | parallel_target_flux_m.f90 | Module related to parallel fluxes onto the target plates |
| parallel_target_flux_build_s | parallel_target_flux_build_s.f90 | Routines for building parallel target markers |
| parallel_target_flux_compute_s | parallel_target_flux_compute_s.f90 | Routines for computing parallel fluxes into target |
| parallel_target_flux_netcdf_s | parallel_target_flux_netcdf_s.f90 | Routines for parallel target marker file I/O |
| parallelisation_setup_m | parallelisation_setup_m.f90 | Initialises parallelisation framework |
| params_apar_shift_m | params_apar_shift_m.f90 | Parameters for the apar shift model Parameters related to the evolution equation of apar_shift |
| params_brag_boundaries_parpen_m | params_brag_boundaries_parpen_m.f90 | Parameters for the BRAGINSKII model related with boundaries_parpen |
| params_brag_boundaries_perp_m | params_brag_boundaries_perp_m.f90 | Parameters for the BRAGINSKII model related with boundaries_perp |
| params_brag_buffer_m | params_brag_buffer_m.f90 | Parameters for the BRAGINSKII model related with buffer |
| params_brag_floors_m | params_brag_floors_m.f90 | Parameters for the BRAGINSKII model related with floors |
| params_brag_init_select_m | params_brag_init_select_m.f90 | Parameters related with selection of initial state |
| params_brag_model_m | params_brag_model_m.f90 | Parameters for the BRAGINSKII model related with model, i.e. physics parameters |
| params_brag_numdiss_m | params_brag_numdiss_m.f90 | Parameters for the BRAGINSKII model related with numerical dissipation |
| params_brag_pardiss_model_m | params_brag_pardiss_model_m.f90 | Parameters for the BRAGINSKII model related with pardiss_model |
| params_brag_parsolver_te_m | params_brag_parsolver_te_m.f90 | Parameters for parallel aligned 3D solver for electron temperature Included via template with preprocessor macros |
| params_brag_parsolver_ti_m | params_brag_parsolver_ti_m.f90 | Parameters for parallel aligned 3D solver for ion temperature Included via template with preprocessor macros |
| params_brag_parsolver_upar_m | params_brag_parsolver_upar_m.f90 | Parameters for parallel aligned 3D solver for parallel ion velocity Included via template with preprocessor macros |
| params_brag_sources_external_select_m | params_brag_sources_external_select_m.f90 | Parameters for external sources in Braginskii model |
| params_brag_switches_m | params_brag_switches_m.f90 | Parameters for the Braiginskii model related with switches for individual terms |
| params_diffusion_boundaries_parpen_m | params_diffusion_boundaries_parpen_m.f90 | Parameters for the DIFFUSION model related with parallel penalisation boundaries |
| params_diffusion_boundaries_perp_m | params_diffusion_boundaries_perp_m.f90 | Parameters for the DIFFUSION model related with perpendicular boundaries |
| params_diffusion_init_select_m | params_diffusion_init_select_m.f90 | Parameters for the DIFFUSION model related with selection of initial state |
| params_diffusion_m | params_diffusion_m.f90 | Holds all parameters of diffusion model |
| params_diffusion_mms_m | params_diffusion_mms_m.f90 | Parameters for the DIFFUSION model related with MMS |
| params_diffusion_model_m | params_diffusion_model_m.f90 | Parameters for diffusion model |
| params_diffusion_parsolver_m | params_diffusion_parsolver_m.f90 | Parameters for parallel aligned 3D solver Included via template with preprocessor macros |
| params_diffusion_tstep_m | params_diffusion_tstep_m.f90 | Parameters for the DIFFUSION model related with time-stepping |
| params_feature_selection_m | params_feature_selection_m.f90 | Paramete related with selection of features |
| params_geometry_m | params_geometry_m.f90 | Parameter for selection of equilibrium |
| params_hsolver_m | params_hsolver_m.f90 | Parameters for elliptic (2D) solvers |
| params_impy_coronal_m | params_impy_coronal_m.f90 | Parameters related with cornal impurity |
| params_multigrid_setup_m | params_multigrid_setup_m.f90 | Parameter for setup of multigrids |
| params_neut_boundaries_parpen_m | params_neut_boundaries_parpen_m.f90 | Parameters for the neutrals model related with parallel boundary conditions |
| params_neut_boundaries_perp_m | params_neut_boundaries_perp_m.f90 | Parameters for the neutrals model related with peprendicyular boundary conditions |
| params_neut_data_paths_m | params_neut_data_paths_m.f90 | Parameters for the filepaths of neutrals data |
| params_neut_floors_m | params_neut_floors_m.f90 | Parameters for the neutrals model related with floors |
| params_neut_init_select_m | params_neut_init_select_m.f90 | Parameters for the neutrals model related selection of initial state |
| params_neut_model_m | params_neut_model_m.f90 | Parameters for the neutrals model related with model, i.e. physics parameters |
| params_neut_switches_m | params_neut_switches_m.f90 | Parameters for the neutrals model related with switches |
| params_template_m | params_template_m.f90 | Contains all parameters related with template model |
| io_params_template_features_s | io_params_template_features_s.f90 | Handles I/O of timestep parameters of template models |
| io_params_template_model_s | io_params_template_model_s.f90 | Handles I/O of model parameters of template models |
| io_params_template_parbnd_s | io_params_template_parbnd_s.f90 | Handles I/O of parameters related with parallel (Sheath) boundaries of template models |
| io_params_template_paths_s | io_params_template_paths_s.f90 | Handles I/O of paths parameters of template models |
| io_params_template_tstep_s | io_params_template_tstep_s.f90 | Handles I/O of timestep parameters of template models |
| params_tstep_m | params_tstep_m.f90 | Parameters for the Braginskii model related with time-stepping |
| params_zhdanov_general_m | params_zhdanov_general_m.f90 | General parameters for the ZHDANOV model are stored here and its input is controlled |
| params_zhdanov_species_m | params_zhdanov_species_m.f90 | Species related parameters for the ZHDANOV model are stored here and its input is controlled |
| penalisation_braginskii_m | penalisation_braginskii_m.f90 | |
| penalisation_m | penalisation_m.f90 | Penalisation |
| penalisation_build_s | penalisation_build_s.f90 | Routines related with building penalisation |
| penalisation_netcdf_s | penalisation_netcdf_s.f90 | Routines related with I/O of penalisation |
| penalisation_s | penalisation_s.f90 | |
| penalisation_wip3d_build_s | penalisation_wip3d_build_s.f90 | Routines related with building penalisation for 3D stellarator geometries This is yet an experimental feature |
| penalisation_neutrals_m | penalisation_neutrals_m.f90 | |
| perp_bnd_flux_m | perp_bnd_flux_m.f90 | Module for computing perpendicular fluxes through domain |
| perp_bnd_flux_build_s | perp_bnd_flux_build_s.f90 | Routines related with building perpendicular boundary flux module |
| perp_bnd_flux_netcdf_s | perp_bnd_flux_netcdf_s.f90 | Routines for storing and reading boundary polygons related to perpendicular boundary flux module |
| physical_constants_m | physical_constants_m.f90 | Physical constants |
| polar_operators_m | polar_operators_m.f90 | Implementation of polar operators, i.e. - map from Cartesian to Polar mesh - surface average - flux surface average |
| polarisation_braginskii_m | polarisation_braginskii_m.f90 | This module handles the polarisation part in the quasi-neutrality equation, particularly the time discretisation |
| polars_m | polars_m.f90 | Polar grid and map operators |
| polars_s | polars_s.f90 | |
| polygon_in_mesh_m | polygon_in_mesh_m.f90 | Definition of polygon running within mesh |
| polygon_in_mesh_build_s | polygon_in_mesh_build_s.f90 | Routines related with building penalisation |
| polygon_in_mesh_netcdf_s | polygon_in_mesh_netcdf_s.f90 | Routines related with I/O of polygon_in_mesh |
| precision_grillix_m | precision_grillix_m.f90 | Definition of precision for GRILLIX |
| rate_coeff_neutrals_m | rate_coeff_neutrals_m.f90 | Module for calculating fits for rate coefficients k_iz, k_rec and cooling rate coefficients w_iz, p_rec |
| recycling_m | recycling_m.f90 | Module for computing plasma/neutrals source rates due to recycling |
| runge_kutta_m | runge_kutta_m.f90 | Runge-Kutta time stepping scheme - Only fully explicit - Right hand side via call to external subroutine - More generic than KArniadakis, i.e. not relying on variables or meshes |
| runge_kutta_s | runge_kutta_s.f90 | |
| snapshot_m | snapshot_m.f90 | Writing and reading snapshot files |
| snapshots_helpers_m | snapshots_helpers_m.f90 | Module containing useful routines for handling snapshots |
| solver_aligned3d_m | solver_aligned3d_m.f90 | Routines for 3d elliptic solver along magnetic field lines |
| solve_aligned3d_adjoint_s | solve_aligned3d_adjoint_s.f90 | Contains routine that performs a 3D aligned solve for adjoint elliptic problem |
| solve_aligned3d_s | solve_aligned3d_s.f90 | Contains routine that performs a 3D aligned solve for canonical elliptic problem |
| sources_external_m | sources_external_m.f90 | External sources |
| startups_m | startups_m.f90 | Some generic routines for startup phase |
| state_template_m | state_template_m.f90 | Holds current state and handles its I/O via netcdf |
| state_template_netcdf_s | state_template_netcdf_s.f90 | NetCDF I/O for state_template |
| static_data_m | static_data_m.f90 | Holds static data that is time independent. |
| static_data_bnd_flux_s | static_data_bnd_flux_s.f90 | Handles static data related with boundary flux |
| static_data_equi_on_mesh_s | static_data_equi_on_mesh_s.f90 | Handles static data related with equi_on_mesh |
| static_data_equi_s | static_data_equi_s.f90 | Handles static data related with equilibrium |
| static_data_field_solver_s | static_data_field_solver_s.f90 | Handles static data related with field_solver |
| static_data_map_s | static_data_map_s.f90 | Handles static data related with map |
| static_data_masks_s | static_data_masks_s.f90 | Handles static data related with masks |
| static_data_multigrid_s | static_data_multigrid_s.f90 | Handles static data related with multigrid |
| static_data_parbnd_immersed_s | static_data_parbnd_immersed_s.f90 | Handles static data related with bnd_immersed |
| static_data_parbnd_taylor_s | static_data_parbnd_taylor_s.f90 | Handles static data related with parbnd_taylors |
| static_data_polars_s | static_data_polars_s.f90 | Handles static data related with polars |
| static_data_vtk_s | static_data_vtk_s.f90 | Handles built of VTK meshes or visualisation |
| status_codes_grillix_m | status_codes_grillix_m.f90 | Contains a collection of GRILLIX error and warning (=status) codes |
| taylor_template_m | taylor_template_m.f90 | Routines related with parallel (Sheath) boundaries treated with Taylor's method |
| technical_constants_m | technical_constants_m.f90 | Technical constants |
| test_apar_fluct_evaluate_m | test_apar_fluct_evaluate_m.pf | Tests regarding apar_shift module Test evaluation of apar_fluct in an axisymmetric geomtery which involves toroidal average |
| test_apar_shift_m | test_apar_shift_m.pf | Tests regarding apar_shift module Sets up an analytical expression of apar varying in time Solve apar_shift according to the prescribed apar To check the convergence, you need decrease dtau manually in '/src/models/braginskii/evolution_apar_shift/tests/params_apar_shift.in' |
| test_checkpoint_monitor_m | test_checkpoint_monitor_m.pf | Tests regarding the checkpoint monitor module Sets up several monitors and simulates a timestepping loop, checking their state and tallies at each timestep |
| test_comm_handler_m | test_comm_handler_m.pf | |
| test_communication_planes_m | test_communication_planes_m.pf | Test of module communication_planes_m |
| test_diagnostics_helpers_m | test_diagnostics_helpers_m.pf | |
| test_equilibrium_storage_m | test_equilibrium_storage_m.pf | |
| test_masked_data_m | test_masked_data_m.pf | tests on masked_data |
| test_mesh_index_helpers_m | test_mesh_index_helpers_m.pf | |
| test_parallel_map3d_m | test_parallel_map3d_m.pf | Tests for the map routines in 3d stellarator geometries |
| test_parallel_map_m | test_parallel_map_m.pf | |
| test_parallel_map_operators_m | test_parallel_map_operators_m.pf | Test of parallel operators within map module |
| test_parallel_target_flux_m | test_parallel_target_flux_m.pf | Tests of parallel target flux module |
| test_params_diffusion_m | test_params_diffusion_m.pf | Tests of parameter handling of diffusion model |
| test_penalisation_m | test_penalisation_m.pf | Tests for most of the penalisation module |
| test_polar_operators_m | test_polar_operators_m.pf | |
| test_polygon_in_mesh_m | test_polygon_in_mesh_m.pf | Unit tests for polygon_on_mesh_t |
| test_timestepping_m | test_timestepping_m.pf | |
| test_type_conversion_m | test_type_conversion_m.pf | Tests of type conversion module |
| test_variable_m | test_variable_m.pf | Test of module variable_mk |
| timestep_braginskii_m | timestep_braginskii_m.f90 | Implementation of BRAGINSKII model |
| timestep_diffusion_m | timestep_diffusion_m.f90 | Implementation of diffusion model |
| timestep_template_m | timestep_template_m.f90 | Advances template model by one timestep |
| component_mms_sources_s | component_mms_sources_s.f90 | Application of MMS sources and boundary conditions |
| component_pardiff_s | component_pardiff_s.f90 | Implementation of paralllel diffusion terms |
| component_partransp_s | component_partransp_s.f90 | Implementation of paralllel transport model |
| component_perptransp_s | component_perptransp_s.f90 | Implementation of perpendicular (diffusive) transport model |
| timestep_zhdanov_m | timestep_zhdanov_m.f90 | Implementation of ZHDANOV model |
| type_conversion_m | type_conversion_m.f90 | Functions for converting datatypes |
| variable_m | variable_m.f90 | Definition of variable |
| variable_halos_s | variable_halos_s.f90 | Routines related with handling halos of variables |
| variable_netcdf_s | variable_netcdf_s.f90 | Routines related with NETCDF I/O of variables |
| variable_s | variable_s.f90 | |
| variable_set_s | variable_set_s.f90 | Routines related with setting variable values |